Я обучил модель DCGAN и теперь хотел бы загрузить ее в библиотеку, которая визуализирует драйверы активации нейронов с помощью оптимизации пространства изображений.Настройте input_map при импорте модели тензорного потока из файла metagraph
Следующий код работает, но заставляет меня работать с изображениями (1, ширина, высота, каналы) при последующем анализе изображений, что является болью (предположения библиотеки о форме ввода в сеть).
# creating TensorFlow session and loading the model
graph = tf.Graph()
sess = tf.InteractiveSession(graph=graph)
new_saver = tf.train.import_meta_graph(model_fn)
new_saver.restore(sess, './')
Я хотел бы изменить input_map, После прочтения источника, я ожидал этот код для работы:
graph = tf.Graph()
sess = tf.InteractiveSession(graph=graph)
t_input = tf.placeholder(np.float32, name='images') # define the input tensor
t_preprocessed = tf.expand_dims(t_input, 0)
new_saver = tf.train.import_meta_graph(model_fn, input_map={'images': t_input})
new_saver.restore(sess, './')
Но получил ошибку:
ValueError: tf.import_graph_def() requires a non-empty
name
ifinput_map
is used.
Когда стек доходит до tf.import_graph_def()
для поля имени указано значение import_scope, поэтому я попробовал следующее:
graph = tf.Graph()
sess = tf.InteractiveSession(graph=graph)
t_input = tf.placeholder(np.float32, name='images') # define the input tensor
t_preprocessed = tf.expand_dims(t_input, 0)
new_saver = tf.train.import_meta_graph(model_fn, input_map={'images': t_input}, import_scope='import')
new_saver.restore(sess, './')
Какой сетчатой мне следующую KeyError
:
KeyError: "The name 'gradients/discriminator/minibatch/map/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/RefEnter:0' refers to a Tensor which does not exist. The operation, 'gradients/discriminator/minibatch/map/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/RefEnter', does not exist in the graph."
Если установить 'import_scope', я получаю ту же ошибку или не установлен I 'input_map'.
Я не уверен, куда идти отсюда.
Если у вас есть автономный пример, я рад посмотреть на него. Вы можете видеть, как 'input_map' используется в [тесте] (https://www.github.com/tensorflow/tensorflow/blob/master/tensorflow/python/framework/meta_graph_test.py#L262). Я постараюсь как можно ближе пройти тест и посмотреть, где он расходится. – drpng
@drpng В gitub-проблеме, которую я открыл (https://github.com/tensorflow/tensorflow/issues/7634), приведен полный пример. Спасибо за рекомендацию посмотреть тест. Я попробую подход, который он излагает для функций более низкого уровня. – Sevenless