
pytorch
布丁的自我修养
这个作者很懒,什么都没留下…
展开
-
pytorch tensor clone, detach 之后梯度的变化
cloneclone()函数可以返回一个完全相同的tensor,新的tensor开辟新的内存,但是仍然留在计算图中。detachdetach()函数可以返回一个完全相同的tensor,新的tensor开辟与旧的tensor共享内存,新的tensor会脱离计算图,不会牵扯梯度计算。非常推荐大家阅读这篇博客:https://blog.youkuaiyun.com/winycg/article/details/100813519...转载 2020-08-19 23:23:49 · 1348 阅读 · 0 评论 -
pytorch KL散度计算出现负值的情况
最近使用了pytorch的KL散度计算模块,发现loss是负值,例如下面的代码。import torchKL_criterion = torch.nn.KLDivLoss(size_average=False)a = torch.tensor([0.1, 0.2, 0.3, 0.4])b = torch.tensor([0.1, 0.2, 0.3, 0.4])loss = KL_criterion(a, b)print(loss)其结果为:-1.5799后来通过网上的解释(http原创 2020-08-19 22:12:52 · 13441 阅读 · 2 评论 -
使用清华镜像源下载pytorch
使用清华镜像源下载pytorch由于墙的缘故,我们在国内下载pytorch的速度是非常慢的,甚至还容易出现中断。这时我们可以使用国内的清华源,自己下载所需要的包,然后本地安装。清华镜像首先去清华源pytorch的网站找我们所需要的包:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/下载所需要的包例如我想下载 py...原创 2020-02-10 23:32:36 · 12611 阅读 · 2 评论 -
pytorch register_hook 学习
pytorch register_hook 学习register_hook 简介:pytorch 的 hook 函数分为 torch.Tensor 和 torch.nn.Module 两类, 分别对应:torch.Tensor.register_hooktorch.nn.Module.register_backward_hook参考:https://blog.youkuaiyun.com/qq_...原创 2020-01-28 16:29:16 · 1232 阅读 · 0 评论 -
pytorch 打印模型的参数值
pytorch 打印模型的参数值对于简单的网络例如全连接层Linear可以使用以下方法打印linear层:fc = nn.Linear(3, 5)params = list(fc.named_parameters())print(params.__len__())print(params[0])print(params[1])输出如下:由于Linear默认是偏置bias的,...原创 2019-10-20 10:27:08 · 12964 阅读 · 3 评论 -
pytorch 学习笔记6 —— 一步步解析nn模块
一步步解析nn模块来源:https://pytorch.org/tutorials/beginner/nn_tutorial.html#refactor-using-optim数据集使用的数据集是MNIST,有多种方式可以获取,包括教程中的requests方式。这里不在详细说明,但是说明将数据转化为图片的方式。(MNIST的数据是手写数字)使用matplotlib显示图片pyplot.i...原创 2019-05-23 21:31:42 · 1030 阅读 · 0 评论 -
pytorch 学习笔记5 —— 实例学习
首先是一个两层网络,使用numpy版本和pytorch版本其实如果仔细对比,差别不大。代码量也相似。因为这里没有使用pytorch的自动梯度计算。numpy版本# -*- coding: utf-8 -*-import numpy as np# N is batch size; D_in is input dimension;# H is hidden dimension; D_o...原创 2019-05-23 21:30:56 · 368 阅读 · 0 评论 -
pytorch 学习笔记4 —— GPU加速
在GPU上训练来源:https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#training-an-image-classifier定义设备如果我们的机器支持CUDA,那么我们使用第一个cuda设备为cuda0device = torch.device("cuda:0" if torch.cuda.is_av...原创 2019-05-23 21:29:52 · 620 阅读 · 0 评论 -
pytorch 学习笔记3 —— Neural Networks
来源:https://pytorch.org/tutorials/beginner/blitz/neural_networks_tutorial.html#backprop来源里面有比较详细的例子。这里挑几点比较重点的作为recap定义一个模型import torchimport torch.nn as nnimport torch.nn.functional as Fclas...原创 2019-05-23 21:28:59 · 311 阅读 · 0 评论 -
pytorch 学习笔记2 —— autograd package
autograd package来源:https://pytorch.org/tutorials/beginner/blitz/autograd_tutorial.html如果属性:.requires_grad 的值是true,那么意味着所有的计算都会自动计算backword.当结束计算的时候,可以调用.backward(),所有的梯度都会自动被计算好。tensor的梯度可以查看属性.gr...原创 2019-05-23 21:28:36 · 279 阅读 · 0 评论 -
pytorch 学习笔记1 —— 变量操作
为什么学习pytorch替代numpy,使得可以更好使用GPUs为深度学习提供最大的灵活性和速度学习前提确保安装了torch的包,以下句子可以顺利执行import torch变量操作来源:https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor...原创 2019-05-23 21:24:54 · 621 阅读 · 0 评论