1
我正在使用pycaffe的反向函数来实现反卷积过程。我首先运行正向进程并获取网络的输出数据blob,然后将数据blob分配给顶层的diff blob,然后运行向后处理。但是,底层的差异不会被后向处理所改变,全部为零。我不知道差异为什么没有被后退转移。pycaffe不能从上到下传递差异
def backward(fcn_net, im, name_list_, target_blob):
start=name_list_[len(name_list_)-1]; end=name_list_[0]
print(start, end)
fcn_net.blobs[start].diff[...]=im[...]
fcn_net.backward(start=start, end=end)
return fcn_net.blobs[target_blob].diff
在上面的代码中,name_list_包含所有的conv层和合并层,并且从最后一个conv层开始向后。谢谢!