前面已经将准备好虚拟机服务器、开发板USB连接并联网、分别在device和host部署好运行和开发环境、安装Mind studio、跑通猫狗识别样例%EF%BC%88Atlas200DK%EF%BC%89)
接下来我要挑选已经训练好的模型,将kares保存的H5文件转换为tf的pb文件进而转换为device上能跑的om文件,在device简单跑通模型,接着小小改动程序加入我们的业务逻辑。
任务还是挺多的,后天上午上课,大后天11月30号-23:31作业截止。 还有一个问题要确定:后天上课是干嘛,上课还是做pre?
模型输入[244,244,3]
tensorflow、pytorch、keras框架模型保存的格式汇总
Tensorflow h5转pb
https://blog.csdn.net/dou3516/article/details/118441871
https://www.tensorflow.org/api_docs/python/tf/keras/models/save_model
https://www.tensorflow.org/tutorials/keras/save_and_load
TF模型h5转换为frozenGraphDef
How to export a TensorFlow 2.x Keras model to a frozen and optimized graph
https://medium.com/@sebastingarcaacosta/how-to-export-a-tensorflow-2-x-keras-model-to-a-frozen-and-optimized-graph-39740846d9eb
老外的的代码有用
Save, Load and Inference From TensorFlow 2.x Frozen Graph
https://leimao.github.io/blog/Save-Load-Inference-From-TF2-Frozen-Graph/
ModelConverter离线转换
通过上面的代码讲H5保存的模型导入再转换为frozengraphdef的pb文件,传到虚拟机中开始atc转换
2021-12-1314:34:49insertopfilecontent:aipp_op{related_input_rank:0src_image_size_w:224src_image_size_h:224crop:falsepadding:falseinput_format:YUV420SP_U8aipp_mode:staticcsc_switch:truerbuv_swap_switch:falsematrix_r0c0:298matrix_r0c1:0matrix_r0c2:409matrix_r1c0:298matrix_r1c1:-100matrix_r1c2:-208matrix_r2c0:298matrix_r2c1:516matrix_r2c2:0input_bias_0:16input_bias_1:128input_bias_2:128mean_chn_0:104mean_chn_1:117mean_chn_2:123min_chn_0:0.0min_chn_1:0.0min_chn_2:0.0var_reci_chn_0:1.0var_reci_chn_1:1.0var_reci_chn_2:1.0}2021-12-13 14:34:49 Start to convert model2021-12-13 14:34:49 export PATH=$PATH:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/ccec_compiler/bin:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/bin && export PYTHONPATH=$PYTHONPATH:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/python/site-packages:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/python/site-packages/auto_tune.egg/auto_tune:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/python/site-packages/schedule_search.egg:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/opp/op_impl/built-in/ai_core/tbe && export LD_LIBRARY_PATH=/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/lib64:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/driver:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/add-ons:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/acllib/lib64:$LD_LIBRARY_PATH:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/lib64/stub && export SLOG_PRINT_TO_STDOUT=1 && export ASCEND_OPP_PATH=/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/opp && /home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/bin/atc --input_shape="x:-1,224,224,3" --check_report=/home/wuboxin/modelzoo/sleep_or_not/Ascend310/network_analysis.report --input_format=NHWC --output="/home/wuboxin/modelzoo/sleep_or_not/Ascend310/sleep_or_not" --soc_version=Ascend310 --insert_op_conf=/home/wuboxin/modelzoo/sleep_or_not/Ascend310/insert_op.cfg --framework=3 --model="/home/wuboxin/models/mymodel/FrozenGraphDef/sleep_or_not.pb" --dynamic_batch_size="1,2,4,8"2021-12-13 14:34:49 ATC start working now, please wait for a moment.2021-12-13 14:35:42 ATC run success, welcome to the next use.2021-12-13 14:35:42 Convert model environment variables:2021-12-13 14:35:42 export PATH=$PATH:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/ccec_compiler/bin:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/bin && export PYTHONPATH=$PYTHONPATH:/home/wuboxin/Ascend/ascend-toolkit/5.0.3.alpha002/atc/python/site-packages:/homewuboxin@ubuntu3:~/modelzoo/sleep_or_not/Ascend310$ll总用量80068drwxr-x---2wuboxinwuboxin4096Dec1314:35./drwxr-x---3wuboxinwuboxin4096Dec1314:34../-rw-------1wuboxinwuboxin577Dec1314:34insert_op.cfg-rw-r-----1wuboxinwuboxin3787Dec1314:35ModelConvert.txt-rw-------1wuboxinwuboxin13462Dec1314:34network_analysis.report-rw-------1wuboxinwuboxin2196Dec1314:35sleep_or_not_config.json-rw-------1wuboxinwuboxin81945693Dec1314:35sleep_or_not.om
试运行sleep or not 的demo
复制前天跑通的demo工程目录文件,抽取赖床数据集和将上一部转换的om替换上去,执行,遇到一个问题
Execute model failed for acl.mdl.execute error 145000
参考
https://bbs.huaweicloud.com/forum/thread-132486-1-1.html
将模型重新转换了一次,主要是修改下图红框

再跑一次就能跑通了,不过要测试数据要减少。
现在模型跑通了,下一步小小的加入我们的业务逻辑应该怎么分为几步呢。
- 接通摄像头
给安装用户赋权
https://support.huaweicloud.com/environment-deployment-Atlas200DK1011/atlased_04_0023.html
跑视频demo
根据王嘉伟同学的依据,跑通了一个解析视频的demo
在此期间,由于我跑上一个demo修改了默认镜像中的环境,所以导致python环境变量冲突,所以不得不重新刷一遍镜像。
另一个重要的原因是,在重启虚拟机时没有及时关闭和开发板的连接,导致重启后不能及时连接到device。


