【问题标题】:problems when loading a deep learning model(python)加载深度学习模型(python)时的问题
【发布时间】:2019-01-21 18:52:19
【问题描述】:

我在另一台 PC 上训练了一个模型,当我在笔记本电脑上加载模型时, 出了点问题。

from keras.models import load_model
from keras.callbacks import ModelCheckpoint
model=load_model("resnet.hdf5")

以下是我得到的错误:

c:\users\junpink\appdata\local\programs\python\python36\lib\site- 
packages\h5py\_hl\base.py in _e(self, name, lcpl)

135         else:

136             try:

--> 137                 name = name.encode('ascii')

138                 coding = h5t.CSET_ASCII

139             except UnicodeEncodeError:

AttributeError: 'list' object has no attribute 'encode'

有没有人可以解决这种情况?

【问题讨论】:

    标签: python model keras deep-learning


    【解决方案1】:

    检查两台机器之间的 Python 版本。这看起来是 Python 2 与 Python 3 的问题,但我不能确定。

    对于“快速而肮脏”的修复,请尝试更改:

    name = name.encode('ascii')
    

    name = str(name).encode('ascii')
    

    【讨论】:

    • 后来我尝试在同一台机器上训练模型,出现同样的问题。
    • 我查看了Keras中保存模型的源码,里面用到了很多encode&decode函数。我想知道他们是否在更新到 python3 时忘记删除它。