杨志说,要打青州,需要大队人马,请孔亮亲自星夜去梁山泊请宋江,咱们大伙再集中起来,一起打青州。于是孔亮就去找宋江,把叔叔孔宾和哥哥孔明被抓的事情讲给宋江听,宋江将这事再告知各位头领。晁盖准备自己带兵下山,宋江说哥哥是山寨之主,不可轻动。于是还是宋江带队。
宋江到了青州,与武松、鲁智深、杨志、李忠、周通、施恩、曹正等人相见。吴用和宋江制定了计策。
一天,呼延灼收到报信说城北门外土坡上,有三个人骑马在那里看城,中间一个穿红袍骑白马的,两边一个是小李广花荣,左边是道士打扮。呼延灼说那个穿红色的应该是宋江,于是带了一百骑兵去追,结果掉入陷阱,连人带马被抓住了。
宋江亲自扶呼延灼坐上位,行拜见之礼。然后三言两句,就把呼延灼说动,投奔了梁山。呼延灼带了十位头领,扮做军士模样,骗知府开了城门,大家杀进了城,救出了孔宾孔明。慕容知府一家老幼都被斩。
李忠、鲁智深等三山人马也都跟着宋江回到梁山。
宋江人马越来越多,飞桨AI训练越来越容易!
飞桨目标检测套件PaddleDetection初探
PaddleDetection是一个基于PaddlePaddle的目标检测端到端开发套件,在提供丰富的模型组件和测试基准的同时,注重端到端的产业落地应用,通过打造产业级特色模型|工具、建设产业应用范例等手段,帮助开发者实现数据准备、模型选型、模型训练、模型部署的全流程打通,快速进行落地应用。
参考自:https://github.com/PaddlePaddle/PaddleDetection/docs/tutorials/QUICK_STARTED_cn.md
编译安装PaddleDetection
下载源代码
git clone https://github.com/PaddlePaddle/PaddleDetection
安装库
其中的numba可不安装,但是会报警。
cd PaddleDetection && pip install -r requirements.txt pip install numba
单图片目标检测
cd PaddleDetection && python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o use_gpu=true weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_img=demo/000000014439.jpg
检测后的图片会生成在output目录,可以看到检测出来的物体都打上了框。
训练评估预测全流程跑一遍
1、开始训练使用套件非常简单方便,会自动下载训练数据集。
# 边训练边测试 CPU需要约1小时,估计不止(use_gpu=false),V100 GPU 16G需要约30分钟 # -c 参数表示指定使用哪个配置文件 # -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置),这里设置使用gpu # --eval 参数表示边训练边评估,最后会自动保存一个名为model_final.pdparams的模型 cd PaddleDetection && python tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml --eval -o use_gpu=true
如果想通过VisualDL实时观察loss变化曲线,在训练命令中添加--use_vdl=true,以及通过--vdl_log_dir设置日志保存路径。但注意VisualDL需Python>=3.5
首先安装VisualDL
python -m pip install visualdl -i https://mirror.baidu.com/pypi/simple
然后在命令中加入--use_vdl=true:
python -u tools/train.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml \
--use_vdl=true \
--vdl_log_dir=vdl_dir/scalar \
--eval
这样就能通过visualdl实时查看变化曲线:visualdl --logdir vdl_dir/scalar/ --host <host_IP> --port <port_num>
2、评估# 评估 默认使用训练过程中保存在output目录的model_final.pdparams # -c 参数表示指定使用哪个配置文件 # -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置) # 目前只支持单卡评估 cd PaddleDetection && python tools/eval.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true -o weights=output/model_final
最终模型精度在mAP=0.85左右,由于数据集较小因此每次训练结束后精度会有一定波动3、预测
# -c 参数表示指定使用哪个配置文件 # -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置) # --infer_img 参数指定预测图像路径 # 预测结束后会在output文件夹中生成一张画有预测结果的同名图像 cd PaddleDetection && python tools/infer.py -c configs/yolov3/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true --infer_img=demo/road554.png -o weights=output/model_final
可以看到输出的文件已经识别出来交通标志了。
整个过程是不是非常简单? 在实际应用中,针对自己需求,创建数据集后,再来一遍训练、评估、预测流程即可训出自己的模型。
一天鲁智深对宋江说,我挺想念九纹龙史进,听说他在少华山上,我去看看他去。于是鲁智深和武松作伴,两个人一起到了少华山。听说史进去刺杀贺太守,被抓入关在牢里,鲁智深急匆匆的去华州城里救人,结果也被抓住了。
欲知后事如何,且听下回分解。
更多【paddlepaddle-第五十七回 三山聚义打青州 众虎同心归水泊-飞桨目标检测套件PaddleDetection初探】相关视频教程:www.yxfzedu.com