由于某些原因,我得到的模块对象不能在这段代码上调用错误。我不明白这个错误背后的原因?造成这一错误的原因是什么?我在网上发现了一个常见的解释,即这可能是由于类似的模块和函数名造成的。但我无法修复它。
def Dataset_loader(DIR, RESIZE, sigmaX=10):
IMG = []
read = lambda imname: np.asarray(Image.open(imname).convert("RGB"))
for IMAGE_NAME in tqdm(os.listdir(DIR)):
PATH = os.path.join(DIR,IMAGE_NAME)
_, ftype = os.path.splitext(PATH)
if ftype == ".png":
img = read(PATH)
img = cv2.resize(img, (RESIZE,RESIZE))
IMG.append(np.array(img))
return IMG
ben_train = np.array(Dataset_loader('D:/regionGrowing_MLT/AllSavedRGBImages/Training/Benign',224))
mal_train = np.array(Dataset_loader('D:/regionGrowing_MLT/AllSavedRGBImages/Training/Malignant',224))
ben_test = np.array(Dataset_loader('D:/regionGrowing_MLT/AllSavedRGBImages/Test/Benign',224))
mal_test = np.array(Dataset_loader('D:/regionGrowing_MLT/AllSavedRGBImages/Test/Malignant',224))上面的代码将向我抛出以下错误消息:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-25-0c6ae6585a38> in <module>
13 return IMG
14
---> 15 ben_train = np.array(Dataset_loader('D:/regionGrowing_MLT/AllSavedRGBImages/Training/Benign',224))
16 mal_train = np.array(Dataset_loader('D:/regionGrowing_MLT/AllSavedRGBImages/Training/Malignant',224))
17 ben_test = np.array(Dataset_loader('D:/regionGrowing_MLT/AllSavedRGBImages/Test/Benign',224))
<ipython-input-25-0c6ae6585a38> in Dataset_loader(DIR, RESIZE, sigmaX)
2 IMG = []
3 read = lambda imname: np.asarray(Image.open(imname).convert("RGB"))
----> 4 for IMAGE_NAME in tqdm(os.listdir(DIR)):
5 PATH = os.path.join(DIR,IMAGE_NAME)
6 _, ftype = os.path.splitext(PATH)
~\anaconda3\lib\site-packages\pyforest\_importable.py in __call__(self, *args, **kwargs)
47 def __call__(self, *args, **kwargs):
48 self.__maybe_import__()
---> 49 return eval(self.__imported_name__)(*args, **kwargs)
50
51 def __repr__(self, *args, **kwargs):
TypeError: 'module' object is not callable如有任何建议,将不胜感激
发布于 2022-06-09 07:47:48
您可能已经将tqdm导入为import tqdm。现在,您正在尝试调用脚本中的模块。你要做的是from tqdm import tqdm。要知道您正在从具有相同名称的模块中导入函数。它在python包中很常见,您必须注意它。或者,您也可以将其称为tdqm.tdqm(...)。然后,您将显式地声明模块和函数。
https://stackoverflow.com/questions/72556367
复制相似问题