这是我参加8月更文应战的第9天
软硬件环境
- ubuntu 18.04 64bit
- nvidia 1070Ti
- anaconda with python 3.7
- cuda 10.1
- cudnn 7.6
- paddlepaddle 1.8.4
- pahttpclientddledetection 0.5
简介
引用官方的项目介绍
PaddleDetection飞桨方针检测开发套件,旨在协助开发者更快更好地完结检测模型github永久回家地址的组成、练习、优化及安顿等全开发流程。PaddleDetection模块化地实现了多种干流方针检测算法,供应了丰厚的数据增强github永久回家地址战略、网络模块组件(如主干网络)、丢掉函数等,并集成了模型紧缩和跨渠道高功用安顿能力。通过长时间工业实践打磨,Pgithub永久回家地址addleDetection已具有顺利、出色的运用领会,被工业质检、遥感图像检测、无人巡检、新零售、互联网、科研等十多个作业的开发者广泛应用。
总结成一句话便是十分牛逼!
再来看看套件结构概览
Architectures | Backbones | Components | Data Augmentation |
|
|
|
|
眼睛都看花了,支撑scalar的也太xx全面了。除了功用,再来看看功用
各模型ubuntu体系结构和主干网络的代表模型在COCO
数据集上精度mAP
和单卡Tesla V100
上猜测httpwatch速度(FPS
)比照图
图中github直播渠道永久回家模型均可在模型库中获取,地址是 github.com/PaddlePaddl…
设备PaddlePaddle
飞桨(PaddlePaddle
)是百度研制的我国首个开源敞开、技术抢先、功用完备的工业级深度学习渠道,集深度学习中心练习和推理结构、基础模型库、端到端开发套件和http 500丰厚github下载的东西组件于一体。
首要创立pgithub打不开ython
的虚拟环境,然后设备paddlepaddle-gpu
conda crgithub永久回家地址eate -n ppdetection python=3.7
conda activate ppdetehttp://192.168.1.1登录ction
pip install paddlepaddle-gpu==1.8.4.post107 -i https://mirror.baidu.com/pypi/simple
假如需求运用到多gpu
的话,还要设备nvidia
的NCCL
结构,它是用来进行多卡通讯的,下载地址是 developer.nvidia.com/nccl/nccl-d…,选择匹配CUDA
版别的github下载下载
运用以下ubuntu装置指令进行验证
(ppdetection) xugaoxiang@1070Ti:~/Works/github/PaddleDetection-release-0.5$ ipython
Python 3.7.9 (default, Aug 31 2020, 12:42:55)
Type 'copyright', 'credits' or 'license' fogithub永久回家地址rGitHub more ihttp协议nformation
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import paddgithub下载le.fluid as fluid
In [2]: fluscalarid.install_check.run_check()
Running Verify Fluid Prubuntu指令oggithub中文官网网页ram ...
W1208 13github中文社区:28:59.964426ubuntu是什么操作体系 1325ubuntu装置1 device_httpclientcontgithub官网ext.cc:252] Please NOTE: device: 0, CUDA Capability: 61, Driver API Version: 11.0, Runtime API Version: 10.0
W1208 13:29:00.090900 13251 device_contexthttpclient.cc:260] device: 0, cuDNN Version: 7.6.
Your Paddle Fluid works well on SINGLE GPU or CPU.
Your Paddle Fluscalability优化id works well on MUTIPLE GPU or CPubuntu和linux的差异U.
Your Paddlehttp://www.baidu.com Fluidubuntu体系菜鸟入门 is installed successfhttp署理ully! Let's start deep Learning withscalar Paddle Fluid now
In [3]: import paddle
In [4]: paddle.__version__
Out[4]: '1.8.4'
In [5ubuntu和linux的差异]:
设备其它依托
pip install pycocotools
设备PaddleDetection
目前最新的版别是0.5,下载后进入目录设备必要的依托
wget https://github.com/PaddlePaddle/PaddleDetubuntu分区ection/archive/release/0.5.zip
unzip PaddleDetection-release-0.5.zip
cscala怎样读d PaddleDetection-release-0.5
pip insubuntu指令tall -r requirements.txt
承认下面检验通过
(ppdetection) xugaoxiang@1070Ti:~/Works/github/PaddleDetection-release-0.5$ python ppdet/modeling/tests/test_architectures.ubuntu分区py
ss/home/xugaoxiang/Works/github/PaddleDhttpclientescalabilitytection-release-0.5/ppdet/core/workspace.py:118: DeprecationWarninscalability优化g: Using or importing the ABCsubuntu体系菜鸟入门 from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working
isinstance(merge_dct[k], collections.Mapping)):
..........
----------------------------------------------------------------------
Ran 12 testshttp 302 in 2.866s
OK (skipped=2)
运用官方供应的预练习模型猜测图片,快速领会模型猜测效果
# 通过use_gpu参数设置是否运用GPU
python tools/infer.py -c configs/ppyolo/ppyolo.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebhttpclientos.com/object_ubuntu体系detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg
程序工作完毕后,会在output
文件夹下生成一个画有猜测成果的同名图像
模型练习
这儿以paddledetection
自带的苹果、香蕉和桔子数据集为例,官方代码中供应了下载脚本及配置文件
cd dataset/fruit
# 下载数据集,vod格式
python download_fruit.py
这个生果数据集是选用的VOC
格式,下载完结后,目录结构是这样的
接下来就可以初步练习了,这儿运用YOLOv3
作为练习模型,backbone
是mobilenet_v1
python tools/train.http署理py -c configs/yolov3_mobilenet_v1_fruit.yml --eval
其间-c
指定练习配置文件,--eval
表明边ubuntu是什么操作体系练习边检验,配置文件scala教程中的参数说明可以参看 github.com/PaddlePaddl…,十分的详细
通过visualdl
指令可以实时查看改动曲线
# 设置visualdl参数
python toolshttp 404/train.py -c confgithub打不开igs/yolov3_mobilScalaenet_v1_roadsign.yml --eval -o use_gpu=true --use_vdl=True --vdl_log_dir=vdl_dir/scalar
# 翻开visualdl
visualdl --lubuntu装置ogdir vdl_dir/scalar/ --host <host_IP> --port <port_num>
练习好的模型存放在output/scalaryolov3http 404_mobilenet_v1_ubuntu体系菜鸟入门fruit
下
运用练习好的模型进行猜测
# 运用参数--infer_dir来猜测图片文件夹
python tools/infer.py -c configs/yolov3_mobilenet_v1_fruit.yml -o wegithub打不开ights=output/yolov3github永久回家地址_mobilenet_v1_fruit/best_model.pdmodel --infer_img=demo/orange_71.jpg --output_dir=output
安顿
运用PaddleServing
安顿方法,首要设备ubuntu装置教程依托github敞开私库包paddle-sescala教程rving-client
和paddle-serving-servubuntu装置er-gpu
pip install paddle-serving-client -i https://mirror.baiduscala怎样读.com/HTTPpypi/simple
pip install paddle-serviscalableng-servscalareubuntu体系r-gpu -i https://mirror.baidu.com/pypi/subuntu分区imple
导出模块
python tools/export_serving_model.py -c configs/yoloscalarv3_mobilenet_v1_fruiScalat.yml -o use_gpu=true weights=output/yolov3_mobilenet_v1_fruit/best_model.pdmodel --outputgithub敞开私库_dir=./inference_model
以上指令会在Ubuntu./infescala教程rence_model
文件GitHub夹下生成一个yolov3_mobilenet_v1_fruit
文件夹,目录结构是这样的
inference_model
│ ├── yolov3_mobilenet_v1_fruit
│ │ ├── infer_cfg.yml
│ │ ├── serving_client
│ │ │ ├── serving_client_conf.prototxt
│ │ │ ├── serving_client_conf.strscalability优化eam.prototxt
│ │ ├── serving_server
│ │ │ ├── conv1_bn_mean
│ │ │ ├── conv1_bn_offset
│ │ │ ├── conv1_bn_shttp://192.168.1.1登录cale
│ │ │ ├── ...
serving_client
文件夹下serving_client_conf.prototxt
详细说清楚模型输入输出信息,serving_client_Ubuntuconf.prototxt
文件内容为:
feed_var {
name: "image"
alias_name: "image"
is_lod_tensor: false
feed_type: 1
shape: 3
shape: 608
shape: 608
}
feed_var {
name: "im_size"
alias_name: "im_size"
is_lod_tensor: false
feed_type: 2
shape: 2
}
fetch_var {
name: "multiclass_nms_0.tmp_0"
alias_namscalabilitye: "multiclass_nms_0.tmp_0"
is_lod_tensor:github永久回家地址 true
fetch_type: 1
shape: -1
}
接下来发起Paddgithub永久回家地址leServing
服务,需求一贯开着
cd inference_modhttp://www.baidu.comel/yolscala怎样读ov3_mobilenetGitHub_v1_fruit
python -m paddle_servubuntu是什么操作体系ing_server_gpu.serve --model serving_server --port 9393 --gpu_ids 0
预备label_list.txt
文件
cd inference_model/yolov3_mobilenet_v1_fruit
# 将生果数据集对应的label_list.txt文件拷贝到其时文件夹下
cp ../../dataset/fruit/label_list.txt .
初步检验
# 进入目录
cd inference_model/yolov3_mobilenet_v1github打不开_fruit/
# 检验代码 test_client.http 302py
python ../http 302../deploy/serving/test_client.py ../../demo/orangeScala_71.png
参看资料
- xugaoxiang.com/2019/12/08/…
- xugaoxubuntu装置教程iang.com/2020/09/24/…
- xugaoxiang.com/2019/12/13/…
- github.http 404com/PaddlePaddl…
- www.paddlepaddle.org.cn/install/qui…