tensorflow数据的生成与读取
明天就开始忙起来了,可能不会日更了,但还是希望能坚持把这个系列做完吧。
大纲:
- tensorflow的队列
- csv文件的创建和读取
- tensorflow文件的创建和读取
tensorflow的队列
队列的创建
首先,创建一个队列要选定数据的出入类型,例如FIFOQueue和RandomShffleQueue方式,前者为先入先出,后者为随即元素出列。
例:
Q = tf.FIFOQueue(3, "float")
该方法创建了一个先入先出的队列,队列数据个数为3,队列中元素类型为float
然后,可以使用enqueue_many() 函数对该队列进行数据填充。
sess = tf.Session()
init = Q.enqueue_many(([0.1, 0.2, 0.3],))
sess.run(init)
要注意的是,tensorflow中的任何操作都要在会话Session中完成,所以要等到会话的==run()==函数完成后,该队列才会真正被填充。
完整例子:
Q = tf.FIFOQueue(3, "float")
sess = tf.Session()
init = Q.enqueue_many(([0.1, 0.2, 0.3],))
init2 = Q.dequeue()
init3 = Q.enqueue(1.)
sess.run(init)
sess.run(init2)
sess.run(init3)
quelen = sess.run(Q.size())
for i in range(quelen):
print(sess.run(Q.dequeue()))