PyTorch
文章平均质量分 91
古路
这个作者很懒,什么都没留下…
展开
-
Pytorch-Lightning-Learning
LightningModule:Pytorch Lightning的两大API之一,是torch.nn.Module的高级封装。(1)定义模型__init__():同torch.nn.Module中的__init__,用于构建模型。:同torch.nn.Module中的forward,通过__init__中的各个模块实现前向传播。(2)训练模型#训练模型 training_step(* args , ** kwargs) """训练一批数据并反向传播。转载 2023-07-07 21:32:31 · 507 阅读 · 0 评论 -
ch07-Pytorch的训练技巧
所谓的模型微调,其实就是模型的迁移学习,在深度学习中,通过不断的迭代,更新卷基层中的权值,这里的权值可以称之为 knowledge , 然后我们可以将这些 knowledge 进行迁移,主要目的是将这些 knowledge 运用到新的模型中,这样既可以减小由于数据量不足导致的过拟合现象,同时又能加快模型的训练速度。GPU 每接收到一个 batch 的数据,使用率就跳到逐渐升高,处理完这个 batch 的数据后,使用率又逐渐降低,等到 CPU 把下一个 batch 的数据传过来。原创 2023-05-12 22:29:24 · 320 阅读 · 0 评论 -
ch06-Pytorch的正则化与归一化
在训练时,由于 dropout 为 0.5,因此理论上输出值是 5000,而由于在训练时,dropout 层会把权值除以 1-p=0.5,也就是乘以 2,因此在 train 模式的输出是 10000 附近的数(上下随机浮动是由于概率的不确定性引起的)。下面实验使用的依然是线性回归的例子,两个网络均是 3 层的全连接层,每层前面都设置 dropout,一个网络的 dropout 设置为 0,另一个网络的 dropout 设置为 0.5,并使用 TensorBoard 可视化每层权值的变化情况。原创 2023-05-11 21:25:38 · 601 阅读 · 0 评论 -
ch05-学习率调整策略、可视化与Hook
1、有序调整:Step、MultiStep、Exponential 和CosineAnnealing学习率更新之前,就知道学习率在什么时候会调整、调整为多少;2、自适应调整:ReduceLROnPleateau监控某一个参数,当该参数不再上升或下降就进行学习率调整。3、自定义调整:lambda存在多个参数组,且需要对多个参数组设置不同的学习率调整策略可采用。要调整学习率,至少应当具有初始学习率,那么该如何设置初始学习率?原创 2023-04-17 12:36:40 · 364 阅读 · 0 评论 -
ch04-损失优化
ch04-损失优化0.引言1.权值初始化1.1. 梯度消失与爆炸1.2. Xavier 初始化1.3. Kaiming 初始化1.4. 常用的权值始化方法1.5. 总结2.损失函数 (一)2.1. 损失函数的概念2.2. 交叉熵损失函数2.3. NLL/BCE/BCEWithLogits Loss2.4. 总结3.损失函数 (二)3.1. PyTorch 中的损失函数3.2. 总结4.优化器(一)4.1. 什么是优化器4.2. Optimizer 的属性4.3. Optimizer 的方法4.4. 总结5.原创 2023-04-14 00:29:03 · 425 阅读 · 0 评论 -
ch03-PyTorch模型搭建
本节中,我们学习了 nn.Module 的概念以及模型创建的两个要素。下节中,我们将学习容器 Containers 以及 AlexNet 的搭建。本节中,我们学习了 3 种不同的模型容器:Sequential、ModuleList、ModuleDict,以及 AlexNet 的搭建。下节课中,我们将学习 nn 中网络层的具体使用。本节课中,我们学习了 nn 模块中卷积层。在下次课程中,我们将学习 nn 模块中的其他常用网络层。本节中,我们学习了 nn 模块中池化层、线性层和激活函数层。原创 2023-04-12 00:31:53 · 849 阅读 · 0 评论 -
ch02-PyTorch数据预处理
本节课中,我们学习了数据预处理模块 transforms 中的数据增强方法:裁剪、翻转和旋转。在下次课程中 ,我们将会学习 transforms 中的其他数据增强方法。transforms 图像变换、方法操作及自定义方法上节中,我们学习了 transforms 中的裁剪、旋转和翻转,本节我们将继续学习 transforms 中的其他数据增强方法。尽管 PyTorch 提供了许多 transforms 方法,然而在实际应用中,可能还需要根据项目需求来自定义一些 transforms 方法。原创 2023-04-11 01:03:34 · 845 阅读 · 0 评论 -
python文件操作
上述代码中,os.walk() 遍历了 path/to/directory 目录以及其所有子目录,并分别处理了当前目录下的文件和子目录,使用 os.path.join() 拼接当前路径和文件名/子目录名。注意,os.listdir()函数只会列出指定目录下的直接子级文件和目录,并不会递归列出子目录下的文件和目录。如果需要列出指定目录下的所有文件和子目录,可以使用os.walk()函数。os.listdir()函数可以列出指定路径下的所有文件和子目录,返回一个包含所有文件和目录名称的列表。原创 2023-04-10 21:31:44 · 444 阅读 · 0 评论 -
vscode 调试 Python 代码
【代码】vscode 调试 Python 代码。原创 2023-04-06 11:56:45 · 748 阅读 · 5 评论 -
ch01-PyTorch基础概念
略.参考1参考2Variable:主要用于封装Tensor,进行自动求导,是torch.autograd中的数据类型。Variable是Pytorch的0.4.0版本之前的一个重要的数据结构,但是从0.4.0开始,它已经并入了Tensor中了。data:被封装的Tensorgrad:data的梯度grad_fn:创建Tensor的Function,是自动求导的关键requires_grad:指示是否需要梯度is_leaf:指示是否是叶子。原创 2023-04-02 21:03:14 · 295 阅读 · 0 评论