TensorFlow создан для обработки итераторов или генераторов, а также для большего количества c входов фиксированной длины. В Python, len(my_iterator)
не определено. Таким образом, если вы не укажете epochs
и steps_per_epoch
(Примечание: не validation_steps
), TensorFlow не будет рассчитывать шаги, если входные данные являются итераторами. Вместо этого он будет перебирать данные до тех пор, пока они не будут исчерпаны. Если TensorFlow не указано явно (через параметры, которые я упомянул), сколько существует данных, он будет отображать x / unknown steps
для первой эпохи. Однако, достигнув конца первой эпохи, TensorFlow обнаружит, сколько существует данных, поэтому последующие эпохи укажут правильное количество шагов.
Что касается точности, достигающей 1, то это вполне ожидаемо меня. 1,0 или 100% - это максимальная точность, которая возможна. Другими словами, ваша нейронная сеть способна воспроизводить выходные данные для ваших тренировочных данных. Для более наглядного представления о производительности попробуйте отложить некоторые validation_data. Это, вероятно, будет немного ниже и даст вам лучшее представление о том, как ваша сеть будет работать с «дикими» данными.