到目前为止,我正在使用tf.contrib.predictor.from_saved_model
来加载Savedmodel
(tf.estimator
模型类)。但是,很遗憾,此功能已在TensorFlow v2中删除。到目前为止,在TensorFlow v1中,我的编码如下:
predict_fn = predictor.from_saved_model(model_dir + '/' + model,signature_def_key='predict')
prediction_feed_dict = dict()
for key in predict_fn._feed_tensors.keys():
#forec_data is a DataFrame holding the data to be fed in
for index in forec_data.index:
prediction_feed_dict[key] = [ [ forec_data.loc[index][key] ] ]
prediction_complete = predict_fn(prediction_feed_dict)
我使用tf.saved_model.load
在TensorFlow v2中尝试了以下失败:
model = tf.saved_model.load(model_dir + '/' + latest_model)
model_fn = model.signatures['predict']
prediction_feed_dict = dict()
for key in model_fn._feed_tensors.keys(): #<-- no replacement for _feed_tensors.keys() found
#forec_data is a DataFrame holding the data to be fed in
for index in forec_data.index:
prediction_feed_dict[key] = [ [ forec_data.loc[index][key] ] ]
prediction_complete = model_fn(prediction_feed_dict) #<-- no idea if this is anyhow close to correct
我的问题是(在TensorFlow v2中):
- 如何替换
_feed_tensors.keys()
? - 如何使用加载了
tf.estimator
的{{1}}模型以直接的方式进行推断
非常感谢,感谢您的帮助。
注意:该问题与先前发布的here并不相同,因为那里提供的答案都取决于TensorFlow v2中已删除的TensorFlow v1功能。