最近,心血來潮搞一搞tensorflow,看著《tensorflow實戰》碼了幾個簡單的小網路,自以為蠻簡單啊,當自己開始從頭開始構建自己網路時候,就開始懷疑人生了。自己的資料讀取都是乙個大問題,今天解決了使用tensorflow讀取csv文字資料,寫到部落格做個筆記。
`#!/usr/bin/env python2
# -- coding: utf-8 --
「」」
created on tue oct 17 08:24:47 2017
@author: wp
「」」
import numpy as np
import pandas as pd
import tensorflow as tf
filename_queue = tf.train.string_input_producer([「feature/test.csv」])
reader = tf.textlinereader()
key, value = reader.read(filename_queue)
record_defaults = [[0] for iter in range(2)]
features= tf.decode_csv(
value, record_defaults=record_defaults)
features = tf.to_float(features)
batch_size = 1
mini_after_dequeue = 2
capacity = mini_after_dequeue+3*batch_size
example_batch,label_batch = tf.train.shuffle_batch([features[0],features[1]],batch_size = batch_size,capacity=capacity,min_after_dequeue=mini_after_dequeue)
with tf.session() as sess:
init =tf.global_variables_initializer()
sess.run(init)
# start populating the filename queue.
coord = tf.train.coordinator()
threads = tf.train.start_queue_runners(coord=coord)
try:
for iter in range(5):
print sess.run([example_batch,label_batch])
print sess.run(features)
except tf.errors.outofrangeerror:
print 『done training – epoch limit reached』
finally:
coord.request_stop()
`
Tensorflow讀取資料
關於tensorflow讀取資料,官網給出了三種方法 對於資料量較小而言,可能一般選擇直接將資料載入進記憶體,然後再分batch輸入網路進行訓練 tip 使用這種方法時,結合yield使用更為簡潔,大家自己嘗試一下吧,我就不贅述了 但是,如果資料量較大,這樣的方法就不適用了,因為太耗記憶體,所以這時...
Tensorflow檔案讀取
tensorflow讀取檔案的特點 讀取檔案資料量特別大 需要在樣本集中隨機讀取n個樣本,每批次讀取的物件不一樣 隨機,分批次 需要讀取的快 使用tensorflow的執行緒,不使用python的執行緒 全域性直譯器鎖 tensorflow檔案讀取的步驟 將要讀取的檔案放入檔名佇列中 因為用執行緒來...
TensorFlow高效讀取資料的方法
tfrecords其實是一種二進位制檔案,用來儲存 tf.train.example協議記憶體塊 protocol buffer 乙個example中包含features,features裡包含乙個名字為feature的字典,裡面是 key value 對,value是 乙個floatlis byt...