有谁知道所有重要的pycaffe命令是否有备忘单?到目前为止,我只使用matlab接口和终端+ bash脚本来使用caffe.
我想转向使用ipython并完成ipython笔记本示例.但是我发现很难概述python的caffe模块中的所有函数.(我也是python的新手).
我需要在卷积神经网络(CNN)中找到关于单个卷积滤波器的输入层的梯度,作为可视化滤波器的方法.
给定Caffe的Python接口中经过训练的网络(例如本示例中的网络),如何根据输入层中的数据找到conv-filter的渐变?
编辑:
根据cesans的回答,我添加了以下代码.我输入图层的尺寸是[8, 8, 7, 96].我的第一个转换层conv1有11个过滤器,大小为1x5,导致尺寸[8, 11, 7, 92].
net = solver.net
diffs = net.backward(diffs=['data', 'conv1'])
print diffs.keys() # >> ['conv1', 'data']
print diffs['data'].shape # >> (8, 8, 7, 96)
print diffs['conv1'].shape # >> (8, 11, 7, 92)
Run Code Online (Sandbox Code Playgroud)
从输出中可以看出,返回的数组net.backward()的尺寸等于Caffe中我的图层的尺寸.经过一些测试后,我发现这个输出分别是data层和conv1层的损耗梯度.
但是,我的问题是如何根据输入层中的数据找到单个转换滤波器的梯度,这是另外的.我怎样才能做到这一点?
我正在尝试使用caffe来实现Schroff,Kalenichenko和Philbin"FaceNet:用于人脸识别和聚类的统一嵌入"中描述的三重态丢失,2015.
我是新手,所以如何计算反向传播的梯度?
computer-vision neural-network gradient-descent deep-learning caffe
我想为caffe中的语义分段创建一个自定义丢失层,需要多个输入.我希望这种损失函数具有额外的输入因子,以便惩罚小物体中的未命中检测.
为此,我创建了一个图像GT,其中包含每个像素的权重.如果像素属于小物体,则重量很高.
我是caffe的新手,我不知道如何同时为我的网络提供三个2-D信号(图像,gt-mask和每像素权重).我怀疑caffe如何处理rgb数据和gt数据之间的对应关系.
我想扩展这个以便为类标签图像设置2 gt,而将另一个设置为丢失功能.
你能给出一些暗示以达到这个目的吗?
谢谢,
computer-vision neural-network image-segmentation deep-learning caffe