7.1 TensorFlow笔记(基础篇):加载数据之预加载数据与填充数据
TensorFlow加載數(shù)據(jù)
TensorFlow官方共給出三種加載數(shù)據(jù)的方式:
1. 預(yù)加載數(shù)據(jù)
2. 填充數(shù)據(jù)
預(yù)加載數(shù)據(jù)的缺點(diǎn): 將數(shù)據(jù)直接嵌在數(shù)據(jù)流圖中,當(dāng)訓(xùn)練數(shù)據(jù)較大時(shí),很消耗內(nèi)存.填充的方式也有數(shù)據(jù)量大,消耗內(nèi)存高的缺點(diǎn),并且數(shù)據(jù)類型的轉(zhuǎn)換等中間環(huán)節(jié)增加了不少開銷(之前的筆記示例中主要使用的這兩種方式).最好用第三種方法,在圖中定義好文件讀取的方法,讓Tensorflow 自己從文件中讀取數(shù)據(jù),并解碼成可使用的樣本集.
CODE : 預(yù)加載數(shù)據(jù)與填充數(shù)據(jù)
import tensorflow as tf import osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'# 預(yù)加載數(shù)據(jù) # 缺點(diǎn): 將數(shù)據(jù)直接嵌在數(shù)據(jù)流圖中,當(dāng)訓(xùn)練數(shù)據(jù)較大時(shí),很消耗內(nèi)存 x1 = tf.constant([2,3,4]) x2 = tf.constant([4,0,1]) y = tf.add(x1,x2)with tf.Session() as sess:print(sess.run(y))# 填充數(shù)據(jù) # 設(shè)計(jì)圖 a1 = tf.placeholder(tf.int16) a2 = tf.placeholder(tf.int16) b = tf.add(x1,x2) # 用 python 產(chǎn)生數(shù)據(jù) li1 = [2,3,4] li2 = [4,0,1] # 打開一個(gè)會(huì)話,將數(shù)據(jù)填充給后端 with tf.Session() as sess:print(sess.run(b,feed_dict={a1: li1,a2: li2}))# 填充的方式也有數(shù)據(jù)量大,消耗內(nèi)存高的缺點(diǎn),并且數(shù)據(jù)類型的轉(zhuǎn)換等中間環(huán)節(jié)增加了不少開銷. # 這時(shí)最好用第三種方法,在圖中定義好文件讀取的方法,讓Tensorflow 自己從文件中讀取數(shù)據(jù),并解碼成可使用的樣本集運(yùn)行結(jié)果:
[6 3 5] [6 3 5]相關(guān)
在TensorFlow中進(jìn)行模型訓(xùn)練時(shí),在官網(wǎng)給出的三種讀取方式,中最好的文件讀取方式就是將利用隊(duì)列進(jìn)行文件讀取,而且步驟有兩步:
1. 把樣本數(shù)據(jù)寫入TFRecords二進(jìn)制文件 : http://blog.csdn.net/fontthrone/article/details/76727412
2. TensorFlow筆記(基礎(chǔ)篇):加載數(shù)據(jù)之從隊(duì)列中讀取:http://blog.csdn.net/fontthrone/article/details/76728083
3. python中的argparse模塊:http://blog.csdn.net/fontthrone/article/details/76735591
總結(jié)
以上是生活随笔為你收集整理的7.1 TensorFlow笔记(基础篇):加载数据之预加载数据与填充数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7.2 TensorFlow笔记(基础篇
- 下一篇: 7.3 TensorFlow笔记(基础篇