1. 程式人生 > >Tensorflow機器學習專案實戰--1.5.2讀取影象資料

Tensorflow機器學習專案實戰--1.5.2讀取影象資料

修改書上的程式碼,新增少量註釋。

環境:python 3

#匯入tensorflow
import tensorflow as tf

#新建一個Session
sess = tf.Session()
#tf.train.string_input_producer產生一個檔名佇列
#shuffle屬性在讀取多個檔案事需要注意
filename_queue = tf.train.string_input_producer(tf.train.match_filenames_once("blue_jay.jpg"),shuffle=False)
reader = tf.WholeFileReader()
key,value = reader.read(filename_queue)
image = tf.image.decode_jpeg(value)
#very important
#書上的初始化方式在0.12版本以後就換成global_variables_initializer()
sess.run(tf.global_variables_initializer())
sess.run(tf.local_variables_initializer())

coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess,coord=coord)
#第一張圖片
flipImageUpDown = tf.image.encode_jpeg(tf.image.flip_up_down(image))
file = open("flippedUpDown.jpg","wb+")
file.write(flipImageUpDown.eval(session=sess))
file.close()
#第二張圖片
flipImageLeftRight = tf.image.encode_jpeg(tf.image.flip_left_right(image))
file = open("flippedLeftRight.jpg","wb+")
file.write(flipImageLeftRight.eval(session=sess))
file.close()

example = sess.run(flipImageLeftRight)
print(example)

coord.request_stop()
coord.join(threads)
sess.close()