root@0f8e879ca158:/# ../venv/bin/python3 ./ws_topst/ENLIGHT_NPU_V20_SW_Toolkit_v0.9.9_ufldv2/EnlightSDK/converter.py ./best_dual_input_depth_extracted2_1in.onnx --model-config=./ws_topst/ENLIGHT_NPU_V20_SW_Toolkit_v0.9.9_ufldv2/input/hanyang.json --dfl-reg-max 16 --disable-fuse-normalization --input-ch-pad repeat
저번에 전달드렸던 명령어와 같이 input-ch-pad 로 진행하여 convert 진행했었습니다.
저도 동일한 명령어로 컨버팅 진행하였습니다.
혹시 사용 중인 툴킷 버전이 1.0.0 버전이실까요? 어느시점에 전달 받으신 툴킷인지 확인 부탁드립니다.
감사합니다.
json 파일에 양자화 과정에서 “–quantize-post-process”: false 이 옵션을 제거 하시는게 좋을 것 같습니다. 현재 1.0.0 버전에서 해당 옵션은 지원하지 않습니다.
추가로 컨버팅 시에 --dfl-reg-max 16 옵션도 제거하시고 진행부탁드립니다.
감사합니다.
혹시 다시한번 툴킷 전달받을 수 있을까요? 다시한번 검토해보고자 합니다! 감사합니다
툴킷 공유드립니다.
혹시 저 옵션을 제거하고 시도하였을때도 같은 에러가 발생하나요?
그리고 현재 0.9.9 버전의 툴킷을 사용하고 계신가요? 현재 해당 툴킷은 라이센스가 만료되어 사용 불가한 툴킷이라 아마 동작하지 않을 것으로 예상됩니다.
권한이 없다고 떠서 okharr1@gmail.com 으로 권한 설정해주시면 감사드리겠습니다!
안녕하십니까 전해주신 toolkit 으로 다시 검토하였습니다. 결과는 아래와 진행한 명령어입니다.
이렇게 되면 output 으로 나온 파일들과 dfl layer 이후 부분 c 로 짜서 보드에서 inference 하면 되는 내용이 맞을까요?
감사합니다
넵 해당 방식으로 진행하시면 됩니다.
감사합니다.
답변 감사드립니다. 추가로 지금은 위에 전달드린 이미지의 명령어와 같이 –input-ch-pad repeat 을 해서 channel 을 3에서 6으로 했는데 제가 저번 기술세미나에서 질문드렸던 것처럼 보드에서 이미지를 concat 해서 들어가는게 가능한지, 방법은 확인 후 전달해주신다고 하셔서 혹시 내용 전달해주시면 감사드리겠습니다!
해당 사항은 현재 확인 중에 있습니다.
저희 측에서도 이미지를 concat해서 들어가는 경우에 대해서는 고려해보지 못해서 확인 후 답변 남기도록 하겠습니다.
감사합니다.
혹시 지금은 yolov8 에서 dfl layer 이후는 제거하고 grid bin 파일을 만들어서 같이 convert 하는 식인데 custom layer 에 대해서도(yolov8 에서 head 일부 변경) 지원이 가능하도록 converter.py 를 수정할수는 없을까요? 거의 달라진건 없고 기존에 dfl, nc 만 나오던 것에서 1 만 추가되어 dfl, nc, depth 이렇게 나오고 있습니다
현재 기본 yolov8 모델에 맞춰 컨버터 및 양자화, 컴파일 네트워크 빌드까지 맞춰져있는 상황이기에 수정은 가능하지만 작업량이 어느정도일지는 저희측에서도 확인이 어려운 상황입니다.
기존에 작성된 yolov8 후처리 (dlf, nms 등) 코드를 참고하셔서 새롭게 작성하시는 편이 작업하시기 편하실 것 같습니다.
converter 같은 코드에서 import 하고있는 다른 코드들은 다 암호화되어있어 확인하기 어려워 새롭게 sdk 코드를 작성하기 어려울 것 같은데 혹시 암호화 해제가 가능할까요? 말씀해주신대로 진행하려면 필요할 것 같아 질문드립니다.
해당 부분은 라이센스 위반으로 공개가 어려울 것 같습니다. 저희 텔레칩스 내부 자산이 아니기 때문입니다. 모델을 unknown타입으로 변환하셔서 후처리를 직접 작성하셔야 할 것 같습니다.
답변 감사합니다. 추가로 compile 까지 다 하게되면 npu_cmd.bin , quantized_network.bin, post_process.c , network.h 등등 나오게 되는데 postprocess 옵션을 넣지 않으면 net.so 파일은 나오지 않는게 맞을까요?
net.so는 make 작업을 진행하신 후에 생성되는 파일입니다. 컴파일이 완료된 후에는 나오지 않습니다.
감사합니다.
답변 감사드립니다 제가 가지고 있는 enlight npu sw toolkit tutorial nipa 와 ENLIGHT SW Toolkit Application Guide_v1.1 을 확인했을 때는 compile 까지 진행에 대해 나와있는데 npu 에서 inference 를 위해 추가 작업이 더 필요한 것일까요?
현재 unknown 타입에 대한 모델 변환 가이드는 준비중입니다.
우선 build network 디렉토리에서 네트워크 빌드를 진행하셔야합니다. 진행하실때 custom_postproc 내의 custom_postproc.c 파일을 수정하시면 됩니다. 해당 부분에는 자르신 연산을 c형태로 구현하시면 됩니다.
수정 후에 네트워크 빌드하시고 tcnnapp에서 모델을 돌리시면 됩니다.
make 에 대한 가이드가 혹시 있을까요? 새로운 sdk 전달받을 때 같이 받지 못해서 질문드립니다