代码版本及环境
我运行的是github上的voxelmorph官方代码址:https://github.com/voxelmorph/voxelmorph
选用vm-dev的tensorflow版本,服务器的tensorflow和keras版本均为2.8.0
问题一
module 'neurite' has no attribute 'modelio'
这个问题恶心了我好长时间!!!!
问题原因:neurite包是本文作者写的,如果是通过pip安装的neurite包,就没有modelio这个文件,自然就会报错(可能是项目迭代过程中删除了这个文件?)
解决方案:这个包可以在github找到,地址为:https://github.com/adalca/neurite 下载完成后,将下面选中的文件,全部拖入到服务器环境旧的neurite包中(说白了就是把文件覆盖,添加进去)如下图,图1要拖入的文件,图2服务器的neurite包
问题二:
ModuleNotFoundError: No module named 'pystrum.pynd.patchlib'
问题原因:同上,pip安装的包缺东西
解决方案:旧的包依旧保留,下载新的包,地址为:https://github.com/adalca/pystrum 下载完成后,进行替换,如下图
问题三:
包的问题解决了,运行后跳出来一大堆东西,又报错了,截取了关键的地方
问题原因:tensorflow版本过高,这个代码似乎是1.X的版本才能运行,我的是2.8.0
解决方案:搜了一下,加一行下面代码到train.py文件就好
tf.compat.v1.experimental.output_all_intermediates(True)
位置在开头处,如下
最后终于跑起来了!!!!!真不容易!!!