最基础的深度学习编程的四个python文件,实属学习Deep Learning的必备知识。

介绍4个最基础的深度学习编程的文件,实属学习Deep Learning的必备知识。废话少说,咱直接开写!

1 model.py( 两个类; 四个函数)


1. model.py( 两个类; 四个函数)``   ``# 定义最基础模块的类``class DoubleConv(nn.Module):`  `  # 实现init函数,在这里定义模块的网络结构`  `def __init__()`  `  # 实现forward函数,在这里写出数据是如何在上述网络结构中流动的`        `def forward()``   ``   ``class UNET(nn.Module)`  `  # 实现init函数,在这里定义模块的网络结构`  `def __init__()`  `  # 实现forward函数,在这里写出数据是如何在上述网络结构中流动的`  `def forward()

首先,我们看到model.py里定义了两个类,DoubleConv和UNET。这两个类都继承自nn.Module,这是PyTorch中构建模型的基础。__init__()函数负责定义模型的结构,而forward()函数则描述了数据在模型中的传播过程。

理解这两个函数的作用是掌握深度学习模型的关键。这里的模型架构可能需要根据你的具体任务进行调整,记住,“好的模型架构是任务成功的一半”。

2 train.py( 两个函数)


   ``   ``# 定义训练函数, for循环loader,获取数据,forward, backward``def train_fn(loader, model, optimizer, loss_fn, scaler)`  `for batch_idx, (data, targets) in enumerate(loop):``   ``# 主函数``def main()`  `train_transform`  `val_transforms`  `# 定义模型`  `model = UNET(in_channels=3, out_channels=1).to(DEVICE)`  `# loss函数`  `# 优化器`  `  # 定义好数据的loader`  `train_loader, val_loader = get_loaders()`  `  # 开始一个个epoch循环`  `for epoch in range(NUM_EPOCHS):`    `# 把上面四个东西,给训练函数,开始训练`    `Train_fn()`    `    # 保存模型`    `Save_checkpoint()`    `    #检查精度。需要一个model和测试数据的loader`    `check_accuracy(loader, model, device = "cuda"):

接着,我们看到train.py中定义了训练过程。这里首先定义了一些超参数,如学习率、批处理大小、图像大小等。这些参数是训练过程中可以调整的,它们对模型的性能有直接影响。训练函数train_fn是训练过程的核心,它通过遍历数据加载器(loader)获取数据,然后进行前向传播(forward)和反向传播(backward)。

主函数main则负责整个训练流程,包括数据预处理、定义模型、定义损失函数和优化器、加载数据、进行训练、保存模型和检查精度。

3 dataset.py (一个类; 三个函数)


class MyDataset(Dataset):`  `# should give the dir where to get images and labels`  `def __init__(self, image_dir, mask_dir, transform = None):`  `  def __len__(self):`  `  # should have a "index" to sent to the function`  `def __getitem__(self, index):``   ``   

dataset.py中定义了一个数据集类MyDataset,这个类继承自Dataset,是PyTorch中构建数据集的基础。

__init__()函数负责初始化数据集,

__len__()函数返回数据集的大小,

而__getitem__()函数则负责获取数据集中的数据。

4 utils.py (多个函数)


#保存模型的函数``def save_checkpoint():``   ``#加载模型的函数``def load_checkpoint(checkpoint, model):``   ``# 获取数据loader的函数``# 需要知道数据文件夹的路径,还有batchsize,还有要没有数据变换``def get_loaders(`    `train_dir,`    `train_maskdir,`    `val_dir,`    `val_maskdir,`    `batch_size,`    `train_transform,`    `val_transform,`    `num_workers=4,`    `pin_memory=True,``):``   ``# 训练过程中查看网络的精度``def check_accuracy(loader, model, device = "cuda"):``   ``# 训练过程中保存数据``def save_predictions_as_imgs():``   

最后,utils.py中定义了一些辅助函数,包括保存模型、加载模型、获取数据加载器、检查精度和保存预测结果等。这些函数可以帮助你更好地管理你的训练过程。

在深度学习的学习过程中,理解和掌握这些基本概念和技巧是非常重要的。在学习过程中多思考、多实践,不怕犯错,因为犯错是学习的一部分。记住,“掌握深度学习,不在于你走得有多快,而在于你走得有多坚定。” 深度学习的道路上充满了挑战,但只要坚持下去,一定能够掌握它。

记住,“在深度学习的世界里,没有什么问题是不能被解决的。如果有,那就再深入学习一下。”

祝你在深度学习的道路上越走越远。

点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

👉Python书籍和视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

图片

👉Python副业创收路线👈

图片

这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

本文转自网络,如有侵权,请联系删除。

  • 18
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么要学习这门课程】深度学习框架如TensorFlow和Pytorch掩盖了深度学习底层实现方法,那能否能用Python代码从零实现来学习深度学习原理呢?本课程就为大家提供了这个可能,有助于深刻理解深度学习原理。左手原理、右手代码,双管齐下!本课程详细讲解深度学习原理并进行Python代码实现深度学习网络。课程内容涵盖感知机、多层感知机、卷积神经网络、循环神经网络,并使用Python 3及Numpy、Matplotlib从零实现上述神经网络。本课程还讲述了神经网络的训练方法与实践技巧,且开展了代码实践演示。课程对于核心内容讲解深入细致,如基于计算图理解反向传播算法,并用数学公式推导反向传播算法;另外还讲述了卷积加速方法im2col。【课程收获】本课程力求使学员通过深度学习原理、算法公式及Python代码的对照学习,摆脱框架而掌握深度学习底层实现原理与方法。本课程将给学员分享深度学习Python实现代码。课程代码通过Jupyter Notebook演示,可在Windows、ubuntu等系统上运行,且不需GPU支持。【优惠说明】 课程正在优惠中!  备注:购课后可加入白勇老师课程学习交流QQ群:957519975【相关课程】学习本课程的前提是会使用Python语言以及Numpy和Matplotlib库。相关课程链接如下:《Python编程的术与道:Python语言入门》https://edu.csdn.net/course/detail/27845《玩转Numpy计算库》https://edu.csdn.net/lecturer/board/28656《玩转Matplotlib数据绘图库》https://edu.csdn.net/lecturer/board/28720【课程内容导图及特色】

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值