Простая модель TensorFlow (Keras) с использованием объектов структурированных данных tf.tensor - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть два тензорных объекта, train и labels.Набор данных train имеет 100 функций, а labels имеет 1 функцию.И train, и labels имеют M записей.Точно так же у нас есть наборы dev и dev_labels с таким же соответствующим количеством функций и N записей.После импорта Keras из TensorFlow мы создали нейронную сеть следующим образом:

model = keras.Sequential([
    keras.layers.Flatten(input_shape=[100]),
    keras.layers.Dense(100, activation=tf.nn.relu),
    keras.layers.Dense(10, activation=tf.nn.softmax)
])

model.compile(optimizer='adam', 
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

Теперь мы хотим уместить модель с пакетами размера P для эпох Q.

model.fit(train_X, train_Y, validation_data=(dev_X, dev_Y), epochs=Q, steps_per_epoch=??, validation_steps=??)

Послечитая документацию по model.fit, я все еще не уверен, что здесь будет правильным steps_per_epoch или validation_steps.При использовании тензоров данных в качестве входных данных для модели эти параметры должны быть указаны.В этом примере, что бы мы указали для steps_per_epoch и validation_steps?

1 Ответ

0 голосов
/ 03 февраля 2019

steps_per_epoch должно быть примерно равно количеству обучающих примеров, деленному на размер пакета (по умолчанию 32).Аналогично, validation_steps должен быть примерно равен числу примеров проверки, деленному на размер пакета.Вы можете найти документацию здесь .

steps_per_epoch: Integer или None.Общее количество шагов (партий образцов) до объявления одной эпохи законченной и начала следующей эпохи.При обучении с использованием входных тензоров, таких как тензоры данных TensorFlow, значение по умолчанию None равно количеству выборок в вашем наборе данных, разделенному на размер пакета, или 1, если это невозможно определить.

validation_steps: актуально, только если steps_per_epochуказано.Общее количество шагов (партий образцов) для проверки перед остановкой.

В вашем случае они должны быть

steps_per_epoch = len(train_X) / batch_size
validation_steps = len(dev_X) / batch_size
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...