TensorFlow: Como definir o declínio da taxa de aprendizado com base em épocas?

A função de redução da taxa de aprendizadotf.train.exponential_decay Leva umdecay_steps parâmetro. Para diminuir a taxa de aprendizado a cadanum_epochs, você definiriadecay_steps = num_epochs * num_train_examples / batch_size. No entanto, ao ler dados de.tfrecords arquivos, você não sabe quantos exemplos de treinamento existem dentro deles.

Para obternum_train_examples, você poderia:

Configurar umtf.string_input_producer comnum_epochs=1.Execute issotf.TFRecordReader/tf.parse_single_example.Faça um loop e conte quantas vezes ele produz alguma saída antes de parar.

No entanto, isso não é muito elegante.

Existe uma maneira mais fácil de obter o número de exemplos de treinamento de um.tfrecords arquivar ou definir o declínio da taxa de aprendizado com base em épocas, em vez de etapas?

questionAnswers(3)

yourAnswerToTheQuestion