Die Lernratenabklingfunktion tf.train.exponential_decay
benötigt einen decay_steps
Parameter. Um die Lernrate alle num_epochs
zu verringern, würden Sie decay_steps = num_epochs * num_train_examples/batch_size
einstellen. Beim Lesen von Daten aus .tfrecords
Dateien wissen Sie jedoch nicht, wie viele Trainingsbeispiele darin enthalten sind.TensorFlow: Wie wird der Lernratenabfall basierend auf Epochen festgelegt?
num_train_examples
zu erhalten, könnten Sie:
- eine
tf.string_input_producer
mitnum_epochs=1
einrichten. - Führen Sie diese durch
tf.TFRecordReader
/tf.parse_single_example
. - Schleife und zähle, wie oft es vor dem Anhalten eine Ausgabe erzeugt.
Dies ist jedoch nicht sehr elegant.
Gibt es einen einfacheren Weg, entweder die Anzahl der Trainingsbeispiele aus einer .tfrecords
Datei zu erhalten oder den Lernratenverfall basierend auf Epochen anstatt Schritten einzustellen?