cosa significa reset in Tensorflow 2 dataset?

sto seguendo la documentazione di TensorFlow 2 Keras. il mio modello si presenta così:

train_dataset = tf.data.Dataset.from_tensor_slices((np.array([_my_cus_func(i) for i in X_train]), y_train))
train_dataset = train_dataset.map(lambda vals,lab: _process_tensors(vals,lab), num_parallel_calls=4)
train_dataset = train_dataset.shuffle(buffer_size=10000)
train_dataset = train_dataset.batch(64,drop_remainder=True)
train_dataset = train_dataset.prefetch(1)
model=get_compiled_model()
model.fit(train_dataset, epochs=100)

la documentazione dice che

Note that the Dataset is reset at the end of each epoch, so it can be
reused of the next epoch.

If you want to run training only on a specific number of batches from
this Dataset, you can pass the steps_per_epoch argument, which
specifies how many training steps the model should run using this
Dataset before moving on to the next epoch.

If you do this, the dataset is not reset at the end of each epoch,
instead we just keep drawing the next batches. The dataset will
eventually run out of data (unless it is an infinitely-looping
dataset).

cosa significa il reset? TensorFlow leggerà i dati dei tensori dopo ogni epoca? o solo reshuffles e corre map funzione? voglio che TensorFlow legga i dati dal numero dopo l’epoca ed esegua _my_cus_func. posso piuttosto passare _my_cus_func su dataset map or apply api, ma sono più comodo nel farlo su python list o array numpy.

EN From: What does reset actually mean in Tensorflow 2 dataset?

More similar articles:

3 Comments

  1. in questo contesto, reset significa iniziare iterazione su dataset da zero. nel vostro caso particolare, il codice manca repeat() funzione. quindi, se si specifica il parametro steps_per_epoch come questo

    model.fit(train_dataset, steps_per_epoch=N, epochs=100)

    si itererà sul set di dati per N passi, se N è inferiore al numero effettivo di esempi, si concluderà la formazione. se N è più grande, concluderà un’epoca, ma ancora termina quando si esaurisce i dati. se si aggiunge ripetere,

    train_dataset = train_dataset.shuffle(buffer_size=10000).repeat()

    avvierà il nuovo ciclo sopra il dataset quando il numero reale degli esempi è raggiunto, non quando nuova epoca comincia.

Leave a Reply

Your email address will not be published. Required fields are marked *