tensorflow 資料讀取篇

2021-08-09 21:24:03 字數 1526 閱讀 8231

最近,心血來潮搞一搞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...