openvino 구덩이 밟기 기록-onnx모델을 IR중간모델로 전환

4109 단어
Openvino linux를 설치하면 홈페이지 강좌에 따라 Openvino를 설치하고 설정합니다.https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html#install-openvino
ONNX 모델 전환은pytorch,tensorflow 등 프레임워크에서 모델로 훈련하면 ONNX 모델로 전환한 다음에 IR 중간 모델로 전환할 수 있다.onnx 모델을 IR 모델로 변환: 1.관련 디렉터리에 들어가기
cd ~/deployment_tools/model_optimizer

2. 변환
python3 mo_onnx.py --input_model  --output_dir 

위의 방법은 onnx 모델zoo의 모델을 변환할 수 있다.그러나 자신이 훈련한 모델(openvino가 지원하는 모델)이라면 오류가 발생할 수 있습니다.
 RuntimeWarning: divide by zero encountered in long_scalars
  undefined_dim = num_of_input_elements // num_of_output_elements
[ ERROR ]  Cannot infer shapes or values for node "output/WithoutBiases".
[ ERROR ]  MatMul input shapes are incorrect. COL_INDEX_DIMs are not equal. Node: output/WithoutBiases. Shapes: [array([0, 0]), array([512,  10])]
[ ERROR ]  
[ ERROR ]  It can happen due to bug in custom shape infer function <function MatMul.infer at 0x7f62059e9200>.
[ ERROR ]  Or because the node inputs have incorrect values/shapes.
[ ERROR ]  Or because input shapes are incorrect (embedded to the model or passed via --input_shape).
[ ERROR ]  Run Model Optimizer with --log_level=DEBUG for more information.
[ ERROR ]  Exception occurred during running replacer "REPLACEMENT_ID" (<class 'extensions.middle.PartialInfer.PartialInfer'>): Stopped shape/value propagation at "output/WithoutBiases" node. 

input shape 가 알 수 없기 때문일 수 있습니다. (모든 모델은 이렇지만 onnx 모델 조오만 성공적으로 변환할 수 있습니다.) 따라서 2의 코드를 다음과 같이 수정합니다.
python3 mo_onnx.py --input_model  --output_dir  --input_shape [1,3,32,32](   )

마지막으로 전환에 성공했습니다.

좋은 웹페이지 즐겨찾기