Python 2.7 获取轴don';尝试使用classification.ipny可视化caffe中的所有层时出现匹配数组错误
我是python的新手,对该语言有着非常基本的了解,我已经说过,我正在尝试为权重及其过滤器的所有层进行可视化。为此,我不再重复:Python 2.7 获取轴don';尝试使用classification.ipny可视化caffe中的所有层时出现匹配数组错误,python-2.7,caffe,Python 2.7,Caffe,我是python的新手,对该语言有着非常基本的了解,我已经说过,我正在尝试为权重及其过滤器的所有层进行可视化。为此,我不再重复: # the parameters are a list of [weights, biases] filters = net.params['conv1'][0].data vis_square(filters.transpose(0, 2, 3, 1)) 更改图层名称时,我尝试使用如下循环: for layer_name, param in net.params
# the parameters are a list of [weights, biases]
filters = net.params['conv1'][0].data
vis_square(filters.transpose(0, 2, 3, 1))
更改图层名称时,我尝试使用如下循环:
for layer_name, param in net.params.iteritems():
# the parameters are a list of [weights, biases]
filters = net.params[layer_name][0].data
vis_square(filters.transpose(0, 2, 3, 1))
现在,它可以在第一层正常工作,但出现此错误并停止运行:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-16-cf7d5999a45c> in <module>()
2 # the parameters are a list of [weights, biases]
3 filters = net.params[layer_name][0].data
----> 4 vis_square(filters.transpose(0, 2, 3, 1))
ValueError: axes don't match array
这里怎么了?如果有人能帮我一把,我将不胜感激 对于后续层,通道数>64。例如,如果第一层中有
num\u output:64
,第二层中也有num\u output:64
,则存储权重的4D矩阵的形状为64 x 64 x高x宽
。进行转置后,它将是高度x宽度x 64
您的函数无法处理64层对象,尽管它非常适合处理3层对象
我只需执行
n=int(np.ceil(np.sqrt(data.shape[0]*data.shape[3]))
并将整个对象重塑为一层对象。我不认为将卷积内核可视化为RGB会给您带来任何见解。对于任何有类似问题的人(“轴与数组不匹配”错误):在转置之前,我将数据放入一个变量中,给出确切的大小。如果我的数据是大小为10*12*15的数据:
DataI = Data [0:9, 0:11, 0:14]
DataII = np.transpose(DataI,(0,2,1))
这对我有用
DataI = Data [0:9, 0:11, 0:14]
DataII = np.transpose(DataI,(0,2,1))