当我想测试我从另一台计算机创建的模型时,我遇到了困难。
我的运行模型代码是:
import tensorflow.keras.models as M
org_net = M.load_model(route_net, compile=True, custom_objects={'B': keras.backend,'diceloss':diceloss})
在这里,我得到了一个错误,当我尝试在其他pc机时,我看不到它。
File "C:\Users\Euijeong Song\PycharmProjects\dl_nxb\venv\test_org.py", line 30, in <module>
org_net = M.load_model(route_net, compile=True, custom_objects={'B': keras.backend,'diceloss':diceloss})#
File "C:\Users\Euijeong Song\PycharmProjects\dl_nxb\venv\lib\site-packages\keras\utils\traceback_utils.py", line 67, in error_handler
raise e.with_traceback(filtered_tb) from None
File "C:\Users\Euijeong Song\PycharmProjects\dl_nxb\venv\lib\site-packages\keras\utils\generic_utils.py", line 792, in func_load
code = marshal.loads(raw_code)
ValueError: bad marshal data (unknown type code)
我的python版本是3.9.0和tf == 2.7.0。并建立了python == 3.6.8和tf ==2.1.0的模型。我发现在使用python==2.x.x时会出现封送错误,但这次我不明白。为什么会发生这种情况,我如何解决这个问题?
发布于 2021-12-13 02:41:47
我解决了问题。这是因为python和cudnn版本太高了。
我将cudnn降级为8.2.2 ( cuda 11.4 ),python降为3.7.0
https://stackoverflow.com/questions/70329055
复制相似问题