提取属性 Open Vino 时发生意外异常
Unexpected exception happened during extracting attributes Open Vino
我正在尝试使用 mo_caffe.py 脚本转换 Caffe 模型。我总是会收到如下错误,但在随机节点中(所有节点都有共同的 "BatchNorm" 操作)。使用 Nvidia-Digits (https://github.com/NVIDIA/DIGITS)
训练模型
Model Optimizer arguments:
Common parameters:
- Path to the Input Model: /home/deploy.caffemodel
- Path for generated IR: /dldt/model-optimizer/.
- IR output name: deploy
- Log level: INFO
- Batch: Not specified, inherited from the model
- Input layers: Not specified, inherited from the model
- Output layers: Not specified, inherited from the model
- Input shapes: Not specified, inherited from the model
- Mean values: Not specified
- Scale values: Not specified
- Scale factor: Not specified
- Precision of IR: FP32
- Enable fusing: True
- Enable grouped convolutions fusing: True
- Move mean values to preprocess section: False
- Reverse input channels: False
Caffe specific parameters:
- Path to Python Caffe* parser generated from caffe.proto: mo/front/caffe/proto
- Enable resnet optimization: True
- Path to the Input prototxt: /home/deploy.prototxt
- Path to CustomLayersMapping.xml: Default
- Path to a mean file: Not specified
- Offsets for a mean file: Not specified
Model Optimizer version: unknown version
[ INFO ] Importing extensions from: /dldt/model-optimizer/mo
[ INFO ] New subclass: <class 'mo.ops.crop.Crop'>
[ INFO ] Registered a new subclass with key: Crop
[ INFO ] New subclass: <class 'mo.ops.deformable_convolution.DeformableConvolution'>
[ INFO ] Registered a new subclass with key: DeformableConvolution
[ INFO ] New subclass: <class 'mo.ops.concat.Concat'>
[ INFO ] Registered a new subclass with key: Concat
[ INFO ] New subclass: <class 'mo.ops.split.Split'>
...
Some log info. I don't think anything interesting here.
...
[ WARNING ] Skipped <class 'extensions.front.override_batch.OverrideBatch'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.TopKNormalize.TopKNormalize'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.reshape_dim_normalizer.ReshapeDimNormalizer'> registration because it was already registered or it was
disabled.
[ WARNING ] Skipped <class 'extensions.front.ArgMaxSqueeze.ArgMaxSqueeze'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.standalone_const_eraser.StandaloneConstEraser'> registration because it was already registered or it wa
s disabled.
[ WARNING ] Skipped <class 'extensions.front.TransposeOrderNormalizer.TransposeOrderNormalizer'> registration because it was already registered or i
t was disabled.
[ WARNING ] Skipped <class 'mo.front.common.replacement.FrontReplacementOp'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.restore_ports.RestorePorts'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.softmax.SoftmaxFromKeras'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.reduce_axis_normalizer.ReduceAxisNormalizer'> registration because it was already registered or it was
disabled.
[ WARNING ] Skipped <class 'extensions.front.freeze_placeholder_value.FreezePlaceholderValue'> registration because it was already registered or it
was disabled.
[ WARNING ] Skipped <class 'extensions.front.no_op_eraser.NoOpEraser'> registration because it was already registered or it was disabled.
[ WARNING ] Node attributes: {'_in_ports': {}, 'model_pb': name: "conv2_3_sep_bn_left"
type: "BatchNorm"
bottom: "conv2_3_sep_left"
top: "conv2_3_sep_left"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
blobs { [0/1963]
shape {
dim: 32
}
}
blobs {
shape {
dim: 32
}
}
blobs {
shape {
dim: 1
}
}
phase: TRAIN
, 'kind': 'op', '_out_ports': {}, 'pb': name: "conv2_3_sep_bn_left"
type: "BatchNorm"
bottom: "conv2_3_sep_left"
top: "conv2_3_sep_left"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
, 'type': 'Parameter'}
[ ERROR ] Unexpected exception happened during extracting attributes for node relu1.
Original exception message: list index (0) out of range
这是我收到的错误消息。我还创建了一个 GitHub issue
Here 是我要从 Caffe 转换到 OpenVino 的模型
问题是 Nvidia-Digits 使用定制的 Caffe 的分支版本。这就是 OpenVino.
无法正确读取模型权重的原因
在使用 OpenVino 转换模型之前,我不得不使用 this 脚本来转换模型。
我正在尝试使用 mo_caffe.py 脚本转换 Caffe 模型。我总是会收到如下错误,但在随机节点中(所有节点都有共同的 "BatchNorm" 操作)。使用 Nvidia-Digits (https://github.com/NVIDIA/DIGITS)
训练模型Model Optimizer arguments:
Common parameters:
- Path to the Input Model: /home/deploy.caffemodel
- Path for generated IR: /dldt/model-optimizer/.
- IR output name: deploy
- Log level: INFO
- Batch: Not specified, inherited from the model
- Input layers: Not specified, inherited from the model
- Output layers: Not specified, inherited from the model
- Input shapes: Not specified, inherited from the model
- Mean values: Not specified
- Scale values: Not specified
- Scale factor: Not specified
- Precision of IR: FP32
- Enable fusing: True
- Enable grouped convolutions fusing: True
- Move mean values to preprocess section: False
- Reverse input channels: False
Caffe specific parameters:
- Path to Python Caffe* parser generated from caffe.proto: mo/front/caffe/proto
- Enable resnet optimization: True
- Path to the Input prototxt: /home/deploy.prototxt
- Path to CustomLayersMapping.xml: Default
- Path to a mean file: Not specified
- Offsets for a mean file: Not specified
Model Optimizer version: unknown version
[ INFO ] Importing extensions from: /dldt/model-optimizer/mo
[ INFO ] New subclass: <class 'mo.ops.crop.Crop'>
[ INFO ] Registered a new subclass with key: Crop
[ INFO ] New subclass: <class 'mo.ops.deformable_convolution.DeformableConvolution'>
[ INFO ] Registered a new subclass with key: DeformableConvolution
[ INFO ] New subclass: <class 'mo.ops.concat.Concat'>
[ INFO ] Registered a new subclass with key: Concat
[ INFO ] New subclass: <class 'mo.ops.split.Split'>
...
Some log info. I don't think anything interesting here.
...
[ WARNING ] Skipped <class 'extensions.front.override_batch.OverrideBatch'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.TopKNormalize.TopKNormalize'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.reshape_dim_normalizer.ReshapeDimNormalizer'> registration because it was already registered or it was
disabled.
[ WARNING ] Skipped <class 'extensions.front.ArgMaxSqueeze.ArgMaxSqueeze'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.standalone_const_eraser.StandaloneConstEraser'> registration because it was already registered or it wa
s disabled.
[ WARNING ] Skipped <class 'extensions.front.TransposeOrderNormalizer.TransposeOrderNormalizer'> registration because it was already registered or i
t was disabled.
[ WARNING ] Skipped <class 'mo.front.common.replacement.FrontReplacementOp'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.restore_ports.RestorePorts'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.softmax.SoftmaxFromKeras'> registration because it was already registered or it was disabled.
[ WARNING ] Skipped <class 'extensions.front.reduce_axis_normalizer.ReduceAxisNormalizer'> registration because it was already registered or it was
disabled.
[ WARNING ] Skipped <class 'extensions.front.freeze_placeholder_value.FreezePlaceholderValue'> registration because it was already registered or it
was disabled.
[ WARNING ] Skipped <class 'extensions.front.no_op_eraser.NoOpEraser'> registration because it was already registered or it was disabled.
[ WARNING ] Node attributes: {'_in_ports': {}, 'model_pb': name: "conv2_3_sep_bn_left"
type: "BatchNorm"
bottom: "conv2_3_sep_left"
top: "conv2_3_sep_left"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
blobs { [0/1963]
shape {
dim: 32
}
}
blobs {
shape {
dim: 32
}
}
blobs {
shape {
dim: 1
}
}
phase: TRAIN
, 'kind': 'op', '_out_ports': {}, 'pb': name: "conv2_3_sep_bn_left"
type: "BatchNorm"
bottom: "conv2_3_sep_left"
top: "conv2_3_sep_left"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
, 'type': 'Parameter'}
[ ERROR ] Unexpected exception happened during extracting attributes for node relu1.
Original exception message: list index (0) out of range
这是我收到的错误消息。我还创建了一个 GitHub issue
Here 是我要从 Caffe 转换到 OpenVino 的模型
问题是 Nvidia-Digits 使用定制的 Caffe 的分支版本。这就是 OpenVino.
无法正确读取模型权重的原因在使用 OpenVino 转换模型之前,我不得不使用 this 脚本来转换模型。