я хочу смотреть не только непрерывную ошибку, которая должна быть оптимизирована во время обучения, но и другие недифференцируемые показатели (например, ошибку классификации top1 или top5) во время обучения. Является ли это возможным?
Пример:
outputs = MyModel(inputs)
continuous_loss = some_loss(outputs, labels)
# it could return tensor with dimension different than continuous loss,
# which return only one scalar for batch
another_loss = some_another_loss(outputs, labels, ...)
optimizer = tf.RMSPropOptimizer(lr, momentum)
train_op = slim.learning.create_train_op(continuous_loss, optimizer, ...)
# this call is blocking and i can't run another op with session.run
slim.learning.train(train_op, logdir, ...)
Мне нужно было просто переопределить train_step_fn и передать в массив slim.learning.train [train_op, Another_loss]