pytorch
羊藤枝
这个作者很懒,什么都没留下…
展开
-
训练过程中,内存占用一直升高的原因
记录训练过程中遇到的一个问题,如下图所示,训练过程中内存占用一直不断升高。一会内存就涨为了下图所示:经常筛查,发现问题出现在下述代码中: for w, flag, op in zip(weights,flags,self._ops): if flag >= 2: result += w * op(x) self._resource_size[index] = op.size原创 2020-12-21 16:24:40 · 4316 阅读 · 5 评论 -
nvcc fatal : Unsupported gpu architecture ‘compute_86‘
GPU: RTX3090Linux: Ubuntu 16.04pytorch: 1.7.0python: 3.7.9cuda version: V11.0.194GCC version: 5.2.0安装apex的过程中,按照官网的教程真是一波三折~官网的教程如下:git clone https://github.com/NVIDIA/apexcd apexpip install -v --disable-pip-version-check --no-cache-dir --global原创 2020-12-14 15:58:40 · 17578 阅读 · 27 评论 -
pytorch----如何在网络中额外添加可训练参数
我的目的是在一个卷积操作中额外添加一个可训练的参数,该参数可以控制该卷积层参数,我一开始的定义是这样的:1.先在__init__中定义该可训练参数:self.para = torch.nn.Parameter(torch.ones(1).to(device).requires_grad_())2.在forward中定义该参数的操作:self.conv.weight.data = torch.mul(self.conv.weight, self.para)return self.conv(x)可以原创 2020-06-20 22:44:43 · 7644 阅读 · 6 评论 -
pytorch遇到的bug记录—2
问题描述:我定义的网络模型除了原始的参数之外,还自定义了一组参数,这组参数也要参与训练,但是我在使用torch.nn.DataParallel 进行多GPU训练时,出现bug如下:Traceback (most recent call last): File "train_search.py", line 741, in <module> architecture.main() File "train_search.py", line 358, in main tra原创 2020-06-15 17:18:15 · 11416 阅读 · 4 评论 -
pytorch遇到的bug记录—1
1.ValueError: can’t optimize a non-leaf Tensor主要原因:torch.optim优化的参数必须满足is_leaf = True。问题来源:我自定义网络的训练参数,如下:self.alpha = torch.nn.Parameter(torch.zeros(self._k, encoding_length).cuda().requires_grad_())此时self.alpha.is_leaf = True就是说这时的定义还没有问题。但是我后面有需原创 2020-06-11 12:25:50 · 2011 阅读 · 2 评论 -
pytorch 多GPU训练遇到的坑
在打算由单GPU转成多GPU时,使用:self.model = self.model.cuda(device=device_ids[0]) self.model = torch.nn.DataParallel(self.model,device_ids=device_ids)设置后,出现报错,报错显示读取不到模型的参数,原因是因为经过DataParallel包装...原创 2019-09-25 14:56:49 · 4455 阅读 · 0 评论 -
ssds目标检测项目中遇到的一些bug
在ssds检测项目中,其中求损失的multibox_loss.py中遇到一个bug,错误为:IndexError: The shape of the mask [32, 2990] at index 0 does not match the shape of the indexed tensor [95680, 1] at index 0报错代码如下:loss_c[pos] = 0其中...原创 2019-08-29 15:22:34 · 5382 阅读 · 8 评论 -
3.2 迁移学习(transfer learning)
%matplotlib inline3.2 迁移学习(transfer learning)关于迁移学习的一些基础知识可以参考王晋东的迁移学习手册:https://max.book118.com/html/2018/0902/5144341211001312.shtm迁移学习的意义何在?在实践中,很少有人从头开始训练整个卷积网络(随机初始化),因为拥有足够大小的数据集是相对罕见的。相反,通常...原创 2019-07-05 17:28:58 · 753 阅读 · 0 评论 -
3.1 利用MNIST数据集做手写数字识别
3.1 利用MNIST数据集做手写数字识别from __future__ import print_functionimport torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimimport torchvisionimport torchvision.transfo...原创 2019-06-27 21:16:57 · 294 阅读 · 0 评论 -
1.3 Neural Networks
1.3 Neural Networks使用torch.nn包来构建神经网络。上一讲已经讲过了autograd,nn包依赖autograd包来定义模型并求导。 一个nn.Module包含各个层和一个forward(input)方法,该方法返回output。例如:关于卷积神经网络的基础介绍,可以参考这里:https://github.com/zergtant/pytorch-handbook/...原创 2019-06-27 21:10:10 · 371 阅读 · 0 评论 -
1.4 使用torch包训练一个分类集
1.4 使用torch包训练一个分类集其中包含torchvision包,它包含了处理一些基本图像数据集的方法。这些数据集包括 Imagenet, CIFAR10, MNIST 等。除了数据加载以外,torchvision 还包含了图像转换器, torchvision.datasets 和 torch.utils.data.DataLoader。torchvision包不仅提供了巨大的便利,也避...原创 2019-06-24 17:39:00 · 443 阅读 · 0 评论 -
1.2 Autograd: 自动求导机制
Autograd: 自动求导机制PyTorch 中所有神经网络的核心是 autograd 包。 我们先简单介绍一下这个包,然后训练第一个简单的神经网络。autograd包为张量上的所有操作提供了自动求导。 它是一个在运行时定义的框架,这意味着反向传播是根据你的代码来确定如何运行,并且每次迭代可以是不同的。示例张量(Tensor)torch.Tensor是这个包的核心类。如果设置 .req...原创 2019-06-20 16:55:27 · 718 阅读 · 0 评论 -
1.1 tensor
#学习torch的基本操作#__future__模块,把下一个新版本的特性导入到当前版本from __future__ import print_functionimport torch#关于构造张量####################'''#构造5*3空矩阵x = torch.empty(5,3)print ('x=',x)#构造5*3随机矩阵,矩阵元素大小(0,1)...原创 2019-06-20 09:28:24 · 140 阅读 · 0 评论