在使用SNPE将我的caffe模型转换为dlc时,我遇到了一个问题。
特别是在“比例”层中。
前两层如下
name: "First"
input: "data"
input_shape {
dim: 1
dim: 3
dim: xxx
dim: xxx
}
layer {
name: "data/Scale"
type: "Scale"
bottom: "data"
top: "data/Scale"
scale_param {
filler {
value: 0.0078125 }
bias_term: true
bias_filler:
value: -1
}
}
param {
lr_mult: 0
decay_mult: 1
}
param {
lr_mult: 0
decay_mult: 0
}
}
layer {
name: "Conv2d_0/convolution"
type: "Convolution"
convolution_param {
num_output: 32
pad: 1
kernel_size: 3
stride: 2
}
bottom: 'data/Scale'
top: "Conv2d_0/convolution"
}
我收到以下错误:
(“遇到错误:”,“列表索引超出范围”)
堆栈跟踪: 追溯(最近一次通话):
文件“ /home/nithin.ga/SNPE_19/snpe-1.19.2/bin/x86_64-linux-clang/snpe-caffe-to-dlc”,第115行,在 args.enable_strict_validation)
文件“ /home/nithin.ga/SNPE_19/snpe-1.19.2/lib/python/snpe/snpe_caffe_to_dlc.py”,行1145,在转换中 self.convert_caffe_new(self.spec)
convert_caffe_new中的文件“ /home/nithin.ga/SNPE_19/snpe-1.19.2/lib/python/snpe/snpe_caffe_to_dlc.py”,行1327 layer_seq = self._blob_connectivity_map.check_s_folding(layer)
在check_s_folding中的文件“ /home/nithin.ga/SNPE_19/snpe-1.19.2/lib/python/snpe/snpe_caffe_to_dlc.py”第459行
output_layer = self._blobs [prev_layer_output_blob] ['output_of_layers'] [0] IndexError:列表索引超出范围
谢谢。
答案 0 :(得分:0)
以下是SNPE的Scale层限制的文档:
https://developer.qualcomm.com/docs/snpe/limitations.html
批处理归一化(+缩放)
- Caffe:缩放比例(scale_layer)是可选的。如果存在,它将扩展批处理规范化(batch_norm_layer)的功能。如果不存在,batch_norm_layer仍将按照Caffe规范进行转换。 scale_layer在网络中的其他任何地方使用,但不支持batch_norm_layer之后。
支持缩放,但前提是它是数据层的一部分:
https://developer.qualcomm.com/docs/snpe/network_layers.html
比例(图像)
输入图像缩放比例,保持宽高比。该功能是 主要用于图像,但从技术上讲,任何2D输入数据都可以 合理处理。缩放参数作为 模型转换器工具的选项。
本身没有这种Caffe层。此功能是 技术上是Caffe数据提供程序的一部分。