Tensorflow 未经处理的拒绝(错误):模型中提供的dict[';图像张量';]的形状。执行(dict)必须为[X,X,X,X],但为X,X,X]

Tensorflow 未经处理的拒绝(错误):模型中提供的dict[';图像张量';]的形状。执行(dict)必须为[X,X,X,X],但为X,X,X],tensorflow,tensorflow.js,tensorflowjs-converter,Tensorflow,Tensorflow.js,Tensorflowjs Converter,TensorFlow.js版本 v1.5.2 浏览器版本 铬79.0.3945.130 描述问题或功能请求 我用tensorflow 1.15.0训练了我自己的对象,速度更快的是rcnn\u inception\u v2\u coco\u 2018\u 01\u 28。之后,使用tensorflow转换器将保存的模型转换为web模型。tensorflowjs版本是1.5.2 此使用web app创建的模型错误模型中提供的dict['image_tensor']的形状。执行(dict)必须为[X,

TensorFlow.js版本 v1.5.2

浏览器版本 铬79.0.3945.130

描述问题或功能请求 我用tensorflow 1.15.0训练了我自己的对象,速度更快的是rcnn\u inception\u v2\u coco\u 2018\u 01\u 28。之后,使用tensorflow转换器将保存的模型转换为web模型。tensorflowjs版本是1.5.2

此使用web app创建的模型错误模型中提供的dict['image_tensor']的形状。执行(dict)必须为[X,X,X,X],但为[X,X,X]

创建保存的模型

python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/faster_rcnn_inception_v2_pets.config --trained_checkpoint_prefix training/model.ckpt-XXXX --output_directory inference_graph
tensorflowjs_converter
--input_format=tf_saved_model
--output_node_names='MobilenetV1/Predictions/Reshape_1'
--saved_model_tags=serve
/mobilenet/saved_model
/mobilenet/web_model
转换保存的模型

python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/faster_rcnn_inception_v2_pets.config --trained_checkpoint_prefix training/model.ckpt-XXXX --output_directory inference_graph
tensorflowjs_converter
--input_format=tf_saved_model
--output_node_names='MobilenetV1/Predictions/Reshape_1'
--saved_model_tags=serve
/mobilenet/saved_model
/mobilenet/web_model
tensorflowjs web应用程序

const img = document.getElementById('img');
const model = await tf.loadGraphModel('model.json')
model.predict(tf.browser.fromPixels(img)) // or model.predict(img)

此过程有什么问题?

这是一个形状不匹配错误


似乎模型需要4d张量,而您提供的是3d张量
expandDims
重塑
可用于向用作参数的三维张量添加新尺寸

此错误可能发生,因为模型需要一批图像,而不是一张图像。要修复它,可以使用插入额外的尺寸标注