keras 报错 ValueError: Tensor conversion requested dtype int32 for Tensor with dtype float32: 'Tensor,"embedding_1/random_uniform:0", shape=

在服务器上训练并保存模型,复制到本地之后load_model()报错:

ValueError: Tensor conversion requested dtype int32 for Tensor with dtype float32: 'Tensor("embedding_1/random_uniform:0", shape=(5001, 128), dtype=float32)'

原因:服务器和本地的运行环境配置不同

查看本地keras版本:

In [1]: import keras
Using TensorFlow backend.

In [2]: keras.__version__
Out[2]: '2.0.6'

(或者,用pip freeze列出所有包的版本信息)

而服务器上的keras版本是2.0.3

本地pip install 指定版本安装:

$ sudo pip install Keras==2.0.3