深度学习小白入门教程-基础运用篇

  • 可能有图片没部署成功,如果有影响,请回小主主页
  • PyCharm
  • 玩个文本类数据二分类
  • 第一步,把我们可能用到的包安排上,还有python的标准主函数~
  • 第二步,导入数据集,cv大法就好啦~
  • 第三步,读取数据集,这里我们用pandas这个包去读取,当然我们可以打印看看读取后是怎么样的~
  • 第四步,造model~
  • 第五步,开始写训练
  • 第六步,好了,训练我们写完了,现在开始写test,毕竟test结果才是衡量模型的一个主要指标~
  • 第七步,然后我们记录我们的结果,并用matplotlib记录下来,编写一个绘图函数~
  • 最后一步,run起来~
  • 方式一,右击屏幕,点击run,假如没有,需要去安装(百度吧,累了~)
  • 方式二,点击下方的terminal,命令行来运行
  • 结果~


可能有图片没部署成功,如果有影响,请回小主主页

Link:https://wen-luminous.xyz/

PyCharm

创建一个新的Python项目,当然可以用之前的环境,这个不重要,我们可以调整~

深度学习 channel 深度学习基础教程_深度学习

深度学习 channel 深度学习基础教程_数据集_02

左上角是项目目录,右下角是所使用的python环境,这里我们更换为刚刚创建的xiaobai

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e035cBkN-1668652248232)(http://cdn.wen-luminous.xyz/202211101524082.png)]

深度学习 channel 深度学习基础教程_python_03

深度学习 channel 深度学习基础教程_pycharm_04

深度学习 channel 深度学习基础教程_深度学习 channel_05

深度学习 channel 深度学习基础教程_深度学习_06

深度学习 channel 深度学习基础教程_深度学习 channel_07

深度学习 channel 深度学习基础教程_pycharm_08

深度学习 channel 深度学习基础教程_pycharm_09

深度学习 channel 深度学习基础教程_pycharm_10

右键文件夹,把bioai文件设置为我们的根目录就好了!

这样子我们的编辑器就基本上可以开始造了~

玩个文本类数据二分类

首先我这里给一个数据集链接:https://pan.baidu.com/s/1pVCDBJ-KrmgS5SbfTtcGGA?pwd=7777
提取码:7777

该数据集是n个病患(每一行代表一个病人)各种生理指标的数据集,我们这里处理的是他的aki指标,我们想通过这个aki指标去判断这个病人是否患病~

名称短的这个数据集我们用来造分类标签label(对照,Y),长的这个数据集我们用来造特征矩阵(输入,X)

我们的任务

  • 读取数据集
  • 处理数据
  • 构建分类器模型
  • 输入数据
  • 处理结果

是不是很简单~

那么接下来,展示~

第一步,把我们可能用到的包安排上,还有python的标准主函数~

深度学习 channel 深度学习基础教程_深度学习 channel_11

第二步,导入数据集,cv大法就好啦~

深度学习 channel 深度学习基础教程_深度学习 channel_12

第三步,读取数据集,这里我们用pandas这个包去读取,当然我们可以打印看看读取后是怎么样的~

深度学习 channel 深度学习基础教程_数据集_13

在这个数据集当中,我们只想做一个二分类,不想做多分类,那我们就需要对目标数据进行处理~

在这里我们对每一个病人的label数据做最大值处理,将结果存入label_aki列表当中,当然也可以打印看看它是啥样的~

深度学习 channel 深度学习基础教程_python_14

接下来我们造输入去~

深度学习 channel 深度学习基础教程_深度学习_15

这里我们用了一个train_test_split()函数,它就是用来给我们分割数据集的,分成测试集和验证集~

但是这里报错了?原来是封装在sklearn里面的一个函数,我们加上他的引用即可~

pycharm可以自动检错,并给出对应措施的,鼠标移到错误上面就可以啦~

深度学习 channel 深度学习基础教程_深度学习_16

这里也要注意,我们用torch训练的话,肯定要符合他自己的标准,所以我们把数据转为了tensor格式,这样子才能输入到我们的model里面~

当然我们可以输出看看,tensor长啥样。

这里我给出一点点建议~

# 在python查看对象的大小
len(list/dict/map/tensor)
tensor.shape

# 如果是二维的
len(list[0])

# 当然还有type查看类型~

第四步,造model~

我们新建一个model.py来存放我们的模型

深度学习 channel 深度学习基础教程_pycharm_17

当然还可以这样子写~

深度学习 channel 深度学习基础教程_深度学习_18

这样子,我们就构建了一个非常简单的包含一层隐藏层的分类模型,他的参数有三个(in_dim, n_hidden_1, out_dim),Sequential是集成这些模型的意思,Linear是全连接层,他可以将输入的shape转为输出的shape,就相当于我们输入的tensor大小是[x, in_dim]那么输出就是[x, n_hidden_1]~

BatchNorm是用来归一化的,relu是激活函数~

这些都是学习任务,好了在这里我们的model就完成了~

深度学习 channel 深度学习基础教程_深度学习 channel_19

这里,我们接下来需要引用这个模型,可以这样子做,引用Model这个模型类~

第五步,开始写训练

然后写上我们需要训练的一些指标~

深度学习 channel 深度学习基础教程_数据集_20

这个copy也需要我们去引用,impor copy即可

一次训练应该包含:

  1. 获取loss:输入矩阵张量和标签,通过model计算得到预测值,计算损失函数;
  2. optimizer.zero_grad() 清空过往梯度;
  3. loss.backward() 反向传播,计算当前梯度;
  4. optimizer.step() 根据梯度更新网络参数

深度学习 channel 深度学习基础教程_数据集_21

第六步,好了,训练我们写完了,现在开始写test,毕竟test结果才是衡量模型的一个主要指标~

这里我们先引用一些测试方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3MpQMjoT-1668652248242)(http://cdn.wen-luminous.xyz/202211101650645.png)]

然后编写测试过程,这里我写的比较繁琐,因为想展示一些测试用的方法是怎么来的,包括稀疏矩阵等等~

当然可以直接用roc_auc_score等一些方法,直接可以得到~

希望大家自行尝试!!!

深度学习 channel 深度学习基础教程_深度学习_22

然后引用这个test函数

深度学习 channel 深度学习基础教程_pycharm_23

第七步,然后我们记录我们的结果,并用matplotlib记录下来,编写一个绘图函数~

深度学习 channel 深度学习基础教程_python_24

深度学习 channel 深度学习基础教程_深度学习 channel_25

最后一步,run起来~

方式一,右击屏幕,点击run,假如没有,需要去安装(百度吧,累了~)

深度学习 channel 深度学习基础教程_pycharm_26

深度学习 channel 深度学习基础教程_深度学习_27

方式二,点击下方的terminal,命令行来运行

在当前目录下,运行python day1110.py即可~

当然我们也可以把这个结果输入到一个txt文件里面,像这样

python day1110.py > out1110.txt

深度学习 channel 深度学习基础教程_深度学习_28

深度学习 channel 深度学习基础教程_数据集_29

结果~

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QYWabtI0-1668652248245)(http://cdn.wen-luminous.xyz/202211101708585.png)]

好像不是很好哈~

需要咱们调整参数咯,还有模型~

加油,AI小白们!!!

0.py > out1110.txt

[外链图片转存中…(img-7ebSxKoQ-1668652248244)]

[外链图片转存中…(img-RdKgH7am-1668652248245)]