菜尼奥排错之merge6 = merge([drop4,up6], mode = ‘concat‘...)TypeError: ‘module‘ object is not callable

 环境版本:

Ubuntu 18.04.2 LTS

Nvidia GeForce RTX2080super CUDA Version 10.0

tensorflow-gpu 1.13.1

keras 2.2.4-tf

project https://github.com/decouples/Unet unet.py脚本文件


报错信息:

诸如此类:

merge6 = merge([drop4,up6], mode = 'concat'...)
TypeError: 'module' object is not callable

本人是在运行Unet时出现的此问题:

Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
Traceback (most recent call last):
  File "unet.py", line 186, in <module>
    myunet.train()
  File "unet.py", line 165, in train
    model = self.get_unet()
  File "unet.py", line 129, in get_unet
    merge6 = merge([drop4,up6], mode = 'concat', concat_axis = 3)
TypeError: 'module' object is not callable

原因分析:

tensorflow里keras版本不同造成的,调用方法改变了,需要修改下代码即可。


解决方案:

1.脚本前keras.layers中由插入merge改为concatenate;

2.脚本中merge函数替换为concatenate函数,具体如下。 

#修改之前
from keras.layers import merge

merge6 = merge([drop4,up6], mode = 'concat', concat_axis = 3)
merge7 = merge([conv3,up7], mode = 'concat', concat_axis = 3)
merge8 = merge([conv2,up8], mode = 'concat', concat_axis = 3)
merge9 = merge([conv1,up9], mode = 'concat', concat_axis = 3)

#修改之后
from tensorflow.python.keras.layers import concatenate

merge6 = concatenate([drop4,up6],axis=3)
merge7 = concatenate([conv3,up7],axis=3) 
merge8 = concatenate([conv2,up8],axis=3)
merge9 = concatenate([conv1,up9],axis=3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值