51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Python笔记

PyTorch 池化层

PyTorch 池化层

厉飞雨 阅读(433) 评论(0) 赞(22)

<p>池化层 (Pooling) 降低维度, 缩减模型大小,提高计算速度. 另外一个作用可以缓解卷积层对位置的敏感性.</p> <p>池化层主要有两种:</p> <ol> <li> <p>最大池化</p> </li> <li> <p>平均池化<...

PyTorch Ignite Concepts

PyTorch Ignite Concepts

厉飞雨 阅读(531) 评论(0) 赞(32)

<p>Ignite 是一个可以帮助我们在 PyTorch 中训练和评估神经网络的高级库。简单来讲,使用该训练库可以让我们的训练代码更加简洁,灵活。工具的安装命令如下:</p> <pre><code>pip install pytorch-ignite </code></pre> <p>Ignit...

显存使用分析(PyTorch)

显存使用分析(PyTorch)

厉飞雨 阅读(455) 评论(0) 赞(28)

<p>我们一直使用 PyTorch 进行模型训练,有时会出现显存不足的情况。除了找到对应的解决办法,比如:累加梯度、使用自动混合精度,还应该了解训练时,显存究竟在哪些环节被大量占用。主要有以下四个环节:</p> <ol> <li> <p>CUDA 运行内存</p> </li> <li>...

PyTorch 叶子张量

PyTorch 叶子张量

厉飞雨 阅读(441) 评论(0) 赞(20)

<p>叶子张量是 PyTorch 计算图中的一个重要概念,叶子张量指的就是我们的模型参数,而模型参数一般都是我们自己创建的 <code>requires_grad=True</code> 的张量。它位于整个计算图的开始位置,比如下面这个例子:</p> <pre><code>import torch <...

PyTorch 自定义算子

PyTorch 自定义算子

厉飞雨 阅读(288) 评论(0) 赞(21)

<p>创建 <code>autograd.Function</code>的子类,需要实现两个静态的方法 forward 和 backward。应用该 op 时,调用 apply 方法,不要直接调用 forward 方法。</p> <p>forward 静态方法中第一个参数为 ctx,它可以理解 Function 对象本...

PyTorch 图像规范化

PyTorch 图像规范化

厉飞雨 阅读(411) 评论(0) 赞(15)

图像的归一化是将不同量纲的特征归一化到指定的范围内,可以消除不同特征量纲的影响。图像规范化则是将图像规范化到相同的分布。两者都有利于加快模型训练、收敛。 1. 归一化 {#title-0} ================= 图像的每个像素值的范围是 \[0, 255\],我们在将图像送入网络之前会将其归一化到 \[0, 1\] 或者 \[-1, 1\] 之间。 1....

PyTorch 图像裁剪

PyTorch 图像裁剪

厉飞雨 阅读(333) 评论(0) 赞(21)

torchvision 提供了一些用于图像裁剪的方法,这些方法也可以用于图像增强。主要介绍下: 1. PIL 和 Tensor 转换 2. 多种图像裁剪方法 1. PIL 和 Tensor 转换 {#title-0} ============================= 处理图像之前,需要先读取图片。我们可以使用 torchvision.io.image 模块的 r...

PyTorch Tensor 形状操作

PyTorch Tensor 形状操作

厉飞雨 阅读(340) 评论(0) 赞(16)

<p>我们在使用 PyTorch 建网络模型时,网络层与层之间很多都是使用不同的 shape 进行运算,我们需要掌握对张量形状的操作,以便能够更好处理网络各层之间的数据连接。</p> <ol> <li> <p>reshape 函数</p> </li> <li> <p>tr...

PyTorch Tensor 拼接操作

PyTorch Tensor 拼接操作

厉飞雨 阅读(383) 评论(0) 赞(28)

<p>张量的拼接操作在神经网络搭建过程中是非常常用的方法,例如: 在残差网络、注意力机制中都使用到了张量拼接。</p> <ol> <li> <p>torch.cat 函数的使用</p> </li> <li> <p>torch.stack 函数的使用</p> &...

PyTorch Tensor 索引操作

PyTorch Tensor 索引操作

厉飞雨 阅读(363) 评论(0) 赞(22)

<p>我们在操作张量时,经常需要去进行获取或者修改操作,掌握张量的花式索引操作是必须的一项能力。</p> <pre><code>import torch data = torch.randint(0, 10, [4, 5]) print(data) print('-' * 50) # 1. 简单行、列索引 ...