很有幸参加了百度飞桨的Python小白逆袭大神7天打卡营。七天的学习已经接近了尾声。现在回顾一下这次的课程,收获颇丰。相信很多参加的学员都感受颇丰,从小白入门到自主大作业完成,我们不仅了解了深度学习的流程,还有了自主完成一些小项目的经验。
第一天:Python基础
对于刚入门的人来说老师的讲解还是挺有用的。作业是打印九九乘法表。我的主要收获是了解了format的格式化。这个挺有用的。以前没用过。
def table():
#在这里写下您的乘法口诀表代码吧!
for i in range(1,10):
for j in range(1,i+1): #编写双层循环
print('{}*{}={}'.format(j,i,j*i),end='\t') #进行计算,样式输出
print()
if __name__ == '__main__':
table()
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
第二天:选手数据爬取
主要讲解怎么爬取网络的图片。这个还是比较有意思。群里讨论也比较多。对于入门爬数据的人来说比较有用。
代码比较长,具体请看我的公众号推文:
https://mp.weixin.qq.com/s/5MT-nAri5ifsgxzz7SaM9w
第三天:选手数据可视化
主要利用pyplot对json数据可视化,数据呈现比较直观。我们作业利用了直方图呈现了选手区域分布和利用了饼图呈现了选手体重范围分布。
读取爬取的json数据,绘制选手区域分布柱状图
import matplotlib.pyplot as plt
import numpy as np
import json
import matplotlib.font_manager as font_manager
#显示matplotlib生成的图形
%matplotlib inline
with open('data/data31557/20200422.json', 'r', encoding='UTF-8') as file:
json_array = json.loads(file.read())
#绘制小姐姐区域分布柱状图,x轴为地区,y轴为该区域的小姐姐数量
zones = []
for star in json_array:
zone = star['zone']
zones.append(zone)
print(len(zones))
print(zones)
zone_list = []
count_list = []
for zone in zones:
if zone not in zone_list:
count = zones.count(zone)
zone_list.append(zone)
count_list.append(count)
print(zone_list)
print(count_list)
# 设置显示中文
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.figure(figsize=(10,8))
plt.bar(range(len(count_list)), count_list,color='r',tick_label=zone_list,facecolor='#9999ff',edgecolor='white')
# 这里是调节横坐标的倾斜度,rotation是度数,以及设置刻度字体大小
plt.xticks(rotation=45,fontsize=10)
plt.yticks(fontsize=10)
plt.legend()
plt.title('''《青春有你2》参赛选手''',fontsize = 24)
plt.savefig('/home/aistudio/work/result/bar_result.jpg')
plt.show()
运行效果图如下:从条形图可以看出选手的地区分布,四川,山东,浙江和安徽这四个省份参加的选手还是比较多。
对选手体重分布进行可视化,绘制饼状图。
df = pd.read_json('data/data31557/20200422.json')
weight=pd.to_numeric(df['weight'].replace('[k][g]','',regex=True))
bins=[0,45,50,55,1000]
labels=['<=45kg','45-50kg','50-5kg','>55kg']
counts=pd.cut(weight,bins,labels=labels)
s=counts.value_counts()
zone_list=s.index
count_list=s.values
# 设置显示中文
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.figure(figsize=(10,8))
explode=(0.1,0.1,0,0)
plt.pie(count_list,explode=explode,labels=labels,autopct='%1.1f%%',shadow=True,startangle=90)
# 这里是调节横坐标的倾斜度,rotation是度数,以及设置刻度字体大小
plt.xticks(rotation=45,fontsize=20)
plt.yticks(fontsize=20)
plt.legend()
plt.title('''《青春有你2》参赛选手''',fontsize = 24)
plt.savefig('/home/aistudio/work/result/bar_result03.jpg')
plt.show()
运行效果图如下:从数据可以清晰看出青你2的成员的体重分布,大部分女孩还是比较瘦的,小于等于45KG的占了60.6%。
第四天:选手识别
这是我收获比较大的一天,了解了怎么构建数据集和训练数据集,以及调用识别。对脸盲的我来说,去构建数据花了最多时间,感觉长得都差不多。第一次训练出来的识别度不好,5个选手只识别了2个人。后面通过数据增强,有所改善。我觉得后续还是需要花多点时间在这个方面上。
具体过程请关注我的公众号,还没整理好。整理好这几天都会推推文。
第五天:综合大作业
直播课程内容主要学习EasyDL,EasyDL是基于百度自主研发的深度学习平台飞桨结合业界先进的工程服务技术打造的简单易用的模型训练和服务平台,EasyDL提供了从数据上传、标注、部署、迭代覆盖、AI开发一站式服务流程,让你可以很好的像使用word一样进行深度学习的研究与使用。跟普通的深度学习训练过程比起来, EasyDL 定制化图像识别有如下这些优势:① 需要的数据量更少。② 拥有全程可视化的操作界面。③ 能在分钟级的时间内完成训练。④ 目前大部分模型的准确率在90%以上。
老师演示了EasyDL的数据标注还是非常方便,可以生成API直接调用。不过能否离线使用数据集还不清楚,后面想自己训练数据集看看能否离线使用
大作业综合性还是比较强。从数据爬取、数据清洗,数据审核到数据可视化囊括了这几天学习是所有核心内容。做这个作业大家遇到问题比较多,特别是字体安装和字体路径问题。我觉得最重点是是获取爱奇艺的更多评论那里的爬取方法,学会这种分析思维以后去做其他爬虫就很方便了。
总结:
深度学习7日打卡营Python小白逆袭大神的这个活动,概括性的了解了机器学习的主要步骤,初步会使用paddle,学习到了网页爬取、数据可视化展示、片分类、文本分类等。虽然时间很短,但是收获颇丰。希望以后还能参加类似活动,最后感谢飞桨深度学习学院举办这次活动。
在这里特别感谢班班、助教和讲课的老师,还有一群可爱的学友们。有问题大家都很热心帮忙解决,交流的氛围很好。