• 发文
  • 评论
  • 微博
  • 空间
  • 微信

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

TXP嵌入式 2020-11-10 22:53 发文

导读

上次送给大家开发板福利,在前段时间已经全部送给大家了。本次再次送给大家一波福利!感兴趣的盆友们还可以关注在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.prototxt及test_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.prototxt及test_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新时代、新思路及新发展,一起共创、共享、共赢物联大未来! 




关于研华

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


声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    TXP嵌入式

    TXP嵌入式主要分享linux和...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码