深度学习基础3------看代码步骤

目录

一、代码的重要部分

二、模型本身

三、训练参数

四、数据加载

1.训练的数据价值

2.预测的数据加载

五、损失函数

六、预测后结果


一、代码的重要部分

包括两个部分:训练模型,模型预测。

训练模型--------需要考虑模型本身,训练参数,数据加载与损失函数。

模型预测--------需要考虑模型本身,数据加载,预测后处理。

二、模型本身

一般来讲,模型本身在仓库中的名字是net(网络)或者model(模型)。以UNET为例:在github上找到对应的代码,如下

深度学习基础3------看代码步骤_第1张图片

网络结构的部分就存储在model.py中,基本上网络的组成与构建,都会在这个部分完成。如果想要修改与了解网络结构,一般是在这一部分进行操作。

三、训练参数

训练参数一般伴随着训练文件,因此一般在train.pyh文件里面,每一个库指定参数的方式不同,有些喜欢通过yaml文件指定,有些喜欢通过cfg文件(mmdetection、mmsegmentation)指定,有些甚至通过py文件指定,都不一样,这个需要参考每一个库的组成去分析。但大多数库都可以在train.py文件中找到。

参数一般通过argparse指定。argparse是python自带的命令行参数解析包,可以用来方便地读取命令行参数。

如果对于参数不理解是什么意思的可以自行百度。慢慢成长学习。

四、数据加载

分为两部分:训练的数据加载;预测的数据加载。

1.训练的数据价值

训练的数据加载其实是非常重要的,直接关系到模型的训练,监督模型在训练时加载的数据一般分为两部分,一部分是输入变量,通常是图片;另一部分是标签,在目标检测中就是图片对应的框的坐标,在语义分割中就是每个像素点的种类。

一般来讲,数据加载部分,模型本身在仓库中的名字是data、datasets或者dataloader。
datasets文件通过create_dataloader函数构建文件加载器,然后通过LoadImagesAndLabels这个文件加载器的类来获取图片与标签文件。然后在LoadImagesAndLabels中,算法会进行数据增强、数据预处理等操作,最终返回输入图片与标签。

2.预测的数据加载

预测的数据加载和训练的数据加载相比,少了数据增强与标签处理的部分,因此会相对简单一些,主要是对输入图片进行预处理。
既然是预测部分的数据预处理,需要从预测文件开始寻找。

五、损失函数

一般来讲,损失函数在仓库中的名字是Loss(损失),Loss函数是模型优化的目标,在训练过程中Loss理论上是要被越优化越小的。

一般loss.py在utils文件夹中,要想了解Loss的工作,通常要对损失进行一行、一行的分析

六、预测后结果

预测的后处理主要包括了预测结果的解码与预测图片的可视化
既然是预测部分的后处理,需要从预测文件开始寻找。

你可能感兴趣的:(深度学习基础篇,深度学习,机器学习,人工智能)