Tensorflow Keras GCP ML发动机型号服务

时间:2018-06-11 10:59:24

标签: tensorflow keras google-cloud-platform google-cloud-ml

我正在开发一个图像分类器,其中 tensorflow估算器 + keras 重新训练 inception_v3 上的最后一层 inception_v3 strong> GCP ML引擎。

使用tf.keras.estimator.model_to_estimator导出keras模型,输入函数接收存储在 GCP云存储上的图像的路径,使用tf.image.decode_jpeg打开图像并返回包含的数据集格式为dict(zip(['inception_v3_input'], [image])), label

我试图定义tf.estimator.export.ServingInputReceiver,但我在定义它时遇到了一些麻烦。

使用没有标签的输入函数,模型正在使用predict方法正确地进行预测。 我的想法是重用input_function来解码图像,只将云存储上的图像路径传递给google端点的预测,但是我无法理解如何去做。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

如果我的理解正确,您的问题是考虑到您要通过这种方式解码图像,如何从Cloud Storage获取文件:

image_decoded = tf.image.decode_jpeg(image_string)

因此,在这种情况下,您可以使用:

image_string = file_io.FileIO(filename, mode='r')

首先导入file_io:

from tensorflow.python.lib.io import file_io

根据the comments on this question about reading input data from GCS,使用file_read函数应提供相同的结果,因为“对抽象文件io和文件系统进行了大量工作,因此所有io功能都可以一致地工作”。因此,您也可以尝试使用read_file函数。