keras-js“错误:[模型]模型配置不包含任何图层。”

问题描述 投票:8回答:1

我试图使用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。这可能是什么问题?

javascript python keras
1个回答
5
投票

好吧,我对这个JS库一无所知,但我试图重现这个问题,我真的得到了你提到的那个错误。但是,一个细心的程序员会注意到之前提到的错误之前的错误已经出现。它是以下内容:

来自origin'null'的'file:/// <your_local_path_to_keras-js> /keras-js-master/example.bin'访问XMLHttpRequest已被CORS策略阻止:仅对协议方案支持跨源请求:http,数据,铬,铬扩展,https。

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

python -m http.server

这将从端口8000下localhost的当前目录中提供文件:

http://localhost:8000/

在这个link中有更多的替代方法可以做到这一点。

我尝试了这个并摆脱了两个错误。

© www.soinside.com 2019 - 2024. All rights reserved.