Pytorch学习
Kadima°
行至水穷处,坐看云起时
展开
-
【pytorch】——torch.hub
【pytorch】——torch.hubFacebook官方博客表示,PyTorch Hub是一个简易API和工作流程,为复现研究提供了基本构建模块,包含预训练模型库。并且,PyTorch Hub还支持Colab,能与论文代码结合网站Papers With Code集成,用于更广泛的研究。发布首日已有18个模型“入驻”,获得英伟达官方力挺。而且Facebook还鼓励论文发布者把自己的模型发布到这里来,让PyTorch Hub越来越强大。torch.hubPyTorch Hub中提供的模型也支持Col原创 2022-01-25 11:29:17 · 1831 阅读 · 0 评论 -
【pytorch】——torch.unique
【pytorch】——torch.unique官方文档torch.unique(input, sorted=True, return_inverse=False, return_counts=False, dim=None)默认参数说明input: 待处理Tensorsorted: 是否对处理后的不包含重复元素的Tensor进行升序排列(sorted=True表示进行升序排列,sorted=False并非表示降序排列,这点容易混淆,可以看下面例1)return_inverse: 是否返回待处原创 2021-12-13 10:54:41 · 5157 阅读 · 0 评论 -
【计算机视觉】——标准卷积,深度可分离卷积参数量与计算量
标准卷积、深度可分离卷积和分组卷积的参数量与计算量和感受野大小计算原创 2021-10-08 21:26:50 · 537 阅读 · 0 评论 -
PyTorch 的 backward 为什么有一个 grad_variables 参数?
PyTorch 的 backward 为什么有一个 grad_variables 参数?知乎大佬讲得很清楚,参考如下链接PyTorch 的 backward 为什么有一个 grad_variables 参数?Tensor对Tensor求导是十分昂贵的,因此深度学习中将Tensor对Tensor的求导转化为标量对Tensor的导数即先求加权和,再使用加权和的结果进行反向传播求导数...原创 2021-10-03 22:12:09 · 108 阅读 · 0 评论 -
Pytorch中有多次backward时需要retain_graph参数
Pytorch中有多次backward时需要retain_graph参数背景介绍Pytorch中的机制是每次调用loss.backward()时都会free掉计算图中所有缓存的buffers,当模型中可能有多次backward()时,因为前一次调用backward()时已经释放掉了buffer,所以下一次调用时会因为buffers不存在而报错解决办法loss.backward(retain_graph=True)错误使用optimizer.zero_grad() 清空过往梯度;loss1.b原创 2021-10-03 16:43:09 · 1608 阅读 · 0 评论 -
Pytorch中x.data()与x.detach()的区别
Pytorch中x.data()与x.detach()的区别作用阻断梯度回传class TestDetach(nn.Module): def __init__(self, InDim, HiddenDim, OutDim): super().__init__() self.layer1 = nn.Linear(InDim, HiddenDim, False) self.layer2 = nn.Linear(HiddenDim, OutDim,原创 2021-10-03 16:20:50 · 2685 阅读 · 0 评论 -
Pytorch创建Tensor常用方法总结
Pytorch创建Tensor常用方法总结1.从numpy的ndarray或python的list创建torch.from_numpy(ndarray)torch.tensor(list)torch.Tensor(size)a = np.array([1,2,3])data = torch.from_numpy(a)print(data)"""输出:tensor([1, 2, 3], dtype=torch.int32)"""b = np.ones([2,3])data1 =原创 2021-10-03 15:22:07 · 1256 阅读 · 0 评论 -
Python 的类的下划线命名有什么不同?
Python 的类的下划线命名有什么不同?Python 的类的下划线命名有什么不同?原创 2021-06-12 09:50:10 · 90 阅读 · 0 评论 -
class-aware与class-agnostic的含义,区别,应用场景
class-aware与class-agnostic的含义,区别,应用场景先给出官方的原文解释:class-awareFor a class-aware detector, if you feed it an image, it will return a set of bounding boxes, each box associated with the class of the object inside (i.e. dog, cat, car). It means that by the ti原创 2020-11-24 22:59:42 · 3108 阅读 · 2 评论 -
你知道print和pprint的区别吗?
你知道print和pprint的区别吗?print()和pprint()都是python的打印模块,功能基本一样,唯一的区别就是pprint()模块打印出来的数据结构更加完整,每行为一个数据结构,更加方便阅读打印输出结果。特别是对于特别长的数据打印,print()输出结果都在一行,不方便查看,而pprint()采用分行打印输出,所以对于数据结构比较复杂、数据长度较长的数据,适合采用pprint()打印方式。当然,一般情况多数采用print()。以下为代码示例:import pprintdata =转载 2020-11-24 21:57:13 · 121 阅读 · 0 评论 -
Faster-RCNN中nn.Sequential(*list(vgg.classifier._modules.values())[:-1])的理解
Faster-RCNN中nn.Sequential(*list(vgg.classifier._modules.values())[:-1])的理解原博:https://blog.csdn.net/a1103688841/article/details/89383215先总结一下,self.RCNN_base = nn.Sequential(*list(vgg.features._modules.values())[:-1]),详解如下:vgg是已经构建好的vgg模型。vgg.features是取原创 2020-11-24 21:49:23 · 1678 阅读 · 0 评论 -
Pytorch学习笔记——数据类型转换总结
1.Tensor与Numpy之间的相互转化tensor转numpya = torch.ones([2,5])b = a.numpy()numpy转tensora = np.ones([2,5])b = torch.from_numpy(a)2.Tensor与list之间的相互转化tensor转lista = torch.ones([1,5])b = a.tolist()list转tensora = list(range(1,6))b = torch.tensor(a)3.原创 2020-11-01 16:44:36 · 566 阅读 · 0 评论 -
Pytorch学习笔记1——Pytorch基础
Pytorch学习笔记1——Pytorch基础1.张量(Tensor)张量的英文是Tensor,它是PyTorch里面基础的运算单位,与Numpy中的ndarray相同都表示的是一个多维的矩阵。 与ndarray的最大区别就是,PyTorch的Tensor可以在 GPU 上运行,而 numpy 的 ndarray 只能在 CPU 上运行,在GPU上运行大大加快了运算速度首先导入所需库函数import torchimport numpy as nptorch.__version__下面我们生成原创 2020-09-15 10:18:56 · 309 阅读 · 0 评论