PaddlePaddle 深度学习7日入门——CV疫情特辑之汇总

初步接触深度学习,是经过老师的推荐,才认识到了http://gallery.pyecharts.org/#/Pie/pie_base百度AIstudio这个平台。虽然CV特辑并非是我第一个所接触的课节,但这个课节却使我所获颇多。仔细想想,其实正是这合理的时间,七天的时间,七个专题,每天都有挑战,不一样的专题不仅具有趣味性,还激发着自己的学习欲望,合理的时间也正好让我的拖延症无法释放。下面我就来分享下我的七日挑战。
![CV疫情特辑](https://img-blog.csdnimg.cn/20200407235007474.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg4NzE2Mg==,size_16,color_FFFFFF,t_70#pic_center)
Day01新冠疫情可视化。第一天的作业任务是飞桨本地安装和新冠疫情可视化。飞桨的安装有官方教程,我就不展开来讲了。[paddlepaddle安装](https://www.paddlepaddle.org.cn/start)不过仍有几点需要注意的,python的位数必须确保是64位的,还有python的版本需是3.8一下,不包括3.8(在本帖发出之时,3.8仍是未兼容的)。可视化任务从未接触过,刚开始就有点被惊吓住了,好在作业案例中有几个demo,通过我仔细研究了一番,其实只是自己吓自己,并没有想象中那么难,爬虫完全不需要自己写,只要把地图函数根据[饼图demo](http://gallery.pyecharts.org/#/Pie/pie_base)给稍微修改一下,可视化也就一下就生成了。
import json
import datetime
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.faker import Faker

# 读原始数据文件
today = datetime.date.today().strftime('%Y%m%d')   #20200315
datafile = 'data/'+ today + '.json'
with open(datafile, 'r', encoding='UTF-8') as file:
    json_array = json.loads(file.read())

# 分析全国实时确诊数据:'confirmedCount'字段
china_data = []
for province in json_array:
    china_data.append((province['provinceShortName'], province['confirmedCount']))
china_data = sorted(china_data, key=lambda x: x[1], reverse=True)                 #reverse=True,表示降序,反之升序

print(china_data)

labels = [data[0] for data in china_data]
counts = [data[1] for data in china_data]
#开始修改的地方
p = Pie()
p.add("",[list(z) for z in zip(labels, counts)],center=["50%","50%"],radius=["5","80"])
p.set_colors(["#FF4040","#FF7F24","#EE30A7","#EE799F","#DDA0DD","#C6E2FF","#8B8989","#8B2500","#698B22","#66CDAA","#551A8B"])
#系列配置项,可配置图元样式、文字样式、标签样式、点线样式等
p.set_series_opts(label_opts=opts.LabelOpts(font_size=12,formatter="{b}: {c}"))
#全局配置项,可配置标题、动画、坐标轴、图例等
p.set_global_opts(title_opts=opts.TitleOpts(title='全国疫情分布',
                                            subtitle='数据来源:丁香园'),
                  legend_opts=opts.LegendOpts(is_show=False))
#render()会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件,也可以传入路径参数,如 m.render("mycharts.html")
p.render(path='/home/aistudio/data/全国疫情分布.html')

PaddlePaddle 深度学习7日入门——CV疫情特辑之汇总_第1张图片
Day02手势识别。手势识别的难度其实也不是和大,考察的主要内容为参数的合理化,不同的参数会直接影响最终的训练效果。不过,在参数上我也并未能领悟到器精髓,最终的成绩也不尽人意。成绩归成绩,学习归学习,成绩不好也并非是没学到东西。老师给好的代码中,需要改动的参数其实也不多,一个是学习率,一个是迭代次数,另一个就是优化器。这三个参数,只有自己试过才能稍微有所理解,对于迭代次数我的建议是100轮其实就已经够了,过多其实实在浪费时间,不过前提是较小的网络训练,而学习率0.01未默认值一般就够了,当然一点点的微调也行。
Day03车牌识别。任务为补全代码和调参,在定义网络的参数中是有一定的逻辑可言的,这里特别安利一位大佬的文章车牌网络。最后边就是调参,所有遗憾的就是最终怎么调都是98%,怎么也升不上去,讲真的识别率确实挺准的,在 我无数次的尝试下,只有Momentum和Nesterov Momentum优化器能够达到98%,其他的上限就97%。
PaddlePaddle 深度学习7日入门——CV疫情特辑之汇总_第2张图片
Day04口罩分类。其实和之前的作业大致一样,前面的作业基础,让我有了一定的基础,在网络上便可以尝试着别的网络模型,不过最后的准确率,得看手气,可能这次是1,在训一回就变成了0.8,实属正常,无需担心。其实根据老师的教学模板,我第一次就是1的正确率,后边我也就没有怎么研究了。
Day06PaddleSlim模型压缩。这回的主题偏于实战多一点,具体的文献有相关的网站可以参考PaddleSlim代码地址,作业难度其实也比较偏低,毕竟答案文档里全有,不过知识点就有点深度了,花的时间其实也不少。
Day07人流密度检测。第七个专题直接上上手比赛,毕竟实践出真知,只有练过了才能有所领悟。由于时间紧迫,比赛内容还未完成,该部分的相关内容,我会在后面的时间即使补上。

你可能感兴趣的:(PaddlePaddle 深度学习7日入门——CV疫情特辑之汇总)