iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
AI & Data

AI初見 從零開始的TensorFlow生活系列 第 11

DAY11 - tf.data - Dataset的建立與資料讀取

  • 分享至 

  • xImage
  •  

大家好,之前幾天介紹兩種建立模型的方法,也以簡單的方式實作了用Sequential Model和Function API建立的模型,今天原本是要用其他的層來建立模型,但還是改成明天好了。而今天要介紹的是Dataset的建立與讀取資料的操作方法,這次會用到的API是tf.data。

首先要建立Dataset,建立Dataset的方法不只一種,每種也有些不同,這次用from_tensor_slices來建立Dataset:

datasetA=tf.data.Dataset.from_tensor_slices(tf.constant([0,1,2,3,4,5]))
datasetB=tf.data.Dataset.from_tensor_slices(tf.constant([0,2,4,6,8,10]))

再來是介紹幾種讀取資料的方法:
for loop-讀取全部資料:

for data in datasetA:
	print(data)
for dataA, dataB in zip(datasetA,datasetB):
    print('{},{}'.format(dataA,dataB))

take-可以指定讀取資料數量:

for data in datasetA.take(1):
	print(data)

for dataA, dataB in zip(datasetA.take(3),datasetB.take(3)):
    print('{},{}'.format(dataA,dataB))

take裡的參數代表取出多少資料,有多個Dataset要用take取資料但參數不一樣時,會以參數最小的為主。

batch-設定每一個batch讀取的資料量:

dataset=tf.data.Dataset.zip((datasetA,datasetB)).batch(2)
for data in dataset.take(2):
	print(data)

shuffle-隨機取出資料:

datasetAs=datasetA.shuffle(3)
for data in datasetAs.take(2):
    print(format(data))

shuffle裡的參數代表隨機取出了多少資料,若是參數大於或等於Dataset資料個數,就會隨機取出Dataset中的全部資料。

今天實作了Dataset的建立與部分讀取資料的方法,明天要介紹的就是一開始提到的,前幾天都是使用Dense層來建立模型,也會試著用其他的層。


上一篇
DAY10 - tf.keras - Functional API介紹 - 2
下一篇
DAY12 - 模型建立補充介紹
系列文
AI初見 從零開始的TensorFlow生活30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言