【发布时间】:2017-05-30 17:57:21
【问题描述】:
我有一个训练有素的网络,它由以下几层组成: {conv1,pool1,conv2,pool2,conv3,pool3,conv4,pool4,fc5,fc6,输出} 其中 fc 表示全连接层,conv 表示卷积层。
我需要对一些图像进行特征提取。我正在使用千层面和 Theano。 我需要保存每一层的特征以供以后分析。我是这门语言的新手,所以我试图找到示例代码或一些教程(使用 theano/lasagne)。但是,我不明白自己应该做什么。
如果有人能指导我如何实现特征提取,我将不胜感激。
提前谢谢你
编辑:我关注的是 gtoni 先生/女士的 cmets,这是我的代码:
feat_all = []
for layer in layer_list:
feat = np.zeros_like(lasagne.layers.get_output([self.acnn.cnn[layer]], inputs = img, deterministic=True))
feat[:] = lasagne.layers.get_output([self.acnn.cnn[layer]], inputs = img, deterministic=True)
feat_all.append(feat)
=
就我而言,我需要保存每一层的特征。我想写一个像我们在 Caffe 中那样的函数:
self.net.blobs['data'].data[0] = img
self.net.forward(end=layer_list[-1])
feat_all = []
for layer in layer_list:
feat = np.zeros_like(self.net.blobs[layer].data[0])
feat[:] = self.net.blobs[layer].data[0]
feat_all.append(feat)
但是,我的训练模型是用 lasagne 和 theano 编写的,所以我必须以 lasagne 格式实现它。
在写完上面的代码(在千层面)之后,我得到一个空输出。 我想知道为什么以及如何解决它。
提前谢谢你
【问题讨论】:
标签: python neural-network theano feature-extraction lasagne