Bagaimana cara membagi dataset tensorflow menjadi train, test dan validation dalam skrip Python?
Oct 20 2020
Pada notebook jupyter dengan Tensorflow-2.0.0, pemisahan uji validasi-train 80-10-10 dilakukan dengan cara ini:
import tensorflow_datasets as tfds
from os import getcwd
splits = tfds.Split.ALL.subsplit(weighted=(80, 10, 10))
filePath = f"{getcwd()}/../tmp2/"
splits, info = tfds.load('fashion_mnist', with_info=True, as_supervised=True, split=splits, data_dir=filePath)
Namun, ketika mencoba menjalankan kode yang sama secara lokal, saya mendapatkan kesalahan
AttributeError: type object 'Split' has no attribute 'ALL'
Saya telah melihat saya dapat membuat dua set dengan cara ini:
splits, info = tfds.load('fashion_mnist', with_info=True, as_supervised=True, split=['train[:80]','test[80:90]'], data_dir=filePath)
tapi saya tidak tahu bagaimana saya bisa menambahkan set ketiga.
Jawaban
FrancescoBoi Oct 21 2020 at 07:55
tfds.Split.ALL.subsplitatau tfds.Split.TRAIN.subsplittampaknya sudah usang dan tidak lagi didukung.
Beberapa dataset sudah terbagi antara train dan test. Dalam hal ini saya menemukan solusi berikut (menggunakan misalnya dataset mode MNIST):
splits, info = tfds.load('fashion_mnist', with_info=True, as_supervised=True,
split=['train+test[:80]','train+test[80:90]', 'train+test[90:]'],
data_dir=filePath)
(train_examples, validation_examples, test_examples) = splits
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'