![](/img/trans.png)
[英]How to get a particular layer output of a pretrained VGG16 in pytorch
[英]How to get the output of a certain layer in the SLIM vgg16 net?
我想在苗条的vgg16网络中获取fc6层的输出,有什么好方法吗?
实际上,我已经找到了一种可能的解决方案,请帮助我确认其正确性。
fc6层的输出实际上是Relu
op的结果,即激活函数。 通过执行tf.get_default_graph().get_operations()
,我发现它的名称是vgg_16/fc6/Relu
。 因此,也许我想要的是tf.get_default_graph().get_tensor_by_name('vgg_16/fc6/Relu:0')
?
从我从Tensorflow代码中提取的图像分割( 链接 )中提取的内容,这就是如何在预定义的TF-Slim模型的一层上提取输出的方法:
from tensorflow.contrib.slim import nets
last_layer_logits, end_points = nets.vgg.vgg_16(img_batch, num_classes=num_classes)
# examples
pool4_features = end_points['vgg_16/pool4']
fc8_features = end_points['vgg_16/fc8']
如果您在实际vgg_16模型之上使用另一个argscope,则应将其添加到vgg_16 argscope之前:
fc8_features = end_points['my_great_model_argscope/' + 'vgg_16/fc8']
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.