百度Python小白逆袭大神训练营心得

python小白到大神训练营

我已经连续参加百度四期训练营,首先肯定的是这一次训练营从内容设置方面来说,可以说是十分用心,课程的内容安排逻辑上十分紧密,在此对于百度的工作人员们表示感谢

课程内容安排如下:

第一天:python基础知识

作业内容:

训练营的第一天的内容相对而言比较基础,当然基础是相对的,如果你对python一无所知的话,那仅凭借这一个小时的课程,就想轻松进入python大门,那么也未免痴人说梦了。

作业1

打印乘法口诀表,我使用的方法是for循环遍历:

#打印乘法口诀表
def table():
    #在这里写下您的乘法口诀表代码吧!
    for i in range(1,10,1):
        for j in range(1,i+1,1):
            print(j,'*',i,'=',i*j,end=" ") 
        print()

if __name__ == '__main__':
    table()


作业2

查找特定名称文件


#导入OS模块
import os
#待搜索的目录路径
path = "Day1-homework"
#待搜索的名称
filename = "2020"
#定义保存结果的数组
result = []

def findfiles():
    for root,dirs,files in os.walk(path):
        for file in files:
            if '2020' in file:
                result.append(os.path.join(root,file))
            
    for i in range(0, len(result), 1):
        print(result[i])


if __name__ == '__main__':
    findfiles()

这个作业其目的是为了让学员掌握利用python处理文件的方式,os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
os.walk()方法返回一个三元组(root,dirs,files):
root 所指的是当前正在遍历的这个文件夹的本身的地址
dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
其余参数就不在这里一一展开。

第二天:利用python爬取《青春有你》节目选手图片

联系上个深度学习CV营里的内容:
感兴趣的请移步:

链接: link.
爬虫是深度学习训练模型前,经常使用的一种获取数据的方法。

在这里插入图片描述

常用的爬虫方法有很多,在这里我们首先要建立起python爬虫爬取数据的基本思路
爬虫就是模拟人进行网页浏览,获取信息的过程。
在这里插入图片描述
爬虫的逻辑过程如下:
在这里插入图片描述
python相对其余的语言有很多的优势,爬虫也是一项想要入门机器学习的人必备的技能。
入门爬虫:我使用的requests的HTTP库
这也是day2里运用的主要方法之一

具体代码实现,就不在这里赘述,第二天的爬虫其实也是为了后续进行图像分类准备的基础知识。

第三天:《青春有你2》选手数据分析

对《青春有你2》对选手体重分布进行可视化

前一天的爬虫过程中,我们除了可以去选择爬取选手图片外,还可以通过对百度百科的内容进行爬取,从而得到选手们的相关信息,而今天的内容就是将选手信息进行分析,也是python语言极其擅长的领域

import matplotlib.pyplot as plt
import numpy as np 
import json
import matplotlib.font_manager as font_manager
import pandas as pd


#显示matplotlib生成的图形
%matplotlib inline

with open('data/data31557/20200422.json', 'r', encoding='UTF-8') as file:
         json_array = json.loads(file.read())

#print(json_array)

weights = []
for star in json_array:
    weight = star['weight']
    weights.append(weight)
#print(len(weights))
print(weights)


weight_list = []
count_list = []
classif_list = [0,0,0,0]

for weight in weights:
    number = int(weight[0:2])
    if(number < 45):
        classif_list[0] = classif_list[0] + 1
    elif(number < 50):
        classif_list[1] = classif_list[1] + 1
    elif(number <= 55):
        classif_list[2] = classif_list[2] + 1
    else:
        classif_list[3] = classif_list[3] + 1
'''
for i in range(0,len(classif_list),1):
    classif_list[i] = round(classif_list[i]/109, 3) 
'''  
#print(weight_list)
#print(count_list)
print(classif_list)

#````````````````````````
#画图
plt.figure(figsize=(6,6))
labels = [u'<45kg',u'45kg~50kg',u'50kg~55kg',u'>55kg']

#自定义颜色
colors = ['yellow','green', 'red','blue']
explode = (0.05,0.05,0.02,0.05)
patches,text1,text2 = plt.pie(classif_list,
                      explode=explode,
                      labels=labels,
                      colors=colors,
                      autopct = '%3.2f%%', #数值保留固定小数位
                      shadow = True, #无阴影设置
                      startangle =90, #逆时针起始角度设置
                      pctdistance = 0.8) #数值距圆心半径倍数的距离

因为饼图部分没有做过多处理,所以就不在这里展示了,从代码看,我其实也是一个初学者,希望大家也可以多多指导。

第四天:《青春有你2》选手五分类问题

整个学习营中的重头戏,如何利用收集来的数据进行图像分类

首先老师介绍了一个简单的二分类问题,然后让学员推广至五分类的问题。

paddlehub是百度自研的一个模型库,里面有许多的经典模型供初学者进行调用。

我们通过百度提供的模型可以生成自己的小模型进行特殊任务的识别

我们这个项目的流程分为以下:
1.导入相关库,准备好相应数据集(这里的数据集主要由学员自己制作)
2.加载预训练模型

module = hub.Module(name="resnext50_64x4d_imagenet")

一行代码完成模型的调用
3.数据准备
接着需要加载图片数据集。我们使用自定义的数据进行体验,paddlehub有自己定义数据的格式,在这里是容易出问题的
4 配置策略


config = hub.RunConfig(
    use_cuda=False,                              #是否使用GPU训练,默认为False;
    num_epoch=30,                                #Fine-tune的轮数;
    checkpoint_dir="cv_finetune_turtorial_demo",#模型checkpoint保存路径, 若用户没有指定,程序会自动生成;
    batch_size=10,                              #训练的批大小,如果使用GPU,请根据实际情况调整batch_size;
    eval_interval=10,                           #模型评估的间隔,默认每100个step评估一次验证集;
    strategy=hub.finetune.strategy.AdamWeightDecayStrategy())  #Fine-tune优化策略;

在这里我们可以调整的参数并不多,建议可以去看CV营中关于调参的内容。
5 组建Finetune Task
有了合适的预训练模型和准备要迁移的数据集后,我们对于模型进行微调,生成我们需要的分类模型
6利用生成模型进行预测
这里我的预测准确率比较低,大致原因
(1)数据集数量较少
(2)训练数据与测试数据相似度较低
后续还需要多去调整。

第五天:综合大作业

完成青春有你视频内容下评论的数据的分析

从数据的爬取到数据处理-词频统计-绘制词云-对评论进行分类的过程
在这个过程中,碰到了许多的问题,与学习群内许多大佬进行交流,最终成功完成的作业。

总结

这五天的学习,干货满满,也同时反映出python基础的薄弱,希望百度训练营越办越好,我会持续参加学习,也希望得到大家的指导
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值