保存feature map就是对你的代码有两个地方修改下就好了。
第一个:
在你的网络搭建的地方,你想保存哪一层的网络,就在那一层后添加代码:
#第一个卷积层(100——>50)
conv1=tf.layers.conv2d(
inputs=x,
filters=32,
kernel_size=[5, 5],
padding="same",
activation=tf.nn.relu,
kernel_initializer=tf.truncated_normal_initializer(stddev=0.01))
tf.add_to_collection('activations', conv1)
这里的第一个参数名称你可以随便改,第二个参数就是层变脸的名字。
第二个地方:
在你的训练epoch循环中的batch循环里,添加代码:
for epoch in range(n_epoch):
start_time = time.time()
#training
train_loss, train_acc, n_batch = 0, 0, 0
for x_train_a, y_train_a in minibatches(x_train, y_train, batch_size, shuffle=True):
_,err,ac=sess.run([train_op,loss,acc], feed_dict={x: x_train_a, y_: y_train_a})
tra