Keras模型导入报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keras模型导入报错相关的知识,希望对你有一定的参考价值。

参考技术A   

  在用Keras的时候,保存模型,再次导入模型的时候,出现了如下报错:

  开始以为是模型保存的问题,为了解决此类报错,尝试过各种方法,比如对比了一下model.save()和model.save_weights()的区别,这两个区别主要在于保存从区别,具体如下:

  鉴于此,今后保存模型的话,如果储存没有问题,用model.save()将所有都保存下来。

  通过前面尝试各种的模型保存方式,发现我们的方式没有什么问题,然后再在网上查询问题,结果发现可能是由于h5py版本的问题,具体的是我们安装keras的时候,自动安装了3.5.0。

   在前人的介绍中 ,这里应该安装2.10.0,然后我们这里测试了一下,结果完美的解决了问题。

从 Keras.layers.core 在创建模型时使用 theano 作为后端导入 Dense

【中文标题】从 Keras.layers.core 在创建模型时使用 theano 作为后端导入 Dense【英文标题】:from Keras.layers.core import Dense using theano as backend when creating a model 【发布时间】:2020-05-08 10:01:44 【问题描述】:

我已经从 keras.layers.core 导入了 Dense ,当我创建一个新模型时

model = Sequential()
model.add(Dense(12, input_shape=(len(train_x[0]),), activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(6, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(len(train_y[0]), activation='softmax'))

那么有错误

AttributeError:('The following error happened while compiling the node', 
DotModulo(A, s, m, A2, s2, m2), '\n', 
"module 'numpy.core.multiarray' has no attribute '_get_ndarray_c_version'")

我不明白为什么?

【问题讨论】:

【参考方案1】:

您的theano 版本对于您拥有的numpy 版本来说太旧了,所以您会收到这些错误,但解决方法很简单,您应该升级到theano >= 1.0.4(至少版本1.0.4)应该可以解决问题,如here所述。

另外请注意,Theano 并没有真正被开发出来,所以这样的问题将变得更加普遍,您应该考虑迁移到另一个后端。

【讨论】:

谢谢,我在新环境下安装了keras,不用theano,避免矛盾

以上是关于Keras模型导入报错的主要内容,如果未能解决你的问题,请参考以下文章

MySql 这个报错 是啥问题

Apollo报错

React 引用报错

又报错了

R语言arules报错

Django报错:AttributeError: 'function' object has no attribute 'as_view'