!!!在資料集框架中,每乙個資料集代表乙個資料**,其資料**有一下幾種:張量,tfrecord檔案,文字檔案,sharding檔案等等。。。
一.資料集dataset的常用構造方法:
(1)從乙個tensor中構造資料集:dataset=tf.data.dataset.from_tensor_slices(tensor)
(2)利用硬碟上的檔案構建資料集:dataset=tf.date.textlinedataset(filename),#filename可以是多個檔案路徑組成的檔案路徑列 表
dataset=tf.data.tfrecorddataset(filename)
***filename可以是多個檔案路徑組成的檔案路徑列
***tf.data.tfrecorddataset()讀取到的每乙個tfrecord格式的資料都有不同的feature格式,因此,在利 用tf.data.tfrecorddataset()讀取檔案以後,還要定義乙個parse(record)函式來對讀取到的資料進行解析。然後利用map()函式來完成檔案解析。具體如下:
def parse(record):
......... #........內容為解析tfrecord格式檔案的樣式
dataset=dataset.map(parse)
二.讀取資料集的三個基本步驟:
3.使用get_next()獲取tensor
具體例項如下:
定義資料集的構造方法,根據具體上文中數情況,利用上文中對應構造方法來進行定義。
定義遍歷器,常用的有一下兩種:
(1)資料集的所有引數已經確定的情況下(檔案的路徑,檔案內容已經確定),經常使用one_shot_iterator。
格式如下:iterator=dataset.make_one_shot_iterator()
(2)在需要使用placeholder來初始化資料集時,用initializable_iterator來遍歷資料集。
格式如下:iterator=dataset.make_initializable_iterator()
#與one_shot_iterator不同的是,initializable_iterator()在會話中首先要對其進行初始化:sess.run(iterator.initializer,......)
import tensorflow as tf
def parser(record):
features = tf.parse_single_example(
record,
features=
)return features['feat1'],features['feat2']
#資料集可以是乙個tensor,或者文字檔案
#若是tensor,則使用tf.data.from_tensor_slices(input_data)
#若是文字檔案,則使用tf.data.textlinedataset(input_files)
input_files = ['file1','file2']
dataset = tf.data.tfrecorddataset(input_files)
#由於tfrecords讀取出來的是二進位制資料,需要對每個資料進行解析,得到想要的格式
#這裡使用對映函式對每個資料進行解析
dataset = dataset.map(parser)
#通過乙個迭代器獲取資料
iterator = dataset.make_one_shot_iterator()
feat1,feat2 = iterator.get_next()
with tf.session() as sess:
for i in range(10):
print(sess.run([feat1,feat2]))
用TensorFlow實現iris資料集線性回歸
本文將遍歷批量資料點並讓tensorflow更新斜率和y截距。這次將使用scikit learn的內建iris資料集。特別地,我們將用資料點 x值代表花瓣寬度,y值代表花瓣長度 找到最優直線。選擇這兩種特徵是因為它們具有線性關係,在後續結果中將會看到。本文將使用l2正則損失函式。用tensorflo...
13 tensorflow資料集操作
功能 函式 載入資料集 datasets.dataset name.load data 構建 dataset 物件 tf.data.dataset name.from tensor slices x,y 隨機打散 dataset name.shuffle buffer size 批訓練dataset...
TensorFlow中的資料型別
本文主要內容來自於史丹福大學課程cs20,有興趣的同學cs20。一 python 原生型別 tensorflow接受了python自己的原生資料型別,例如python中的布林值型別,數值資料型別 整數,浮點數 和字串型別。單一值將轉換為0維張量 標量 列表值將轉換為1維張量 向量 列表套列表將被轉換...