我训练了一个图像分类器克拉斯特遣部队并在训练完成后导出模型,在云中服务并进行在线预测。你知道吗
我在本地主机上提供模型时使用了:
tensorflow_model_server --model_base $PATH_TO_SAVEDMODEL --rest_api_port=9000 --model_name=saved_model
我能够做出预测并得到结果。当我尝试在云中部署模型时,标题中出现了错误。你知道吗
问题是,我想用预测结果映射类名,我可以通过以下操作实现这一点:
# after i got the label names i convert the variable to a tensor
label_names_tensor = tf.convert_to_tensor(label_names) # shape (5,)
要导出模型,我使用以下方法:
tf.saved_model.simple_save(
sess,
"./saved_models/v1",
inputs={'image': model.input},
outputs={'label' : label_names_tensor,'prediction': model.output[0]})
注意:
这在本地工作,我得到了与预测结果映射的类名。你知道吗
很明显问题出在哪里。。我怎样才能让它工作并将类名与预测结果正确地映射呢?你知道吗
我试图使用重塑功能,但我无法让它工作。我想我最后需要有这个:
所以我可以这样做:
非常感谢您的帮助
一些介绍性说明。首先,要求输入的外部维度是
None
的原因是允许涉及输入批处理的优化。输入是基于行的:每个输入一行特征向量/矩阵/张量。另一个假设是每个输入行正好产生一个输出行。因为输入行的数量是可变的,所以输出行的数量也是可变的。你知道吗这样做的一个后果是,如果不在每一行中重复“静态”信息,就无法输出它。也就是说,如果一次只传入一个输入,就不会有任何重复,但是处理案例时会有额外的开销,就像有多个输入/输出行一样。可以按如下方式重复标记的行:
相关问题 更多 >
编程相关推荐