没错,我进军服务器开发了!

原创
2020/11/10 17:59
阅读数 198
AI总结

导读

上次送给大家开发板福利,在前段时间已经全部送给大家了。本次再次送给大家一波福利!同时本次带来 基于研华EPC-R5770(HI3531DV200)开发环境的搭建,带你体验一把机器视觉和al的技术魅力!感兴趣的盆友们还可以关注 在11月19-21日的研华嵌入式物联网伙伴峰会,“边缘AI专题”论坛研华携手英特尔、ARM等大厂分享AI整合软硬件解决方案及技术服务分析等精彩内容。(文末福利)


话不多说 先报名一波






如何训练一个可用于研华整机EPC-R5770(HI3531DV200)当中运行的segnet网络?


01

环境


训练硬件平台SOM5992(至强E3系列CPU)、8G_DDR4内存、GTX1050ti

运行硬件平台EPC-R5770

OS版本发行版ubuntu18.04


软件版本

Anconda3:   5.2.0-Linux-x86_64(PYTHON3.6)

Caffe:  caffe-segnet

NVIDIA Driver: 450.66

CUDA:  8.0.61_375.26

cudnn:   8.0-linux-x64-v5.1


02

相关依赖安装


sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libgoogle-glog-dev

sudo apt-get install libopenblas-dev

sudo apt-get install liblmdb-dev

sudo apt-get install libgflags-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev


03

训练模型


caffe-segnet


caffe-segnet的下载链接
https://github.com/TimoSaemann/caffe-segnet-cudnn5
训练数据集及测试Demo下载链接
https://github.com/alexgkendall/SegNet-Tutorial


将SegNet-Tutorial-master.zip解压到根目录并重命名为SegNet

unzip SegNet-Tutorial-master.zip

mv SegNet-Tutorial-master /SegNet



SegNet内容如下:

 


04

修改segnet模型适配于EPC-R5770平台


由于segnet作者已提供segnet的模型结构,其路径为

/SegNet/Models/segnet_train.prototxt

该模型通过训练可以在x86平台上正常运行,可无法迁移至EPC-R5770当中,我们需要将模型进行一定的修改,具体如下:


1. NNIE没有支持 BN层,而只支持caffe 1.0当中的batch norm层

解决方法将prototxt文件当中的BN层修改为batchnorm层及Scale层,如图所示


1)对于训练的prototxt



(左)修改前 (右)修改后


2)对于推理的prototx


(左)修改前 (右)修改后


2.将数据集的样本size改为384*480

可以自行编写opencv脚本对数据集进行批量的图像大小修改


3.将upsample5与upsample4层的参数upsample_w与upsample_h注释掉

如下



4.将batch_norm层的moving_average_fraction参数修改为0.9

如下



5.segnet_train.prototxt的batch_size设置为1

一个batch_size占用了3.2G内存


6.solver文件中添加iter_size: 5

batch_size太小不利于模型的收敛,因此设置5次训练才做一次回归


05

使用迁移学习来训练模型


1.下载预训练过的VGG16的weights

链接如下:

http://www.robots.ox.ac.uk/~vgg/research/very_deep/

2.训练segnet-VGG16模型

用VGG_ILSVRC_16_layers.caffemodel作为初始化权重

mkdir /SegNet/Models/Training/


./build/tools/caffe train -gpu 0 -solver/SegNet/Models/segnet_solver.prototxt -weights/SegNet/Models/VGG_ILSVRC_16_layers.caffemodel

大约训练50-100 epochs就可以得出不错的结果


3.修改/SegNet/Scripts/compute_bn_statistics.py的185行的输入图像尺寸大小及190-194行注释

如图所示


生成deploy.prototxttest_weights.caffemodel

sudo python /SegNet/Scripts/compute_bn_statistics.py/SegNet/Models/segnet_train.prototxt/SegNet/Models/Training/segnet_iter_40000.caffemodel /SegNet/Models/Inference/

修改deploy.prototxt的相关格式

修改输入层格式


(左)修改前 (右)修改后


修改所有batch_norm层的use_global_stats为true


(左)修改前 (右)修改后


经过修改过后,deploy.prototxttest_weights.caffemodel可以用于EPC-R5770做模型的转换了。


4.测试模型

sudo python /SegNet/Scripts/test_segmentation_camvid.py --model/SegNet/Models/segnet_inference.prototxt --weights/SegNet/Models/Inference/test_weights.caffemodel --iter 1

效果如图所示:



06

将segnet模型转换为EPC-R5770 wk模型


模型转换所用到的工具是Ruyi studio 其环境搭建过程及转换方法请参考EPC-R5770相关文档

转换所用到的配置文件内容,如图所示:




根据以上的配置,点击build按钮即可转换模型


出现Successfully,即转换成功。






更多AI整合软硬件解决方案

及技术服务分析

可关注研华嵌入式物联网伙伴峰会

11/19-11/21


3大主题峰会,70+细分话题

疫情大考和新基建等环境下,企业数字化转型全面加速,数据驱动、数智融合的价值逐渐释放。为加速物联网美好未来的实现,研华今年的工业物联网伙伴峰会,将会聚焦嵌入式物联网、工业物联网、智慧城市三大主题,围绕智慧工厂、智能装备、智慧能源与环境、智能交通、智慧医疗、智慧零售、智能物流等垂直产业,探讨边缘计算、产业AI、嵌入式创新、中国芯、工业通信、工业云平台等技术话题。

100+业界专家,“慧”聚云端

站在大咖的肩膀上看世界,无疑会对企业的战略方向起到重要指导作用。本次盛会,研华也邀请了来自中国信通院、工业互联网产业联盟、中科院、清华大学互联网产业研究院等100多位专家学者、商业大咖以及行业领导者汇聚云端,分享他们对AIoT的前沿洞察及发展策略,探讨工业物联网落地实践经验,全面激发物联网发展新思路

50+伙伴齐聚,共赢物联大未来

通往未来的征程绝不是孤军奋战,而是产业链伙伴间的协同与互利共赢,唯有生态互联,方可决胜工业物联网未来。本次峰会,研华也将携手英特尔、ARM、微软、京东物流、软通智慧等全球50多家合作伙伴,共同探讨AIoT新时代、新思路及新发展,一起共创、共享、共赢物联大未来! 


会上将有大量知识性主题演讲

和引人深思的议题探讨

干货满满,大咖云集,不可错过~

扫码一键报名

即刻领取

↓↓↓

文末福利

如果报名成功的朋友,可以扫描下方的二维码加我微信,并把报名成功显示截图发给我,同时领取福利:赠送c、c++、linux,数据结构、算法等电子书籍!

                   


关于研华

研华成立于1983年,以“智能地球的推手”作为企业品牌愿景,一直专注于工业物联网、嵌入式物联网及智慧城市三大市场。为迎接物联网、大数据与人工智能的大趋势,研华提出以边缘智能和WISE-PaaS工业物联网云平台为核心的物联网软、硬件解决方案,协助客户伙伴串接产业链。研华业务分布全球27个国家,拥有近8,000名员工,以强大的技术服务及营销网络,为客户提供本土化响应的便捷服务。此外,研华积极推进产业伙伴共创,加速AIoT生态圈布建与发展。

研华网站:www.advantech.com.cn   

研华微信:研华嵌入式

服务热线:400-001-9088



点击查看直播日历!

本文分享自微信公众号 - TXP嵌入式(txp1121518wo-)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部