載入資料
tensorflow作為符號程式設計框架,需要先構建資料流圖,再讀取資料,隨後在進行模型的訓練,所以其官網給出了三種載入資料的方式
(1)預載入資料
x1=tf.constant([2,3,4])
x2=tf.constant([4, 0, 1])
y=tf.add(x1,x2)
這種方法的缺點在於,將資料直接嵌入在資料流圖中,當訓練資料比較大的時候,很消耗記憶體
(2)填充資料
使用sess.run()中的feed_dict引數,將python產生的資料填充給後端
x1=tf.constant([2,3,4])
x2=tf.constant([4, 0, 1])
y=tf.add(x1,x2)
import tensorflow as tf
a1=tf.placeholder(tf.int16)
a2=tf.placeholder(tf.int16)
b=tf.add(x1,x2)
c1=[2,3,4]
c2=[4,5,6]
with tf.session() as sess:
print(sess.run(b,feed_dict=))
填充的方式也有資料量大,消耗記憶體等缺點,並且資料型別轉換等中間環節增減了不少開銷,所以最好是使用第三種方法
(3)從檔案中讀取資料
從檔案中讀取資料分為兩個步驟
tensorflow高效讀取資料之tfrecord
tensorflow提供了一種統一的格式來儲存資料,這個格式就是tfrecord,接下來介紹如何使用tfrecord來統一輸入資料的格式。tfrcord檔案中的資料都是通過tf.train.example protocol buffer的格式來儲存的,以下 給出了tf.train.example的定...
docker之配置TensorFlow的執行環境
docker是一種 作業系統層面的虛擬化技術,類似於傳統的虛擬機器。傳統虛擬機器技術是虛擬出一套硬體後,在其上執行乙個完整作業系統,在該系統上再執行所需應用程序 而容器內的應用程序直接執行於宿主的核心,容器內沒有自己的核心,而且也沒有進行硬體虛擬。因此容器要比傳統虛擬機器更為輕便。傳統虛擬機器使用前...
Tensorflow讀取資料
關於tensorflow讀取資料,官網給出了三種方法 對於資料量較小而言,可能一般選擇直接將資料載入進記憶體,然後再分batch輸入網路進行訓練 tip 使用這種方法時,結合yield使用更為簡潔,大家自己嘗試一下吧,我就不贅述了 但是,如果資料量較大,這樣的方法就不適用了,因為太耗記憶體,所以這時...