У меня есть код, который настроен следующим образом. Чтобы вычислить функцию потерь, мне нужно сделать несколько сложных вычислений с весами и уклонами сети, чтобы получить некоторое количество c_input
, которое передается заполнителю C
. Проблема в том, что c_input
меняется с каждой итерацией. Если бы это был SGD или Адам, это было бы легко реализовать, так как нужно вручную l oop на протяжении итераций обучения, но этот шаг скрыт оптимизаторами scipy, поэтому я не уверен, что это можно сделать. Если это возможно, как я должен go об этом?
C = tf.placeholder(tf.float64, [None, 1], name="C")
loss = <some function of C and network weights and biases>
optimizer = tf.contrib.opt.ScipyOptimizerInterface(
loss, method='L-BFGS-B',
options={'maxiter': 100})
sess = tf.Session()
sess.run(tf.global_variables_initializer())
optimizer.minimize(sess, loss_callback=print_loss, fetches=[loss], feed_dict={C: c_input})