KL720 執行example 報錯object 'KPCore' has no attribute問題
Hi,
需求為用貴司提供的mmdetection範例以yolox訓練的model
於AAEON PICO-APL3主機板上執行模型於KL720 usb dongle上
目前進度為透過Kneron DFUT工具已順利更新firmware與我自己訓練轉換後的nef檔,
並已可透過ScanDevices.py正確抓到並列出KL720
參考文件Run Examples - Document Center (kneron.com)時,
執行到Run Examples部分不論何種指令都會有相同報錯如下圖
如執行GenericCommand.py指令時報錯片段為
Traceback (most recent call last):
File "GenericCommand.py", line 128, in <module>
device_group = kp.core.connect_devices_without_check(usb_port_ids=[device_descriptor.usb_port_id])
AttributeError: type object 'KPCore' has no attribute 'connect_devices_without_check'
且執行KL720DemoGenericImageInferenceMultiThread.py也會有類似錯誤指明錯誤為kp模組
Traceback (most recent call last):
File "KL720DemoGenericImageInferenceMultiThread.py", line 29, in <module>
_generic_inference_input_descriptor: kp.GenericImageInferenceDescriptor,
AttributeError: module 'kp' has no attribute 'GenericImageInferenceDescriptor'
有確認已透過install_libusb.sh後,也會建立/etc/udev/rules.d/10-local.rules檔案
並且執行時不需加上sudo指令
已安裝套件如下
$ pip list
KneronPLUS 1.3.0
opencv-python 4.7.0.72
請問是否是還有少裝什麼套件或漏做步驟呢? 謝謝
Comments
您好,
connect_devices_without_check是Kneron PLUS v2.0.0以上的API,並沒有在Kneron PLUS v1.3.0裡面喔。
參考文檔在這裡: kp.core - Document Center (kneron.com)
請確認您的Kneron PLUS的版本是v2.0.0以上,然後將python/package裡面的.whl檔用pip install KneronPLUS-{version}-py3-none-any.whl指令來更新:
Install Dependency - Document Center (kneron.com)
Hi,
已依您建議將Kneron PLUS升級至v2.1.1
目前以貴司提供的mmdectection進行model training,
依據文檔如下
kneron-mmdetection/docs_kneron/yolox_step_by_step.md at main · kneron/kneron-mmdetection (github.com)
執行到Step 6-2進行Code改寫如下
執行時會有Firmware的報錯訊息
故將KL720 Firmware以Kneron_DFUT升級至2.1.1
再執行時Firmware抱錯訊息消失,但仍會有GenericRawImageHeader不支援的訊息
推測此API為1.3.0才支援, 而參考貴司Document Center中也沒提到GenericRawImageHeader功能的 V1.x to V2的改寫方式
故依文檔Step 6-1建議安裝kneron_plus_v1.3.0
此時再執行Step 6-2的Code不會再報錯,
但放置持續一兩個小時只有游標持續閃爍而沒有相對應的結果輸出,
並且此階段以Ctrl + C指令也完全關不掉程式
請問是否是版本錯誤? 或是我少安裝了什麼呢?
若我想透過自己訓練的yolo x nef檔進行512*512的png圖檔推論,
依此範例,該如何才能正確取得輸出結果呢?
Hi,
您的第一張圖片的code中的GenericRawImageHeader是可以在v2.1.1上跑,不過是在python的example_legacy之中的code,需要呼叫kp.v1才可以成功地跑喔
如果您希望用類似v1.3.0的code (包含GenericRawImageHeader),您可以參考一下kneron_plus/python/example_legacy裡面的python程式。
GenericRawImageHeader功能的 V1.x to V2的改寫方式可以參考這裡 (python): V1.x and V2 APIs Mapping Table - Document Center (kneron.com)
還有這裡: Migrate to Kneron PLUS 2 - Document Center
在執行python檔時不用加sudo,因為在python環境中用sudo的話會跑到另外一個環境,可能就不是您安裝的環境了。