Tensorflow載入資料的三種方式

2021-09-25 02:02:10 字數 819 閱讀 3088

tensorflow作為符號程式設計框架,需要先構建資料流圖,再讀取資料,然後再進行訓練。tensorflow提供了以下三種方式來載入資料:

預載入資料(preloaded data):在tensorflow圖中定義常量或變數來儲存所有資料

填充資料(feeding):python產生資料,再把資料填充到後端

從檔案中讀取資料(reading from file):通過佇列管理器從檔案中讀取資料

下面將詳細介紹這三種載入資料的方法以及它們之間的優缺點

一、預載入資料

1、以constant的方式進行預載入

2、以variable的方式載入資料

通過預載入的方式載入資料的缺點在於,將資料直接嵌入到資料流圖中,當訓練資料較大時,很消耗記憶體。

二、填充資料

填充資料是使用sess.run()中的feed_dict引數,將python產生的資料填充給後端

填充資料也存在資料量大、消耗記憶體等缺點,並資料型別轉換等中間環節也增加了不少的記憶體開銷。這時候最好採用最後一種載入資料的方式,先在圖中定義好檔案讀取的方法,通過tensorflow從檔案中讀取資料,再解碼成為訓練資料。

三、從檔案讀取資料

從檔案中讀取資料,主要分為兩個步驟:

1、將樣本寫入到tfrecords二進位制檔案中

2、再從佇列中讀取解碼成為可以進行訓練的資料

原文及**:

每個epoch/batch將記憶體中的numpy資料送入placeholder,只適用於小資料集,會相當占用記憶體。

從硬碟裡的txt或csv檔案讀取,io操作比較耗時。

讀取tensorflow推薦的tfrecord檔案

Tensorflow載入資料

1.reader tf.textlinereader 每次讀取一行 閱讀器的read方法會輸出乙個key來表徵輸入的檔案和其中的紀錄 對於除錯非常有用 同時得到乙個字串標量,這個字串標量可以被乙個或多個解析器,或者轉換操作將其解碼為張量並且構造成為樣本。file1.csv內容 10010 1112 ...

Tensorflow之資料的載入

載入資料 tensorflow作為符號程式設計框架,需要先構建資料流圖,再讀取資料,隨後在進行模型的訓練,所以其官網給出了三種載入資料的方式 1 預載入資料 x1 tf.constant 2,3,4 x2 tf.constant 4,0,1 y tf.add x1,x2 這種方法的缺點在於,將資料直...

tensorflow資料載入器

自己看的 import numpy as np import os from pil import image import random os.environ tf cpp min log level 2 train file data train test file data test clas...