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