python - U-net:TypeError:__call__() 缺少 1 个必需的位置参数:“输入”
问题描述
我正在研究基于 u-net 的 BraTS Challenge 提供的脑肿瘤数据集的分割。在训练阶段定义模型后发生错误。
错误是:
TypeError Traceback (most recent call last)
<ipython-input-56-d745053f879c> in <module>()
1 Folders = ReadDataset(PATH)
2 TrainGenerator = MyGenerator(PATH)
----> 3 Model=unet()
4 Model.fit_generator(TrainGenerator, epochs=1, steps_per_epoch=25)
5 #for Index, Folder in enumerate(Folders):
<ipython-input-54-baecfef1ddd3> in unet(pretrained_weights, input_size)
41 conv10 = Conv2D(1, 1, activation = 'sigmoid')(conv9)
42
---> 43 model = Model(input = inputs, output = conv10)
44
45 model.compile(optimizer = Adam(lr = 1e-4), loss = 'binary_crossentropy', metrics = ['accuracy'])
TypeError: __call__() missing 1 required positional argument: 'inputs'
def unet(pretrained_weights = None,input_size = (240, 240,4)):
inputs = Input(input_size)
conv1 = Conv2D(64, 3, activation = 'relu', padding = 'same',
kernel_initializer = 'he_normal')(inputs)
conv1 = Conv2D(64, 3, activation = 'relu', padding = 'same',
kernel_initializer = 'he_normal')(conv1)
.
.
.
conv10 = Conv2D(1, 1, activation = 'sigmoid')(conv9)
model = Model(input = inputs, output = conv10)
model.compile(optimizer = Adam(lr = 1e-4), loss = 'binary_crossentropy',
metrics = ['accuracy'])
return model
训练代码是:
Folders = ReadDataset(PATH)
TrainGenerator = MyGenerator(PATH)
Model=unet()
Model.fit_generator(TrainGenerator, epochs=1, steps_per_epoch=25)
Train, Test, Valid = Split(Folders, 0.8)
我只是想获得一些结果,因为我是深度学习的初学者。任何帮助将不胜感激,我将不胜感激。
解决方案
旧版本的 Keras 要求您使用“输入”而不是“输入”作为模型的第一个输入参数的名称。检查您是否可以更新您的 Keras 版本(当前稳定版为 2.2.5)或尝试以下行:
model = Model(inputs = inputs, outputs = conv10)
可能:
model = Model(inputs = [inputs], outputs = [conv10])
代替:
model = Model(input = inputs, output = conv10)
推荐阅读
- apache - Tomcat 服务器上的 HTTP 洪水导致问题
- spring - 在每次测试之前触发 Flyway 迁移
- github-actions - GitHub Actions:如何在容器中运行作业
- javascript - 无法使用条件渲染渲染不同的结果
- three.js - 如何知道 react-three-fiber 中“Canvas”的所有属性?
- dataframe - Spark 数据集过滤器元素
- javascript - React material-ui 工具提示悬停(当项目被禁用时触发事件触发器)
- python - 过滤出预设日期和时间的数据框
- google-cloud-platform - 如何在 GCP 中为未知的自定义指标创建警报策略
- cucumber - 黄瓜小黄瓜在同一场景中使用不同的数据文件