Tensorflow之資料的載入

2021-09-24 16:00:32 字數 820 閱讀 4852

載入資料

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使用更為簡潔,大家自己嘗試一下吧,我就不贅述了 但是,如果資料量較大,這樣的方法就不適用了,因為太耗記憶體,所以這時...