pytorch
文章平均质量分 74
拿铁大侠
这个作者很懒,什么都没留下…
展开
-
pytorch notes
DataLoadertorch.utils.data.DataLoader参数worker_init_fn创建DataLoader需要传入Dataset对象,如果在Dataset中实现了worker_init_fn成员函数,则把这个函数也一并传给DataLoader。不管传给DataLoader的num_workers等于几,Dataset的构造函数都只会被创建一次,即不同的worker是使用同一个Dataset;但是worker_init_fn会被调用num_workers次,用于初始化每原创 2021-02-22 10:30:52 · 5555 阅读 · 0 评论 -
pytorch转置卷积(ConvTranspose)详解
说明由于最开始接触卷积是通过滑窗的方式了解卷积的计算过程,所以在接触转置卷积时很蒙圈。实际上抛开滑窗的计算过程,用矩阵乘法实现卷积,则理解转置卷积就极其简单了。用矩阵乘法实现卷积这里用二维卷积来举例,为方便观察,把batch size和输入输出通道数都设为1。首先从最简单的情况开始,stride=[1, 1],padding=[0, 0]。此时,如果我们输入4*4的图片,则显然输出尺寸是2*2,如下图。(以下很多图片来自网络,忘记是哪里截取的了,抱歉不能给出引用链接,如果后续获知,会给补上)。原创 2021-01-24 16:50:39 · 12020 阅读 · 3 评论 -
pytorch中的乘法:mul matmul mm bmm @ *
目录mulbroadcastable运算符*matmul运算符@mmbmmmultorch.mul(a, b)如果a和b的shape相同,则对应元素相乘,输出的shape不变。如果a和b的shape不同,则两个shape必须是broadcastable的(见下文)。首先对a和b进行broadcast,之后a和b的shape就相同了,然后对应元素相乘,输出的shape是broadcast之后的。此外:a和b可以都是标量,此时就是普通标量乘法;a和b也可以一.原创 2020-10-10 16:19:46 · 7745 阅读 · 0 评论 -
attention(注意力机制)原理和pytorch demo
说明demo源自吴恩达老师的课程,从tensorflow修改为pytorch,略有不同。RNN的局限性原始数据是一个字符串:friday august 17 2001,长度是21(包含空格),为了简便这里把每一个字符用一个onehot向量表示。于是数据转化为21个onehot向量。依次输入到一个RNN网络(可以是普通RNN、也可以是LSTM和GRU),最终得到一个向量(即RNN网络中的隐状态)。如果此时用这个向量作为整个字符串的编码信息直接去解码,很可能会丢失一些信息,尤其是输入更长的字符串时,原创 2020-09-21 23:54:45 · 13579 阅读 · 1 评论 -
pytorch优化器详解:Adam
说明模型每次反向传导都会给各个可学习参数p计算出一个偏导数,用于更新对应的参数p。通常偏导数不会直接作用到对应的可学习参数p上,而是通过优化器做一下处理,得到一个新的值,处理过程用函数F表示(不同的优化器对应的F的内容不同),即,然后和学习率lr一起用于更新可学习参数p,即。Adam是在RMSProp和AdaGrad的基础上改进的。...原创 2020-09-13 15:26:30 · 82681 阅读 · 8 评论 -
pytorch优化器详解:RMSProp
说明模型每次反向传导都会给各个可学习参数p计算出一个偏导数,用于更新对应的参数p。通常偏导数不会直接作用到对应的可学习参数p上,而是通过优化器做一下处理,得到一个新的值,处理过程用函数F表示(不同的优化器对应的F的内容不同),即,然后和学习率lr一起用于更新可学习参数p,即。RMSProp原理假设损失函数是,即我们的目标是学习x和y的值,让Loss尽可能小。如下是绘制损失函数的代码以及绘制出的结果。注意这并不是一个U型槽,它有最小值点,这个点对应的x和y值就是学习的目标。import nu原创 2020-09-10 18:19:24 · 45006 阅读 · 14 评论 -
pytorch优化器详解:SGD
说明模型每次反向传导都会给各个可学习的参数p计算出一个偏导数,用于更新对应的参数p。通常偏导数不会直接作用到对应的参数p上,而是通过优化器做一下处理,得到一个新的值,计算过程用函数F表示(不同的优化器对应的F的内容不同),即,然后和学习率lr一起作用于可学习参数p,即。SGD参数SGD是随机梯度下降(stochastic gradient descent)的首字母。torch.optim.SGD(params, lr=<required paramet原创 2020-08-31 10:07:01 · 53682 阅读 · 11 评论 -
pytorch LayerNorm参数详解,计算过程
说明LayerNorm中不会像BatchNorm那样跟踪统计全局的均值方差,因此train()和eval()对LayerNorm没有影响。LayerNorm参数torch.nn.LayerNorm( normalized_shape: Union[int, List[int], torch.Size], eps: float = 1e-05, elementwise_affine: bool = True)normalized_shape原创 2020-08-11 18:46:30 · 89839 阅读 · 23 评论 -
pytorch BatchNorm参数详解,计算过程
BatchNorm1d的参数:torch.nn.BatchNorm1d(num_features,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)原创 2020-08-09 21:35:19 · 33927 阅读 · 14 评论