>>> import matplotlib >>> import matplotlib.pyplot as plt >>> import tensorflow as tf >>> tf.__version__ '1.1.0' >>> matplotlib.__version__ '2.0.0'
Tensorflowの画像前処理関数って結構豊富っぽくて使いたいって練習しようとしてた。
https://www.tensorflow.org/api_docs/python/tf/image/resize_images
単純にresizeしたいと思って↑の関数を使う。
# image -> opencvとかで読み込んだ画像 >>> tf_image = tf.image.resize_images(image, [100, 100]) >>> session = tf.Session() >>> with session.as_default(): ... output = tf_image.eval() ... >>> plt.imshow(output) >>> plt.show()
そしたら、反転?みたいな画像がでてきて困惑。
なーぜー?
matplotlibでtensorを表示するためには、tf.float32
でcastしたあとに255.0
で割ってあげればおk
>>> image = tf.cast(image, tf.float32) / 255.0 >>> tf_image = tf.image.resize_images(tf_image, [100, 100]) >>> session = tf.Session() >>> with session.as_default(): ... output = tf_image.eval() ... >>> plt.imshow(output) >>> plt.show()
これで閲覧できた。
そもそもmatplotlibじゃなくて、tensorboardでみればいいのでは?
・・・・。(試してないからわからんけど)