![](/img/trans.png)
[英]In tensorflow2.0, if I use tf.keras.models.Model. Can I evaluate and save the model by the number of model training batches?
[英]How to change the number of images to use for training and evaluating in tensorflow2.0?
Fashion-MNIST數據集自動返回60,000張用於訓練的圖像和10,000張用於評估的圖像。 我該如何更改這些數字?
這是我的colab
源代碼,相關部分是:
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
從TF2.0
,建議使用tf.data
API和tf.keras
。 tf.data.Dataset
作為上述內容的一部分,允許您通過map
調用輕松地對數據進行各種操作,如圖像增強(例如旋轉/移位)(您可以在文檔中找到其他可能性)。
Tensorflow數據集是Tensorflow生態系統的一部分,可以讓您更輕松地下載數據(各種現成數據集, 包括Fashion MNIST , 請參閱此處了解可用選項)並以tf.data.Dataset
形式獲取。
使用此代碼段:
import tensorflow_datasets as tfds
train, test = tfds.load("fashion_mnist", as_supervised=True)
將下載數據並自動將其拆分為test
和train
(與Keras等效,除數據類型外)。
您可以創建自己的數據集構建器,但通常調用tfds.load
就足以進行標准操作。
現在,如果您想要不同的拆分(不是默認的60000
列車和10000
測試),您可以使用tfds.Split
對象來定義它。 默認情況下,每個提供的數據集(包括您的Fashion MNIST)都提供默認的tfds.Split.TRAIN
和tfds.Split.TEST
(有些也提供了tfds.Split.VALID
)。
這些默認拆分可以通過各種方式進一步划分為子部分:
將TEST
或TRAIN
一個拆分為N
部分。 下面的代碼只會下載來自TRAIN的30.000張圖片和來自測試的5.000張圖片:
import tensorflow_datasets as tfds
train_half_1, train_half_2 = tfds.Split.TRAIN.subsplit(2)
test1, test2, test3, test4 = tfds.Split.TEST.subsplit(4)
train_first_half = tfds.load("fashion-mnist", split=train_half_1)
test_second_quarter = tfds.load("fashion-mnist", split=test2)
以類似的方式,您可以獲得每個分割的N
百分比:
first_10_percent = tfds.Split.TRAIN.subsplit(tfds.percent[:10])
或者您甚至可以組合拆分以獲得更多這樣的數據(您可以根據需要進一步拆分此數據:
train_and_test = tfds.Split.TRAIN + tfds.Split.TEST
Keras以numpy
格式加載數據,雖然它不建議,並且不允許用簡單的map
執行許多操作,你可以使用標准Python的切片表示法拆分它們:
import tensorflow as tf
fashion_mnist = tf.keras.datasets.fashion_mnist
(X_train, y_train), (X_test, y_test) = fashion_mnist.load_data()
# First 10.000 elements from train
X_train_subset = X_train[:10000]
# Elements from 1000 to 5000 from test labels
y_test_subset = y_test[1000:5000]
# Elements from 8500 to the end of test data
X_test_subset = X_test[8500:]
另一方面,對於某些應用程序(尤其是更多非標准應用程序)使用numpy
數組而不是tf.data.Dataset
可能更方便,因此選擇權在您tf.data.Dataset
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.