0

我运行下面的代码片段:谷歌云ML scipy.misc.imread返回<PIL.JpegImagePlugin.JpegImageFile>

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) 

如果我跑在云端控制台是片段,我得到一个合适的阵列。但是,当同一片段在云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软件包。

回答

0

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

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

如果您需要0.12版本,Cloud ML“0.12”运行时使用TF的0.12.1官方版本,但您可以上传自己的版本进行安装(如果您喜欢的话)。我没有确切地追踪问题的解决方案,但2月2日的Tensorflow版本似乎正常工作。