TDA4VM-SK配置与应用杂谈 硬件信息:SK-TDA4VM 用户指南 处理器SDK Linux边缘AI文档 配置文档:SK-TDA4VM处理器SDK Linux文档-getting_started,详细说明了如何配置,下面是简要步骤: 物料准备: SK板,microUSB串口线,USB camera,HDMI/DP显示器,≥16GB的内存卡,网线和局域网*,串口电源(5-20V DC ≥20w),散热风扇 1)通过USB挂载SD卡到Ubuntu(在虚拟机设置里) 2)下载SD card .wic image,使用Balena etcher tool 1.7.0 把图像闪存到SD卡上 3)然后插入SD卡到SK板,拨码开关拨到数字端,系统从SD卡启动 4)SK板连接显示器,上电,进入界面。 5)连接串口线,在虚拟机设置中挂载USB串口,使用 minicom 串口通讯: sudo apt-get install minicom #安装minicom(在minicom中自动换行:Ctrl+A Z W) sudo minicom -D /dev/ttyUSB2 -c on #输入用户名:root,登录tda4vm-sk #若连接了USB摄像头此时会显示端口信息,也可以运行 ./init_script.sh 查摄像头端口号:/dev/video2 连接显示器后(HDMI/DP),可以鼠标点击试运行开箱即用的 GUI 应用程序,也可使用 Python 和C++参考示例开发边缘 AI 应用程序: #配置 cd /opt/edgeai-gst-apps/configs/ #app_config_template.yaml中有参数介绍 vi image_classification.yaml #flow参数配置为摄像头输入input0 #运行实例,替换为configs下其他文件能执行不同任务,如object_detection.yaml #Classification (python) cd /opt/edgeai-gst-apps/apps_python ./app_edgeai.py ../configs/image_classification.yaml #ctrl+c退出 #Classification (c++) cd /opt/edgeai-gst-apps/apps_cpp ./bin/Release/app_edgeai ../configs/image_classification.yaml #视频流车辆检测 cd /opt/edgeai-gst-apps/scripts/optiflow `./optiflow.py ../../configs/object_detection.yaml -t` #如果没有单引号,终端会将 -t 选项解释为一个单独的参数,而不是作为 optiflow.py 命令的选项之一 #多flows flows: # flowname : [input,mode1,output,[mosaic_pos_x,mosaic_pos_y,width,height]] flow0: [input0,model1,output0,[160,90,800,450]] flow1: [input0,model2,output0,[960,90,800,450]] flow2: [input1,model0,output0,[160,540,800,450]] flow3: [input1,model3,output0,[960,540,800,450]] 如果运行过程中突然重启,一般是需要加个风扇增强散热。 可选操作:连接网线,ifconfig查询板子ip地址,后面即可使用ssh登陆,可以使用vscode的remote插件来直接ssh登陆到板子,然后可以很方便地修改配置文件; 安装tensorflow,onnx,python和c++依赖库 /opt/edge_ai_apps#./setup_script.sh Dataflows GStreamer输入管道: v4l2src device=/dev/video18 io-mode=2 ! image/jpeg, width=1280, height=720 ! jpegdec ! tiovxdlcolorconvert ! video/x-raw, format=NV12 ! tiovxmultiscaler name=split_01 split_01. ! queue ! video/x-raw, width=320, height=320 ! tiovxdlpreproc data-type=10 channel-order=1 mean-0=128.000000 mean-1=128.000000 mean-2=128.000000 scale-0=0.007812 scale-1=0.007812 scale-2=0.007812 tensor-format=rgb out-pool-size=4 ! application/x-tensor-tiovx ! appsink name=pre_0 max-buffers=2 drop=true split_01. ! queue ! video/x-raw, width=1280, height=720 ! tiovxdlcolorconvert out-pool-size=4 ! video/x-raw, format=RGB ! appsink name=sen_0 max-buffers=2 drop=true GStreamer output pipeline: appsrc format=GST_FORMAT_TIME is-live=true block=true do-timestamp=true name=post_0 ! tiovxdlcolorconvert ! video/x-raw,format=NV12, width=1280, height=720 ! queue ! mosaic_0.sink_0 appsrc format=GST_FORMAT_TIME block=true num-buffers=1 name=background_0 ! tiovxdlcolorconvert ! video/x-raw,format=NV12, width=1920, height=1080 ! queue ! mosaic_0.background tiovxmosaic name=mosaic_0 sink_0::startx="<320>" sink_0::starty="<180>" sink_0::widths="<1280>" sink_0::heights="<720>" ! video/x-raw,format=NV12, width=1920, height=1080 ! kmssink sync=false driver-name=tidss 边缘AI应用程序堆栈 TIDL TIDL_Importer RTOS SDK中内置TIDL_Importer,可以直接使用, 实现Demo模型转换和运行 Demo教程:MobileNetV2 Tensorflow,PeleeNet Caffe,JSegNet21V2 Caffe model,下面以PeleeNet为例 Config TIDL_Importer export TIDL_INSTALL_PATH=/home/wyj/SDK/ti-processor-sdk-rtos-j721e-evm-08_06_01_03/tidl_j721e_08_06_00_10 #配置永久环境变量更方便,sudo gedit /etc/profile,末尾加入如上代码,然后source /etc/profile加载立即生效,但是后续有变动要记得改 #optional:tidlModelGraphviz tool 模型可视化工具 sudo apt install graphviz-dev export TIDL_GRAPHVIZ_PATH=/usr cd ${TIDL_INSTALL_PATH}/ti_dl/utils/tidlModelGraphviz make 导入PeleeNet模型进行目标检测(caffe) 下载并提取.caffemodel,deploy.prototxt放入ti_dl/test/testvecs/models/public/caffe/peele/pelee_voc/ deploy.prototxt中改confidence_threshold: 0.4 cd ${TIDL_INSTALL_PATH}/ti_dl/utils/tidlModelImport ./out/tidl_model_import.out ${TIDL_INSTALL_PATH}/ti_dl/test/testvecs/config/import/public/caffe/tidl_import_peeleNet.txt #${TIDL_INSTALL_PATH}/ti_dl/test/下面的配置文件在RTOSsdk8.6中找不到,要从SDK8.5复制。 #成功分配内存 # 用于推理的已编译网络和I/O.bin文件 #在ti_dl/test/testvecs/config/tidl_models/caffe/tidl_net_peele_300.bin中已编译的网络文件 # 在ti_dl/test/testvecs/config/tidl_models/caffe/tidl_io_peele_300_1.bin中已编译的I/O文件 # 在 ti_dl/utils/perfsim/tidl_import_peeleNet.txt/tidl_import_peeleNet...csv中网络分析的性能仿真结果 #若是tensorflow例程,.pb需要先运行tensorflow的.local/lib/python3.6/site-packages/tensorflow/python/tools/optimize_for_inference.py工具进行模型推理优化,再导入。 运行PeleeNet进行目标检测 #在文件ti_dl/test/testvecs/config/config_list.txt顶部加入: 1 testvecs/config/infer/public/caffe/tidl_infer_pelee.txt 0 #运行,结果在ti_dl/test/testvecs/output/ cd ${TIDL_INSTALL_PATH}/ti_dl/test ./PC_dsp_test_dl_algo.out #若标注框大小不匹配,需要改deploy.prototxt文件顶部:dim: 512 dim: 1024 测试使用ti_dl/test/testvecs/input/ti_lindau_I00000.bmp作为语义分割的输入图像。 测试打印PC模拟所花费的时间,并将生成的后处理输出图像存储在ti_dl/test/testvecs/output/jsegNet1024x512.bin_ti_lindau_I00000.bmp 000000_tidl_post_proc3.png中,该图像显示为检测到的对象生成的分割掩码。 picture 1 EdgeAI TIDL工具 EdgeAI TIDL工具是TI提供的深度学习开发工具,后续会多次用到。 要求:OS——Ubuntu 18.04,Python版本——3.6 图 9 1)OSRT(开源运行时:TFLite、ONNX、TVM) 作为用户应用程序的顶级推理 API 2)将子图卸载到 C7x/MMA 以使用TIDL进行加速执行 3)在 ARM 核心上运行优化代码,以支持 TIDL 不支持的层(支持情况) Setup - TexasInstruments/edgeai-tidl-tools at 08_06_00_05 sudo apt-get install libyaml-cpp-dev git clone https://github.com/TexasInstruments/edgeai-tidl-tools.git #failed:手动安装证书 git config --global http.sslVerify false,export GIT_SSL_NO_VERIFY=1 cd edgeai-tidl-tools git checkout 08_06_00_05 export SOC=am68pa source ./setup.sh #Docker Based X86_PC Setup 跳过,不用docker装 #配置变量 export SOC=am68pa export TIDL_TOOLS_PATH=$(pwd)/tidl_tools export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TIDL_TOOLS_PATH export ARM64_GCC_PATH=$(pwd)/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu #配置永久环境变量更方便,sudo gedit /etc/profile,末尾加入如上代码,然后source /etc/profile加载立即生效 source ./scripts/run_python_examples.sh #编译运行 python3 ./scripts/gen_test_report.py #评估 #Compile and Validate on X86_PC for cpp_example mkdir build && cd build cmake ../examples && make -j && cd .. Edge AI Studio TI官方提供的云端环境,集成了一系列工具,无需本地搭环境,使用需要申请,提供两个工具:
1)模型编辑器:为 TI 嵌入式处理器训练、优化和编译 AI 模型。支持数据采集,标注,模型训练,以及上板编译,一步到位。目前仅支持分类和检测任务,只能使用modelzoo中的模型进行训练,比如OD任务只有yolox模型,灵活度不高,主打方便快捷。
2)模型分析器:远程连接到真实的评估硬件,基于jupyter笔记本,在 TI 嵌入式处理器上部署和测试 AI 模型性能,进行多个模型的Benchmark。前身叫做 TI边缘AI 云。
模型解析器
选TDA4VM设备,能使用3h,文件在顶端My Workspace; 进入后分两大板块:
找到模型: 比较模型性能, 能查看不同模型在板端的表现,用来选择适合自己需求的模型;
参考文献链接
https://www.ti.com.cn/zh-cn/video/6301563648001
https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-edgeai/TDA4VM/08_06_01/exports/docs/devices/TDA4VM/linux/release_notes_08_05.html
标签:dl,ti,杂谈,SK,tidl,test,TIDL,TDA4VM,PATH From: https://www.cnblogs.com/wujianming-110117/p/18299655