До сих пор я обучил пару разных моделей в TensorFlow (с Keras) и вижу, что правильное определение размера batch_size, по-видимому, важно не только для скорости обучения, но и для точности получаемой модели.
Что меня смущает, так это случай, когда модель имеет фактический пакетный канал в качестве первого измерения на входе (и на выходе также). Если мой размер пакета равен 32, но я всегда ввожу 1 данные во время выполнения, то где применяется канал пакета? Как я мог бы использовать подавляющее большинство из них, если по своей сути я использую только 1 / batch_size его количество в прямом проходе?
Если вам интересна модель, которую я исследую, вот эта:
https://github.com/pierluigiferrari/ssd_keras/blob/master/models/keras_ssd300.py
см:
Форма вывода predictions
: (партия, n_boxes_total, n_classes + 4 + 8)
predictions = Concatenate(axis=2, name='predictions')([mbox_conf_softmax, mbox_loc, mbox_priorbox])
Тензоры прошли через множество других слоев, которые имели константы и такие, также предварительно обученные с помощью [batch_size]. Мне просто кажется, что входные данные в различных пакетных индексах должны были бы давать разные результаты. Может быть, мне просто нужно что-то невероятно очевидное, указанное мне.