我使用tf.keras训练了分类器,并使用tensorflowjs_converter将保存的模型从.h5转换为.json
!tensorflowjs_converter --input_format=keras '/content/ver1.h5' '/content/json'
然后我尝试使用
tf.loadLayersModel("http://127.0.0.1:8080/model.json")
我使用http-server和--cors来避免任何问题,但是,我不断收到控制台错误:
http.ts:175未捕获(在承诺中)错误:来自HTTP路径http://127.0.0.1:8080/model.json的JSON既不包含模型拓扑,也不包含权重清单。
错误来自以下行:
const modelTopology = modelJSON.modelTopology;
const weightsManifest = modelJSON.weightsManifest;
if (modelTopology == null && weightsManifest == null) {
throw new Error(`The JSON from HTTP path ${this.path} contains neither model ` + `topology or manifest for weights.`);
}
在http://127.0.0.1:8080/model.json打开文件后,清单和模型拓扑就在那里了。
// 20221014001551
// http://127.0.0.1:8080/model.json
{
"format": "layers-model",
"generatedBy": "keras v2.8.0",
"convertedBy": "TensorFlow.js Converter v3.21.0",
"modelTopology": {
"keras_version": "2.8.0",
"backend": "tensorflow",
"model_config": {
"class_name": "Functional",
"config": {
"name": "model",
.......
和此处:
"weightsManifest": [
{
"paths": [
"group1-shard1of3.bin",
"group1-shard2of3.bin",
"group1-shard3of3.bin"
],
"weights": [
{
"name": "dense/kernel",
........
我不知道出了什么问题,在等一些建议。
1条答案
按热度按时间hec6srdp1#
您可以尝试使用tf.model.load来代替tf.loadLayersModel。