米爾科技提醒您:您的瀏覽器版本過低或者使用了兼容模式,為了獲得更好的瀏覽體驗,建議使用IE10以上的瀏覽器或使用極速模式。 請升級瀏覽器以獲得更好的體驗!

  1. <rt id="ktmol"></rt>

    如何用百度大腦FZ3深度學習卡+Paddle模型創建你的應用?

    文章來源:米爾科技 發布日期:2020.7.17 瀏覽次數:1457
    無標題文檔


    前言:米爾科技的FZ3是與百度緊密合作推出的一款基于Xilinx Zynq Ultrascale CZU3EG芯片打造的深度學習計算卡,芯片內部集成了4核ARM A53處理器+GPU+FPGA的架構,具有多核心處理能力、FPGA可編程能能力以及視頻流硬件解碼能力等特點。

    同時內置了基于Linux操作系統+百度深度學習平臺-飛槳(Paddle)定制的深度學習軟核,深度兼容百度大腦模型資源與工具平臺(EasyDL/AIStudio),可高效、快速的實現模型的訓練-部署-推理等一系列流程,極大降低了開發驗證、產品集成、科研教學、項目部署的門檻。

     

    軟核簡介

     


    FZ3 計算卡內部搭載Linux系統,開發者可以基于Linux系統進行應用程序進行開發。 
    主要調用流程: 
    ->1.應用程序獲取視頻輸入 
    ->2.調用預測庫加載模型 
    ->3.調度模型和底層驅動加速模塊進行計算 
    ->4.獲得運行結果


    如何用Paddle模型開發應用?

    1.模型獲得

    目前Paddle-Mobile僅支持Paddle訓練的模型。如果你手中的模型是不同種類的模型,需要進行模型轉換才可以運行。驗證過的網絡包含resnet、Inception、ssd、mobilenet等。

    訓練模型:
    如果您沒有模型,可以使用sample中的模型,或自己訓練模型。
    1.通過PaddlePaddle開源深度學習框架自己訓練模型; 
    2.通過AI Studio平臺訓練模型;
    3.可以在EasyDL等平臺上傳標注數據,訓練模型;
    轉換模型:
    1.如果您已有caffe模型,我們提供了相應的轉換工具,幫助轉為Paddle模型。                                                                                                              
    2.如果您已有Tensorflow模型,我們提供了相應的轉換工具,幫助轉為Paddle模型。


    2.連接視頻數據源

    FZ3提供多種視頻輸入硬件接口,支持多種協議輸入圖像數據作為數據源。包括bt1120、usb、mipi、GIGE
    等協議。
    1.usb協議視頻數據輸入:
    可以選擇uvc usb攝像頭作為視頻源。插入usb攝像頭到FZ3 的usb接口
    2.bt1120協議視頻數據輸入:
    可以選擇海思具有bt1120視頻數據輸出的網絡攝像頭,通過fpc排線連接FZ3的BT1120接口,具體針腳的定義可參考硬件說明。
    3.mipi協議視頻數據輸入:
    可以選擇適配好的mipi攝像頭作為視頻源,通過fpc連接FZ3的mipi接口。
    4.GIGE協議視頻數據輸入:
    可以選擇支持linux系統的GIGE相機,并聯系我司進行相機官方sdk的適配,硬件連接FZ3的網口。


    3.加載驅動

    使用FZ3的加速功能,預測庫會把計算量大的op通過驅動調用fpga進行運算。運行自己的應用前需要加載驅動,編譯好的驅動位于/home/root/workspace/driver目錄,提供無日志輸出和有日志輸出兩個版本。
    加載驅動

    insmod /home/root/workspace/driver/fpgadrv.ko 

    卸載驅動(正常情況您不需要卸載驅動,若需要加載有日志輸出的版本,可以通過如下命令卸載后,再加載該版本)
    rmmod /home/root/workspace/driver/fpgadrv.ko 
    設置驅動自動加載


    1.在系統中添加自啟動腳本


    // 打開啟動目錄 
    cd /etc/init.d/ 
    // 新建啟動腳本并編輯,名稱可以自定義 
    vim eb.sh 
    腳本內容 
    chmod +x /home/root/workspace/driver/fpgadrv.ko insmod /home/root/workspace/driver/fpgadrv.ko


    2.建立軟鏈接


    cd /etc/rc5.d/ 
    ln -s /etc/init.d/eb.sh S99eb


    3.更改腳本權限


    chmod +x /etc/init.d/eb.sh reboot 
    四、使用預測庫
    FZ3支持Paddle-Moblie預測庫,編譯好的預測庫,位于/home/root/workspace/paddle-mobile。具體使用 把預測庫的頭文件和動態庫拷貝到自己應用中即可。另外可以參考我們提供的sample。Paddle-Moblie源碼可以參考https://github.com/PaddlePaddle/paddle-mobile
    五、創建應用
    1.添加預測庫
    拷貝/home/root/workspace/paddle-mobilie/下面的動態庫和頭文件到您的工程中。在CmakeLists.txt添加paddle- mobile庫的引用
    set(PADDLE_LIB_DIR "${PROJECT_SOURCE_DIR}/lib" ) 
    set(PADDLE_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include/paddle-mobile/" )
    
    include_directories(${PADDLE_INCLUDE_DIR}) LINK_DIRECTORIES(${PADDLE_LIB_DIR}) 
    ... 
    target_link_libraries(${APP_NAME} paddle-mobile)


    2.添加模型
    拷貝自己訓練的模型到您的工程中
    3.添加預測數據源
    可以選擇圖片,攝像頭數據作為預測數據源,使用攝像頭需要插入相應的攝像頭。

    USB攝像頭
    1)插入攝像頭后,通過ls /dev/video* 查看設備接入情況。通過會顯示如下:

    /dev/video0 /dev/video1 /dev/video2
    /dev/video2為usb攝像頭v4l2輸出yuv數據,當應用提示找不到設備時,可以修改src/video_classify.cpp或者 
    src/video_detection.cpp。 通過/home/root/workspace/tools下video工具檢測攝像頭聯通性 
    // src/video_classify.cpp 169行config.dev_name = "/dev/video2";


    2)另外可以修改攝像頭分辨率

    // src/video_classify.cpp 170行 
    config.width = 1280; 
    config.height = 720;


    3)運行video工具

    //讀取usb攝像頭,采集一張圖片保存到本地 
    cd /home/root/workspace/tools/video 
    ./v4l2demo -i /dev/video2 -j -n 1 
    //如有疑問,查看幫助 
    ./v4l2demo -h


    執行程序后在build目錄下會生成jpg文件,可以查看圖片否正確。如果沒有生成圖片,檢測是否識別到USB設備。
    bt1120 ipc攝像頭
    FZ3通過bt1120協議接收原始數據進行推理后,可以把結果通過串口或spi傳回ipc(bt1120、串口、spi
    接口定義參考硬件說明)??梢栽趫D片幀的像素數據中攜帶幀編號。
    插入攝像頭后,通過/home/root/workspace/tools下video工具檢測攝像頭聯通性

    1)查看設備,正常情況下設備為/dev/vide01


    ls /dev/video* 
    /dev/video0	/dev/video1 
    2)配置攝像頭參數
    media-ctl -v --set-format '"a0010000.v_tpg":0 [RBG24 1920x1080 field:none]'


    3)運行video工具

    //讀取BT1120攝像頭,采集一張圖片保存到本地cd /home/root/workspace/tools/video 
    ./v4l2demo -i /dev/video1 -j -n 1 
    //如有疑問,查看幫助 
    ./v4l2demo -h


    執行程序后在build目錄下會生成jpg文件,可以查看圖片否正確。如果沒有生成圖片,檢測bt1120連接線是否正確。
    4.調用預測庫加載模型和使用預測數據
    初始化模型

    Predictor _predictor_handle = new Predictor(); 
    _predictor_handle->init(model, {batchNum, channel, input_height, input_width}, output_names);


    準備數據
    1.縮放圖片到指定的大小。如果網絡只能固定大小輸入,需要縮放到網絡輸入大小。
    2.圖片預處理(減均值、轉浮點、歸一化等).
    3.產出數據,由于FZ3使用的NHWC格式,通常視頻過來的數據就是NHWC格式,就不需要NHWC->NCHW轉換。預測數據
    調用API的predict接口,傳輸處理好的數據,獲取預測結果

    bool predict(const float* inputs, vector &outputs,vector > &output_shapes);


    更多說明請點擊了解:
    http://www.www.0750pt.com/product/mys-czu3eg.htm
    看到這里,你是否已經掌握了用米爾FZ3深度學習卡+百度飛槳(Paddle)模型來打造你的各種應用?
    實際應用場景參考:

     



    本文來自米爾科技,原文地址: http://www.www.0750pt.com/resource/549.asp,轉載請注明出處。

    久久啪狠狠2018中文字幕,天天做天天爱夜夜爽,印度肥妇BBW,西西人体44RT高清大胆摄影,中文字幕人成乱码在线观看,同性男男GV片观看网站 午夜男女生活片牲交.大香大香伊人在钱线久久.日本高清H色视频在线观看.日本AV三级片.亚洲国产a在线观看免费视频,中国熟妇牲交视频 国产日韩一区二区三区免费高清,欧美日韩精品视频一区在线观看,国精品午夜福利视频不卡麻豆,免费国产欧美国日产a,亚欧美无遮挡HD高清在线视频 日本最新免费二区三区,免费能直接看黄的视频,国产在线亚洲精品观看不卡,波多野结衣中文字幕久久,在线观看片免费人成视频,午夜无码中文字幕影院 国产精品综合色区,精品一线天学生在线观看,国产学生粉嫩泬无套在线观看,无码失禁吹潮在线播放,强被迫伦姧在线观看中文版 亚洲 日韩 中文 综合av,精品国产在线亚洲欧美,国产午夜在线精品,人人玩人人添人人澡欧美,在线男人的天堂,欧美日韩一本无码免费专区 在线a亚洲老鸭窝天堂,高清综合资源久插AV.爱明星导航,老鸭窝成人av在线视频,草色噜噜噜AV在线观看,曰本真人性做爰全过程视频
    久久在视频有精品视频,色色你懂得手机在线视频,国产精品你懂的在线播放,手机免费AV不卡在线老王66网,亚洲AV小说最新在线网址 国产成人亚洲综合无码加勒比,久久一本通凹凸一道久视,久久久久精品精品6精品精品,黑森林AV福利网站,凹凸在线视频分类 国产日韩一区二区三区免费高清,欧美日韩精品视频一区在线观看,国精品午夜福利视频不卡麻豆,免费国产欧美国日产a,亚欧美无遮挡HD高清在线视频 亚洲欧美国产,亚洲欧美中文日韩视频,欧美日韩一中文字不卡,日本视频高清免费观看,亚洲综合色在线视频,香港三级韩国三级日本三级 亚洲成AⅤ人在线视频,2021亚洲va在线va天堂va国产,2021无码天堂在线,亚洲欧美中文日韩在线v日本,在线不卡日本v一区二区,αv天堂在线观看免费 午夜三级理论在线观看,香港三香港日本三级在线理论亚洲,欧美$中文$日韩$视频,色悠久久久久综合网_伊人久久综在合线亚洲视频 欧美日本AV免费无码久久,欧美色视频日本片免费,露性器全程啪到尾的电影,国产AV中文在线观看国语,日韩人妻无码一区二区三区 免费特黄一级欧美大片久久网,色噜噜狠狠综合在爱老鸭窝,99精品视频69v精品视频,国产成人无码短视频,亚洲日韩5858P影音先锋 凹凸在线视频,凹凸在线观看视频,7m免费人成凹凸视频,国产凹凸在线视频一区,免费无码国产一级αv片,800av凹凸视频免费观看 我色我开心播播网,高清一本道在线观看,亚洲日本一区二区在线,亚洲日本中文字幕一区二区三区,亚洲日本中文乱码在线电影-视频一区国产第一页