Google Cloud ML scipy.misc.imread返回<pil.jpegimageplugin.jpegimagefile>

时间:2017-03-15 21:33:37

标签: scipy google-cloud-platform google-cloud-ml google-cloud-ml-engine

我正在运行以下代码段:

import tensorflow as tf
import scipy.misc
from tensorflow.python.lib.io import file_io

file = file_io.FileIO('gs://BUCKET/data/celebA/000007.jpg', mode='r')
img = scipy.misc.imread(file)

如果我在Cloud Console中运行该代码段,我会找回一个正确的数组。但是当相同的代码片段在Cloud ML中运行时,img对象就是

<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=178x218 at 0x7F1F8F26DA10>

This stackoverflow answer表示安装PIL时未安装libjpeg。 Cloud ML Runtime Version list显示对于Tensorflow 0.12,libjpeg-dev是一个已安装的debian软件包。

1 个答案:

答案 0 :(得分:0)

我能够在Cloud ML上重现此问题,并且它似乎与Tensorflow 0.12.1中的file_io版本有关,如果安装了Tensorflow 1.0,它就会消失。

如果可以,请升级到TF的1.0版本。

如果您需要0.12版本,Cloud ML&#34; 0.12&#34;运行时使用TF的官方0.12.1版本,但如果您愿意,可以上传自己的版本进行安装。我没有确切地追踪问题何时修复但是从2月2日开始的Nightly Tensorflow构建似乎有效。