# Converter.py InputQNormalizeFold optimizer 에러 관련 문의

**URL:** <https://community.topst.ai/t/converter-py-inputqnormalizefold-optimizer/401>\
**Category:** Neural Network\
**Created:** [December 6, 2024, 3:34pm UTC](https://community.topst.ai/t/converter-py-inputqnormalizefold-optimizer/401 "2024-12-06T15:34:15Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![user6](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.topst.ai/user6/32/347_2.png) [@user6](https://community.topst.ai/u/user6)\
**Post date:** [December 6, 2024, 3:34pm UTC](https://community.topst.ai/t/converter-py-inputqnormalizefold-optimizer/401/1 "2024-12-06T15:34:15Z")

</div>

안녕하세요. 저는 현재 Arcface를 NPU를 통해 동작 시키려고 시도 중입니다. converter를 사용하여 컨버터 중 계속 같은 과정에서 에러가 발생해 진행하지 못하고 있는 상황입니다.

 ![image](https://canada1.discourse-cdn.com/flex004/uploads/topst/original/1X/295f9b724a91f82c1750cfb40c6c3b52c2e50e99.png)  
위 화면은 에러 화면입니다. inputQnormalizeFold optimizer에서 문제가 발생하는데 이유를 모르겠습니다. 도움 부탁드립니다.

아래는 시도한 명령과 현재 컨버팅 시도 중인 모델 onnx 파일 링크 입니다.  
python EnlightSDK/converter.py ./sample/archface.onnx --type unknown --mean 0.5 0.5 0.5 --std 0.5 0.5 0.5 --omit-post-process --dataset Custom --dataset-root my\_dataset\_path --enable-track

> **[archface.onnx](https://drive.google.com/file/d/1Z_7wzrS2JXSq81bhgX0RKf5jSKoqz0E7/view?usp=drive_link)**
>
> Google Drive file.

 ![archface.onnx (1)](https://canada1.discourse-cdn.com/flex004/uploads/topst/original/1X/2e12d31ce9136664631b2247a0fd9c9558fe617f.png)

---

<div class="post-metadata">

**Author:** ![user6](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.topst.ai/user6/32/347_2.png) [@user6](https://community.topst.ai/u/user6)\
**Post date:** [December 8, 2024, 4:03pm UTC](https://community.topst.ai/t/converter-py-inputqnormalizefold-optimizer/401/2 "2024-12-08T16:03:51Z")

</div>

위의 내용은 주말 간 해결하였으나, 해결 못한 것이 있어 추가적으로 문의 드립니다.  
**python EnlightSDK/converter.py ./sample/archface.onnx --type unknown --mean 0.5 0.5 0.5 --std 0.5 0.5 0.5 --omit-post-process --dataset Custom --dataset-root my\_dataset\_path --enable-track**  
위 명령으로 컨버팅 시도 중  
**[WARN] Mismatch layer.dims and tensor.shape ([512, 1, 1] vs [512, 1, 512])**  
아래 경고가 발생합니다.  
현재 Output Layer중 Reshape를 통한 차원 축소가 이상하게 이루어 지고 있는 것 같습니다.  
batch\_size를 1이라 가정했을때 output shape는 (1,512)가 나오는 것을 pytorch 모델과 onnx 모델 변환 이전 과정에서는 확인했으나, converter를 거치는 과정에서 문제가 발생하는 것 같습니다.

 ![image](https://canada1.discourse-cdn.com/flex004/uploads/topst/original/1X/2bee41b206245a83b260f0a507be150041eeceda.png)

> **[archface.onnx](https://drive.google.com/file/d/1Z_7wzrS2JXSq81bhgX0RKf5jSKoqz0E7/view?usp=drive_link)**
>
> Google Drive file.

혹시 제가 놓친 부분이 있다면 알려주시면 감사하겠습니다.

> - 혹시 Gather나 Shape가 문제가 되는 것 같아,  
> ![image](https://canada1.discourse-cdn.com/flex004/uploads/topst/original/1X/e163f588f77501b4d2b0aea8fa58fb85409cd78d.png)  
> batch\_size를 고정하여 제거해봤지만 그대로 인것을 확인하였습니다.

---

<div class="post-metadata">

**Author:** ![TOPST-Admin](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.topst.ai/topst-admin/32/381_2.png) [@TOPST-Admin](https://community.topst.ai/u/TOPST-Admin)\
**Post date:** [December 10, 2024, 12:43am UTC](https://community.topst.ai/t/converter-py-inputqnormalizefold-optimizer/401/3 "2024-12-10T00:43:55Z")

</div>

안녕하세요.  
확인 후 답변 드리겠습니다.

감사합니다.

---

<div class="post-metadata">

**Author:** ![TOPST-Admin](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.topst.ai/topst-admin/32/381_2.png) [@TOPST-Admin](https://community.topst.ai/u/TOPST-Admin)\
**Post date:** [December 13, 2024, 2:21am UTC](https://community.topst.ai/t/converter-py-inputqnormalizefold-optimizer/401/4 "2024-12-13T02:21:48Z")

</div>

안녕하세요.  
해당 문의에 답변 드립니다.  
SE( = GlobalAveragePool → … Mul) 레이어 구조는 지원하지 않습니다.

 ![image](https://canada1.discourse-cdn.com/flex004/uploads/topst/original/1X/7dfec4f9b59739b3dfbf4566ebb763c0c5f1bc34.png)

감사합니다.

---

<div class="post-metadata">

**Author:** ![user6](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.topst.ai/user6/32/347_2.png) [@user6](https://community.topst.ai/u/user6)\
**Post date:** [December 14, 2024, 7:33am UTC](https://community.topst.ai/t/converter-py-inputqnormalizefold-optimizer/401/5 "2024-12-14T07:33:50Z")

</div>

답변 감사합니다. 추가적으로 몇가지 더 여쭙습니다.  
BatchNormalization2D를 사용할 때, 특정 신경망 구조에서만 적합하게 동작하는지 궁금합니다. Batchnormalization2D 사용 시 Batchnormal2d → Conv2d 순서로 배치하면,

> Start InputQNormalizeFold optimizer  
> Traceback (most recent call last):  
> File “EnlightSDK/converter.py”, line 668, in   
> main()  
> File “EnlightSDK/converter.py”, line 644, in main  
> model = prepare\_model(args)  
> File “EnlightSDK/converter.py”, line 134, in prepare\_model  
> net = optimizer.optimize(net)  
> File “”, line 41, in optimize  
> File “”, line 98, in apply  
> File “”, line 44, in apply  
> RuntimeError: The size of tensor a (3) must match the size of tensor b (64) at non-singleton dimension 1

위 에러가 발생합니다.  
제 생각으로는 Conv-\>BatchNormal-\>Activation 순서로 레이어를 구성할 경우 하나로 묶이게 되어 이런 현상이 발생하는 것 같은데 이를 피할 수는 없을까요?

또한 제 경우에는 Batchnormalization 추가 시 변환 과정에서 양자 손실이 급격히 증가하는 것 같은데 정상적인 상황인지도 궁금합니다.

---

<div class="post-metadata">

**Author:** ![TOPST-Admin](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.topst.ai/topst-admin/32/381_2.png) [@TOPST-Admin](https://community.topst.ai/u/TOPST-Admin)\
**Post date:** [December 18, 2024, 1:10am UTC](https://community.topst.ai/t/converter-py-inputqnormalizefold-optimizer/401/6 "2024-12-18T01:10:38Z")

</div>

안녕하세요.

BN → Conv2d 순으로 신경망이 구성 되어 있더라도, SW Toolkit에서 처리 되야 합니다.

신경망과 converter 옵션을 전달해 주시면 확인해 보겠습니다.

감사합니다.
