我有一個 tensorflow 資料集,其中包含我所有的資料和標簽。使用以下代碼將前 20 個元素提取到另一個資料集中:
train_dataset = big_dataset.take(20)
但是,例如,我如何將 big_dataset 中的最后 20 個元素提取到新資料集中?
謝謝我提前!
編輯:以下代碼顯示了我如何定義 big_dataset:
big_dataset = tf.data.Dataset.from_tensor_slices((all_points, all_labels))
現在獲取第一個元素的方法是以下代碼(其中 train_size 為例如 20):
train_dataset = big_dataset.take(train_size)
train_dataset = train_dataset.shuffle(train_size).map(augment).batch(BATCH_SIZE)
但是使用 .skip().take() 會導致空資料庫
uj5u.com熱心網友回復:
嘗試使用skip. 例如,假設您有 120 個資料樣本,batch_size 為 1,并且您沒有對資料進行混洗,那么您可以嘗試以下操作:
train_dataset = big_dataset.skip(100).take(20)
對于您的特定資料集,請嘗試:
import tensorflow as tf
samples = 29
all_points = tf.random.normal((samples, 5))
all_labels = tf.random.normal((samples, 1))
big_dataset = tf.data.Dataset.from_tensor_slices((all_points, all_labels))
train_size = 20
train_dataset = big_dataset.skip(9).take(train_size)
print(len(train_dataset))
20
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/459063.html
標籤:Python 张量流 喀拉斯 张量流2.0 tf.keras
上一篇:Keras中的張量乘法
