Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

tf.keras.utils.Sequence

TensorFlow 1 versi Lihat sumber di GitHub

objek dasar untuk pas ke urutan data, seperti dataset.

Setiap Sequence harus melaksanakan __getitem__ dan __len__ metode. Jika Anda ingin memodifikasi dataset Anda antara zaman Anda dapat menerapkan on_epoch_end . Metode __getitem__ harus kembali batch lengkap.

Catatan:

Sequence adalah cara yang lebih aman untuk melakukan multiprocessing. Struktur ini menjamin bahwa jaringan hanya akan melatih sekali pada setiap sampel per zaman yang tidak terjadi dengan generator.

contoh:

 from skimage.io import imread
from skimage.transform import resize
import numpy as np
import math

# Here, `x_set` is list of path to the images
# and `y_set` are the associated classes.

class CIFAR10Sequence(Sequence):

    def __init__(self, x_set, y_set, batch_size):
        self.x, self.y = x_set, y_set
        self.batch_size = batch_size

    def __len__(self):
        return math.ceil(len(self.x) / self.batch_size)

    def __getitem__(self, idx):
        batch_x = self.x[idx * self.batch_size:(idx + 1) *
        self.batch_size]
        batch_y = self.y[idx * self.batch_size:(idx + 1) *
        self.batch_size]

        return np.array([
            resize(imread(file_name), (200, 200))
               for file_name in batch_x]), np.array(batch_y)
 

metode

on_epoch_end

Lihat sumber

Metode yang disebut pada akhir setiap zaman.

__getitem__

Lihat sumber

Mendapat batch pada posisi index .

argumen
index posisi batch dalam Sequence.

Pengembalian
Batch

__iter__

Lihat sumber

Buat sebuah generator yang iterate atas Sequence.

__len__

Lihat sumber

Jumlah batch dalam Sequence.

Pengembalian
Jumlah batch di Sequence.