pytorch
cici_iii
keep coding
展开
-
Dataset、IterableDataset 读取大数据的思路
一、单进程读取数据Dataset在数据量很大,无法将全部数据加载到内存的情况下,可以在init中读出表数据行数,在__len__设置为长度返回,在__getitem__中根据idx读表,idx就可以表示读取的表的行数,一般在读表的时候写作 path/table_name?start={}&end={}import torchimport numpy as npfrom torch.utils.data import IterableDataset, Dataset'''需要先一次性把原创 2021-12-24 15:43:09 · 4076 阅读 · 0 评论 -
PyTorch 读取大数据
PyTorch 读取大数据数据量太大,必须分批从磁盘加载,下面是单机单卡的思路:from torch.utils.data import Dataset, DataLoaderimport torchclass PretrainData(Dataset): def __init__(self): ''' 假设data是个数据量很大的文件,每次只能从内存中加载3条数据, 后续可以把data放在odps_batch_data中改写成从文件中读数据 '''原创 2021-12-13 14:17:17 · 1520 阅读 · 0 评论 -
pytorch中的nan
原因一:GPU训练和CPU训练的问题:用.cuda()将模型和数据都放到gpu上后,nan现象消失。原创 2020-08-14 10:02:36 · 190 阅读 · 0 评论 -
【分布式训练】单机多卡—PyTorch
目的:1、加快计算速度2、缓解大数据压力使用方式:详见:【分布式训练】单机多卡的正确打开方式(三):PyTorch注意:1、选择 DistributedDataParallel 要比 DataParallel 好2、可能需要在parser中添加 parser.add_argument("--local_rank", type=int, help="") 如果你出现下面这种错误的话:argument for training: error: unrecognized arguments: --原创 2020-07-28 13:32:40 · 1788 阅读 · 5 评论 -
RemoveError: ‘setuptools‘ is a dependency of conda
问题:Preparing transaction: doneVerifying transaction: failed RemoveError: 'setuptools' is a dependency of conda and cannot be removed from conda's operating environment.解决办法:conda update --force conda原创 2020-07-21 16:22:44 · 401 阅读 · 0 评论 -
one of the variables needed for gradient computation has been modified by an inplace operation
出错问题:RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.FloatTensor [8]], which is output 0 of SelectBackward, is at version 2; expected version 1 instead. Hint: enable anomaly detection to原创 2020-05-26 11:50:03 · 1400 阅读 · 0 评论 -
pytorch之embedding
一、随机初始化的embeddingimport torch.nn as nnu2e = nn.Embedding(num_users, embed_dim).to(device)二、自定义的embeddingimport torch.nn.functional as Fimport torchinput = torch.tensor([[1,2,4,5],[4,3,2,9]]) ...原创 2020-03-05 14:52:55 · 825 阅读 · 0 评论 -
Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the ‘spawn’ start method问题出现的背景:在一个使用 cuda 对模型训练进行加速的程序中,想要使用多进程对模型测试进行加速。解决的办法:因为我是比较熟悉 ...原创 2019-11-11 21:58:56 · 20350 阅读 · 5 评论 -
RuntimeError: Expected object of device type cuda but got device type cpu for argument #2 'target'
RuntimeError: Expected object of device type cuda but got device type cpu for argument #2 ‘target’ in call to _thnn_binary_cross_entropy_forward出错误背景:Pytorch 中想使用 CUDA 对程序计算进行加速错误的意思:object 的 devic...原创 2019-11-11 15:02:23 · 26712 阅读 · 6 评论 -
Pytorch 实现 MLP
torch.nn是专门为神经网络设计的模块化接口。nn构建于 Autograd之上,可用来定义和运行神经网络。nn.functional,这个包中包含了神经网络中使用的一些常用函数,这些函数的特点是,不具有可学习的参数(如ReLU,pool,DropOut等),这些函数可以放在构造函数中,也可以不放,但是这里建议不放。定义一个网络PyTorch中已经为我们准备好了现成的网络模型,只要继承nn...原创 2019-11-11 14:40:56 · 1970 阅读 · 0 评论 -
Pytorch 中 matmul 广播
Pytorch 中 matmul 广播方式一、两个 1 维,向量内积a = torch.ones(3)b = torch.ones(3)print(torch.matmul(a,b)) # tensor(3.)二、两个 2 维,矩阵相乘a = torch.ones(3,4)b= torch.ones(4,3)print(torch.matmul(a,b)) # tensor(...原创 2019-11-10 19:15:04 · 563 阅读 · 0 评论 -
pytorch基础一:张量
简单记录以便查阅张量一、创建张量x = torch.empty(5,3) # 创建未初始化矩阵张量x = torch.rand(5,3) # 创建初始化随机矩阵张量x = torch.zeros(5,3,dtype=torch.long) # 创建0填充矩阵张量x = torch.ten...原创 2019-11-10 17:35:35 · 390 阅读 · 0 评论 -
CUDA out of memory. Tried to allocate 14763.13 GiB (GPU 3; 10.73 GiB total capacity; 165.28 MiB alre
RuntimeError: CUDA out of memory. Tried to allocate 14763.13 GiB (GPU 3; 10.73 GiB total capacity; 165.28 MiB already allocated; 9.61 GiB free; 10.72 MiB cached)原因:要将大量数据加载到GPU上时出现的错误,数据量太大了解决办法:做数据...原创 2019-11-10 11:07:53 · 1733 阅读 · 0 评论 -
Pytorch数据读取(Dataset, DataLoader, DataLoaderIter)
Pytorch的数据读取主要包含三个类:DatasetDataLoaderDataLoaderIter这三者是一个依次封装的关系: 1.被装进2., 2.被装进3.Dataset类Pytorch 读取数据,主要通过Dataset类,Dataset类是所有dataset类的基类,自定义的dataset类要继承它,并且实现它的两个最重要的方法 __getitem__() 和 __le...原创 2019-11-10 11:06:39 · 962 阅读 · 0 评论 -
TypeError: cannot unpack non-iterable NoneType object
TypeError: cannot unpack non-iterable NoneType object(类型错误:无法解包非迭代的NoneType对象)网上查了很多资料,发现大家相同的错误来源不同,我也能根据别人的解决方式来解决我的问题。没有学pytorch语法就直接上手写代码,着实难受,所以放下bug,去学习了一下语法知识。分享一篇不错的文章 深入理解 TORCH.NN跟着练习了一...原创 2019-11-07 17:06:48 · 8546 阅读 · 0 评论