Веса и нейронные сети - PullRequest
0 голосов
/ 10 мая 2018

Можно ли узнать весовую матрицу полностью обученной нейронной сети с несколькими скрытыми слоями.В частности, можем ли мы проверить и сохранить эти значения для каждой итерации обучения.

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

На каждой итерации вы передаете train_op в sess.run с просьбой вычислить это право?Примерно так:

sess.run([train_op], feed_dict={...})

Вы также можете попросить его вернуть другие значения, такие как тензоры cost и accuracy, используя что-то вроде этого:

_, result_cost, result_accuracy = sess.run([train_op, cost, accuracy], feed_dict={...})

Если этовсе имеет смысл, тогда доступ к весовой матрице не сложнее.Вам просто нужна ссылка на тензор матрицы весов (сохраняйте его при создании или ищите тензор по имени):

weight_matrix, _ = sess.run([weight_tensor, train_op], feed_dict={...})

Обратите внимание, что вы можете запросить значение любого тензора (переменной илиоперация) вместе с вашей тренировкой.Вы также можете просто вызвать sess.run и запросить это конкретное значение:

weight_matrix = sess.run([weight_tensor])
0 голосов
/ 10 мая 2018

Класс tf.train.Saver предоставляет методы для сохранения и восстановления моделей.Функция tf.saved_model.simple_save - это простой способ создать сохраненную модель, пригодную для обслуживания.

См. Официальную документацию здесь.

...