keras-js"错误:[型号]型号配置不包含任何层。"

时间:2018-03-09 19:43:13

标签: javascript python keras

我尝试使用keras-js加载在浏览器中使用keras创建的简单示例网络。将模型保存为.h5文件并将其转换为.bin文件后,加载时出现以下错误:

  *Error: [Model] Model configuration does not contain any layers.*

该模型只需创建:

from keras.models import Sequential
from keras.layers import Dense, Activation

model= Sequential()
model.add(Dense(10,input_shape=(1,)))
model.add(Activation('relu'))
model.add(Dense(1))

model.compile(optimizer='rmsprop',loss='mse',metrics=['accuracy'])

inputs=[[5],[3],[4],[5]]
targets=[[5],[3],[4],[5]]

model.fit(inputs,targets,epochs=100)
model.save("example.h5")

然后我将其转换为:

python encoder.py -q example.h5

并使用以下命令将其加载到javascript中:

const model = new KerasJS.Model({
filepath: '/keras/example.bin',
filesystem: true,
gpu: false
})

我已经尝试使用keras版本2.0.9,2.1.2和2.1.5。 这可能是什么问题?

1 个答案:

答案 0 :(得分:5)

好吧,我对这个JS库一无所知,但是我尝试重现该问题,并且确实得到了您提到的错误。 BUT ,小心的程序员会注意到出现了该错误之前的错误。就是这样:

  

在以下位置访问XMLHttpRequest   源文件'file:/// /keras-js-master/example.bin   “空”已被CORS政策阻止:仅跨源请求   支持协议方案:http,数据,chrome,chrome扩展名,   https。

您可以在this question中了解有关此问题的更多信息。基本上,由于安全措施,不允许Web应用程序访问您的本地文件。然后,您需要提供这些文件,可以使用以下python命令轻松完成:

python -m http.server

这将提供当前目录中8000端口下本地主机中的文件:

  

http://localhost:8000/

在此link中,还有更多替代方法。

我尝试过此方法,并消除了两个错误。