KL720功能實現問題

問題一:請問有辦法在KL720上跑自己所寫的code來控制LED燈嗎?如果可以的話,請問該如何操作?

問題二:請問KL720有辦法透過uart輸出嗎?如果可以,請問最多可以輸出到幾組?

Comments

  • 您好,

    問題一: 要控制LED的話若只是要開關可以透過GPIO來控制,KL720有很多隻GPIO,但開發版上沒有現成GPIO接LED的設計,需要額外將選定的GPIO接到自己的LED上。

    問題二: 這個也可以。uart有兩組,uart0跟uart1。

  • 您好:

    那我想請教一下,我要如何將自己寫的程式放進KL720裡,也是要轉成.NEF檔嗎?還是要在自己寫的程式引入什麼函式庫才可以呼叫KL720支援?請問您們這邊有相關的參考資料嗎?

    有關於在KL720上使用GPIO以及UART的設定與應用,請問您們這邊有相關的參考資料嗎?

  • 您好,

    是的,可以在KL720 firmware的程式裡修改東西。如果想要開發自己的AI模型,才會需要轉成.nef檔。

    關於GPIO的應用,這裡有提到KL720 SDK的build資料夾裡面有一些範例可以給您參考。

    SOC Peripheral Drivers - Document Center (kneron.com)


    以下的網址有UART的設定,

    Flash Management - Document Center (kneron.com)


    KL720的程式範例也有在Kneron PLUS裡,可以在開發中心下載。如果有任何疑問,請隨時問我們!

  • 好的 謝謝您

  • 您好:

    我想請教一下,我看您給我的教程中,不管是使用uart或是jtag進行flash的燒錄是不是都要有如下圖紅框內之裝置,我看一開始的教程說明好像是這樣

      

    Best Regards 俊佑

  • 你好,紅框的是Jlink adapter, 在Jtag燒錄時會用到,UART燒錄時則不需要。

  • 好的 感謝您



    Best Regards 俊佑

  • 您好:

    不好意思,我想請教一下,想要將自己寫的程式燒錄進KL720裡,是可以直接透過如下圖之步驟(將<options>改成自己的程式名稱與副檔名)將程式轉成.bin檔再燒錄進去嗎?還是需要再經過其他步驟?


    Best Regards 俊佑

  • edited July 2022

    您好:

    不好意思,剛上一篇我問錯了,這篇統整問題再問一次


    問題一:我要將自己寫的程式(c code 或 python)燒錄進KL720裡,請問一下我要如何將程式轉成.bin檔?因為我看範例都是燒.bin檔進去flash memory裡,是透過bin_gen.py這個程式轉換嗎?還是有其他方式?


    問題二:我照著範例做透過uart方式燒錄遇到如下圖之問題,做到第3.4步,我已經按了reset鍵可是沒有像範例圖示一樣出現後續步驟,請問原因為何?

    參考範例網址:http://doc.kneron.com/docs/#720_1.5.0/flash_management/flash_management/

    Best Regards 俊佑

  • edited July 2022

    您好,

    問題一: 不好意思請問一下,您現在想要寫Kneron PLUS上的程式(用C或Python寫),還是firmware (KL720 SDK 1.5.0)的程式(用C寫)呢? 是跟上面所說的LED有關係嗎?

    如果要寫firmware的程式的話,會需要使用keil C並且需要購買付費授權,才能用keil輸出.bin檔。


    問題二: 沒有像範例一樣的"BOOT MODE: Manual"有可能是因為您的KL720的板子還沒有換成正確的mode。板子上有兩個小的開關,

    可以連接UART的線,在PuTTY或是Tera Term上檢查它的mode。要看到BOOT MODE: Manual的話,要把這兩個開關,用尖的東西(例如筆),兩個都往上面(如果是上圖的話,兩個都往左)

    這是KL520的,但是有寫到要如何用manual boot mode: Flash Management - Document Center (kneron.com)


    *KL720連接到UART上,用BOOT MODE: Manual的時候,看起來像這個樣子:


  • edited July 2022

    您好:

    問題一:是的,是跟LED控制程式有關係,我們的目的是要燒LED控制程式進去KL720裡,讓KL720可以獨立運作並透過GPIO控制LED燈,所使用的程式語言有可能是C或python,這樣是不是只能寫firmware轉成bin檔去燒錄,還是有其他方法可以達到同樣目的?

    問題二:請問一定是要透過PuTTY或是Tera Term檢查它的mode或燒錄,還是可以透過terminal檢查它的mode或燒錄?

    問題三:請問我開發好的AI模型轉成.nef檔燒錄進KL720,之後就可以讓KL720獨立運作我開發好的AI模型了嗎?還是還要轉成bin檔?


    不好意思,因為是第一次使用貴公司的產品,我對這方面又不太熟,所以問題有比較多且有的問題可能比較無腦,請您多多包涵,感謝您


    Best Regards 俊佑

  • 您好:

    問題多沒關係,不用不好意思! 因為有很多東西,第一次使用都會覺得複雜。

    問題一: 是的,如果要用GPIO來控制LED的話,需要寫firmware然後轉成bin檔。編寫firmware需要透過ARM的套件Keil C來編譯,沒辦法使用python。

    問題二: 只要能夠觀看serial port data的terminal都可以,速度請將baud rate設定為115200。

    問題三: 開發好的AI模型轉成.nef檔,就可以讓KL720運作開發好的AI模型了(可以用Kneron PLUS裡的generic inference這隻function跑這個模型)。只有firmware才會需要轉成bin檔喔。

  • 您好:

    問題一:請問要將Kneron-mmpose的姿態偵測demo燒錄進KL720,讓KL720可以獨立執行姿態偵測demo的整體流程為何?

    操作系統為ubuntu18.04,執行Kneron-mmpose的姿態偵測demo完整指令如下圖紅框內所示

    我目前大概的想法是將faster_rcnn轉成一個nef檔,litehrnet轉成一個nef檔,之後可以將兩個nef檔合併在一起,然後top_down_video_demo_with_mmdet.py就不知道怎麼辦了,想說跟您確認一下整體流程,避免我操作方向錯誤。


    問題二:請問要如何將影片輸入進KL720進行推論,以及要如何從KL720裡輸出推論完的影像?

    Best Regards 俊佑

  • 您好:

    問題一: Kneron-mmpose 具體流程您可以參考: https://github.com/kneron/kneron-mmpose

    裡面有 Tutorial-Kneron Edition 給您參考: rsn18_hand_pose_step_by_step.md

    Tutorial 內有 .nef 使用教學,與如何產生出自己的 .nef。

    幫您釐清一下,使用 top_down_img_demo_with_mmdet.py 不會使用到 Kneron 的加速晶片產品,如果您是想使用 top_down_img_demo_with_mmdet.py 移植到 Kneron 加速晶片上使用,您必須了解模型的架構與模型的推論輸出結果,最後再針對結果去做您想要的呈現與運用。


    問題二: 要用KL720進行推論,可以用Kneron PLUS (用C和Python都可以使用),請參考這個連結: http://doc.kneron.com/docs/#plus_python/introduction/run_examples/

    可以將example的KL720DemoGenericInference裡面的圖片改成自己的影片(要用電腦的攝影機的話也可以參考KL720DemoCamGenericInferenceDropFrame),然後用Open CV來輸入。影片會變成一張一張圖片,這樣就可以進行推論,然後將推論結果顯示出來。要輸出成檔案的話,可能需要請您查看看如何用Open CV來輸出影像。

  • 您好:

    那我想讓KL720獨立運行姿態偵測功能是只要按照官方的litehrnet的教學(參考網址:http://doc.kneron.com/docs/#model_training/regression/),將litehrnet轉成.nef檔,之後燒錄進KL720裡再透過example的KL720DemoGenericInference餵影片進去,就可以獨立運行姿態偵測功能了嗎?


    Best Regards 俊佑

  • 您好:

    是的,也需要將fw_scpu.bin與fw_ncpu.bin燒錄進KL720 (這兩個.bin檔在Kneron PLUS的res/firmware/KL720裡面),然後把.nef檔放在models的資料夾裡,再改example的KL720DemoGenericInference,這樣就可以進行姿態偵測了。

  • 您好:

    好的,感謝您


    Best Regards 俊佑

  • 您好:

    我按照著官方yolov5的操作教學(參考網址:http://doc.kneron.com/docs/#model_training/object_detection_yolov5/),遇到了一些問題,

    問題一:我在跑Save and Convert to ONNX的步驟時,遇到如下圖紅框內之錯誤,我是直接用現成的pretrained_paths_720.yaml去跑的,我也有試過將from models.yolo import Model改成from .models.yolo import Model,但還是有錯誤


    問題二:後來我有打開pretrained_paths_720.yaml去看,發現資料夾中沒有如下圖紅框內的檔案,請問這兩個檔案是不是要透過train.py跑完才會生成?

    問題三:然後我開始跑train.py code時,遇到了如下圖紅框內之錯誤,但我已經有把coco數據集放到data資料夾裡面了,還是出現讀不到的情況

    再麻煩您為我解惑

    然後KL720DemoGenericInference我已經成功改成可以讀圖並存檔了,非常感謝您


    Best Regards 俊佑

  • 您好:

    問題一: 不好意思,我看到您的圖片裡是有看到有執行下面的command,不過不確定有沒有漏掉exporting前面的../ (然後確認這個yolov5資料夾的外面有exporting資料夾,裡面應該要有yolov5_export.py)

    Default的path to pretrained_path_yaml_file是../yolov5/data/pretrained_paths_520.yaml

    問題二: 關於training的東西我不太確定,需要問一下同事,請等一下喔

    問題三: 請問一下,您跑train.py code的時候的command是什麼呢?

  • 您好:

    問題一:我執行的路徑與指令如下圖所示,我有將Default的path to pretrained_path_yaml_file改成../yolov5/data/pretrained_paths_720.yaml,也有確認過yolov5資料夾外面的exporting資料夾有yolov5_export.py,且有試過兩種引入pretrained_paths_720.yaml的路徑指令,換出現找不到./best.pt檔案的錯誤,這問題就會回歸到問題二。


    問題二:好的,再麻煩您了,感謝您

    問題三:我執行的路徑與指令如下圖所示


    再麻煩您為我解惑


    Best Regards 俊佑

  • edited July 2022

    @盧俊佑

    Hi 俊佑,

    問題一與問題二相關這裡一起回答,

    您框出的兩個紅色 

    1. path: ./best.pt 可以為您 train 出來的 model 或是使用在 Kneron ModelZoo 提供的 model,差別在於您是有根據您的運用去訓練出你想要的模型並使用您自己的模型。

    Kneron ModelZoo 提供的 model 網址: https://github.com/kneron/Model_Zoo/blob/main/detection/yolov5/yolov5s/best.pt

    2. pt_path: ./yolov5s.pt (可根據使用者的需求更改),這個是使用 yolov5_export.py 後,會 export 出來的 .pt,您將會在與 yolov5_export.py 同一層資料夾內看到名為 "yolov5s.pt" 的 model。


    問題三,

    您可能需要確認一下您的 coco datasets 是否有按照 http://doc.kneron.com/docs/#model_training/object_detection_yolov5/ "Directory Organization" 的部分,根據裡面描述的資料結構放置您的 images 與 labels。

    如果確認好之後,請確認 http://doc.kneron.com/docs/#model_training/object_detection_yolov5/ "dataset.yaml(coco.yaml)" 裡面的 path、train、val 路徑是否指向您的 datasets 位置。

  • 您好:

    好的,了解,我再試看看,

    我們上次有提到keil-c是要付費授權才可以轉成bin檔,

    請問您那邊方便透漏付費授權金額大概是多少嗎?


    Best Regards 俊佑

  • 您好:

    這個裡面,有附一些keil MDK的網站: v1.5.x - Document Center (kneron.com),也有keil的文檔連結可以參考。

    價錢的話,這裡有寫: Compare MDK Editions (keil.com),我們建議使用者購買essential version即可。

  • edited July 2022

    您好:

    請問您知道義晶的AI BOX嗎?他板子上面的晶片也是用貴公司的KL720,

    我有相關的問題想請教您,

    問題一:

    我使用USB3.0的傳輸線,一端接AI BOX的USB3.0 port,一端接電腦的USB3.0 port,

    目前已確定線跟port都是USB3.0的規格且AI BOX也有接上電源,

    但電腦都還是讀不到AI BOX(打開裝置管理員也沒有看到相關裝置的名稱),請問該如何解決?

    AI BOX實體圖如下:


    Best Regards 俊佑

  • 您好:

    不好意思,我不太清楚義晶的板子,可能需要請您詢問義晶的人員或是販賣這個AI BOX給您的人幫您處理了。

  • 您好:

    好的沒問題,感謝您。

    Best Regards 俊佑

  • edited August 2022

    您好:

    我透過kneron-mmpose/tools/train.py基於coco數據集,訓練完kneron-mmpose/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_30_coco_256x192.py模型之後,

    只在work_dirs資料夾裡看到訓練的log檔而沒有看到.pth檔,請問是什麼原因?

    我也有基於此官方教學https://doc.kneron.com/docs/#model_training/regression/完成要使用Kneron預處理的litehrnet訓練與測試前置設定,

    code的部份,只有將litehrnet_30_coco_256x192.py裡的samples_per_gpu=64改成samples_per_gpu=32而已。


    Best Regards 俊佑

  • Hello,

    基於論壇分類討論的機制,還希望討論串內的內容與該篇主題相關。若有訓練相關的問題,歡迎至我們模型專區發起新的討論,屆時也會有專人協助回覆,感謝。


The discussion has been closed due to inactivity. To continue with the topic, please feel free to post a new discussion.