Python 如何最大限度地激活TensorFlow DeepDream中的层?
基本上我是在学习教程,但是 我正在尝试从下载的pb文件加载inception v5:Python 如何最大限度地激活TensorFlow DeepDream中的层?,python,tensorflow,Python,Tensorflow,基本上我是在学习教程,但是 我正在尝试从下载的pb文件加载inception v5: model_fn = 'tensorflow_inception_graph.pb' graph = tf.Graph() sess = tf.compat.v1.InteractiveSession(graph=graph) with tf.compat.v1.gfile.FastGFile(model_fn, 'rb') as f: graph_def = tf.compat.v1.GraphDe
model_fn = 'tensorflow_inception_graph.pb'
graph = tf.Graph()
sess = tf.compat.v1.InteractiveSession(graph=graph)
with tf.compat.v1.gfile.FastGFile(model_fn, 'rb') as f:
graph_def = tf.compat.v1.GraphDef()
graph_def.ParseFromString(f.read())
t_input = tf.compat.v1.placeholder(np.float32, name='input')
imagenet_mean = 117.0
t_preprocessed = tf.expand_dims(t_input-imagenet_mean, 0)
op = sess.graph.get_operations()
tf.import_graph_def(graph_def, {'input': t_preprocessed})
# Maximize the activations of these layers
names = ['mixed4c', 'mixed5']
layers = [tf.keras.Model.get_layer(name).output for name in names]
上面的代码给了我一个错误:
Traceback (most recent call last):
File "main.py", line 52, in <module>
layers = [tf.keras.Model.get_layer(name).output for name in names]
File "main.py", line 52, in <listcomp>
layers = [tf.keras.Model.get_layer(name).output for name in names]
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/tensorflow/python/keras/engine/training.py", line 2399, in get_layer
raise ValueError('Provide either a layer name or layer index.')
ValueError: Provide either a layer name or layer index.
回溯(最近一次呼叫最后一次):
文件“main.py”,第52行,在
layers=[tf.keras.Model.get_layer(name).name中name的输出]
文件“main.py”,第52行,在
layers=[tf.keras.Model.get_layer(name).name中name的输出]
文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-
packages/tensorflow/python/keras/engine/training.py”,第2399行,在get_层
raise VALUERROR('提供图层名称或图层索引')
ValueError:提供图层名称或图层索引。