深度框架|Pytorch
hjxu2016
好记性不如烂笔头|
独乐乐不如众乐乐|
你的纠错与关注就是对我最大的支持
展开
-
大模型训练框架DeepSpeed使用入门(1): 训练设置
大模型训练的痛点是模型参数过大,动辄上百亿,如果单靠单个GPU来完成训练基本不可能。所以需要多卡或者分布式训练来完成这项工作。DeepSpeed是由Microsoft提供的分布式训练工具,旨在支持更大规模的模型和提供更多的优化策略和工具。对于更大模型的训练来说,DeepSpeed提供了更多策略,例如:Zero、Offload等。本文简单介绍下如何使用DeepSpeed。原创 2024-05-10 17:16:39 · 1674 阅读 · 0 评论 -
【Pytorch API笔记9】用torch.distributed.barrier()进行同步操作
当一个进程调用 torch.distributed.barrier()时,这个进程将会被阻塞,知道所有进程都调用了。torch.distributed.barrier()是一个同步操作,通常用在分布式训练中,同步不同进程的操作。torch.distributed.barrier(),然后会同时解除所有阻塞,几乎执行后续的操作。原创 2024-05-08 15:19:58 · 489 阅读 · 0 评论 -
【Pytorch API笔记8】用torch.cuda.empty_cache()释放所有未使用的缓存内存
python上,如何释放torch开辟的显存呢?原创 2023-11-17 16:13:59 · 912 阅读 · 0 评论 -
【Pytorch API笔记8】用torchvision.utils.save_image批量保存图像数据
将给定的Tensor保存成image文件。如果给定的是mini-batch tensor,那就用make-grid做成雪碧图,再保存。将一个Batch内的数据,都保存下来,省的一个一个保存了。原创 2023-04-04 14:41:43 · 763 阅读 · 0 评论 -
【Pytorch API笔记7】用nn.Identity()在网络结构中进行占位操作
举个例子,想用某个backbone时,最后一层本来是用作 分类的,用 softmax函数或者 fully connected 函数,但是用 nn.identtiy() 函数把最后一层替换掉,相当于得到分类之前的特征。阅读源码可知,identity模块不改变输入,直接返回输入。原创 2023-04-04 13:41:15 · 492 阅读 · 0 评论 -
【pytorch API笔记6】网络中的参数管理
pytorch对网络进行参数管理原创 2022-11-07 20:33:20 · 635 阅读 · 0 评论 -
【pytorch API笔记5】nn.module类常见成员函数
文章目录一、cpu(self)二、cuda(self, device=None)三、apply(self, fn)四、type(self, dst_type)五、float(self)、double(self)、half(self)、bfloat16(self)六、to(self, *args, **kwargs)七、state_dict(self, destination=None, prefix='', keep_vars=False)八、def train(self, mode=True)和 eval原创 2020-09-10 14:38:46 · 2559 阅读 · 0 评论 -
【Pytorch API笔记4】用transpose()和permute()和view()来设置维度
转换维度是常见的操作之一,比如NHWC转换成NCHW在numpy里可以用 np.tranpose操作,但在torch里却有一丝区别原创 2022-10-11 10:53:50 · 1354 阅读 · 0 评论 -
【Pytorch API笔记3】用torch.numel()来统计网络的参数量
利用用torch.numel()来统计网络的参数量原创 2022-10-10 16:00:06 · 665 阅读 · 0 评论 -
【Pytorch API笔记2】获取Tensor的值
Pytorch获取Tensor的值原创 2022-10-10 14:16:02 · 2645 阅读 · 0 评论 -
【Pytorch API笔记1】torch.backends.cudnn实现训练加速
Pytorch API 笔记之 torch.backends.cudnn原创 2022-10-10 14:10:41 · 843 阅读 · 0 评论 -
【Detectron2学习一】windows下安装
Detectron2在windows上的安装记录原创 2022-07-14 11:38:57 · 3528 阅读 · 0 评论 -
win10下torch和trt无法一起加载
self._handle = _dlopen(self._name, mode)OSError: [WinError 127] 找不到指定的程序。import torchimport tensorrt as trt就这两行代码然后就报错了OSError: [WinError 127] 找不到指定的程序。这里推测 我有两个cuda版本,trt依赖的是cuda11.5,torch依赖是cuda11.3先加载torch导致trt找不到依赖的库。解决方案,先加载trt,再加载torch。imp原创 2022-03-08 15:38:12 · 1571 阅读 · 7 评论 -
Pytorch系列(八):用TensorboardX来记录参数
楼主Pytorch系列中,TensorBoardX的使用教程是一直在规划中的,因总总原因耽搁了,后有读者私信,能不能补上TensorBoardX的使用案例,才想起补上这个坑。首先来一下,tensorboardX和Tensorboard的区别吧。以下皆翻译自 https://tensorboardx.readthedocs.io/en/latest/tutorial.html谷歌的tensorflow的tensorboard是一个web服务器,用于可视化神经网络的训练过程,它可视化标量值、图像、文本等.原创 2021-12-13 18:09:39 · 3765 阅读 · 0 评论 -
RuntimeError: a view of a leaf Variable that requires grad is being used in an in-place operation.
跑yolov5的代码时,pytorch遇到<>RuntimeError: a view of a leaf Variable that requires grad is being used in an in-place operation.的报错在报错的这一块增加 with torch.no_grad(): def _initialize_biases(self, cf=None): # initialize biases into Detect(), cf is class freq原创 2021-11-13 14:11:30 · 12670 阅读 · 5 评论 -
Pytorch遇到报错Expected more than 1 value per channel when training, got input size torch.Size
Pytorch遇到Expected more than 1 value per channel when training, got input size torch.Size([1, 256, 1, 1])楼主遇到这个报错,通过pycharm定位到断言的位置def _verify_batch_size(size: List[int]) -> None: # XXX: JIT script does not support the reduce from functools, and m原创 2021-11-01 10:43:01 · 29058 阅读 · 23 评论 -
pytorch遇到Error loading “C:\Anaconda3\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll“
最近一直在搞windows系统,不太熟悉,坑比较多。在使用pytorch时,突然就遇到 OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "C:\Anaconda3\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" 的报错。查阅资料,可能时系统的内存不够导致的1、解决方案一: 增加内存条,貌似不太现实2、解决方案二:调整num_worker 大小,但训练速度会变慢3原创 2021-07-19 10:33:21 · 19298 阅读 · 12 评论 -
torch转onnx时,遇到 linspace操作不支持的问题
Exporting the operator linspace to ONNX opset version 11 is not supported.torch.linspace貌似不支持转onnx查阅资料后,用torch.arange 来代替了,但需要注意torch.arange(start=0, end, step=1, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tenso原创 2021-06-22 09:53:23 · 2058 阅读 · 0 评论 -
Pytorch遇到权重不匹配的问题
最近,楼主在pytorch微调模型时遇到size mismatch for fc.weight: copying a param with shape torch.Size([1000, 2048]) from checkpoint, the shape in current model is torch.Size([2, 2048]).size mismatch for fc.bias: copying a param with shape torch.Size([1000]) from checkp原创 2021-04-10 11:19:30 · 25026 阅读 · 6 评论 -
detectron2更新Pytorch版本后的报错记录
不知道什么时候,更新了Pytorch的版本,然后打开Dectron2就遇到了一系列的报错既然遇到了错误,那就得记录下来,省的下次再各种百度谷歌错误一:detectron2遇到 undefined symbol: _ZN6caffe26detail36_typeMetaDataInstance_preallocated_7E更新Torch版本后,Detectron2是需要重新安装的,博主这里了也就重装了,但重装方式不对,首先cd到deectron2中所在的文件夹,然后先需要删除库文件,博主就是没有删除原创 2021-01-28 13:50:04 · 4064 阅读 · 0 评论 -
pytorch系列(八):猫狗大战3-单机多卡无脑训练
Pytorch猫狗大战系列:猫狗大战1-训练和测试自己的数据集猫狗大战2-AlexNet猫狗大战3-MobileNet_V1&V2猫狗大战3-MobileNet_V3TensorFlow 2.0猫狗大战系列猫狗大战1、制作与读取record数据猫狗大战2、训练与保存模型文章目录一、网络结构二、使用nn.DataParallel (不推荐)训练二、使用DistributedDataParallel训练一、网络结构net = models.resnet18(pretrained.原创 2021-01-27 20:05:58 · 2811 阅读 · 2 评论 -
Pytorch使用DistributedDataParallel单机多卡训练时遇到ValueError: sampler option is mutually exclusive with shuff
Pytorch使用DistributedDataParallel单机多卡训练时遇到ValueError: sampler option is mutually exclusive with shuffle的报错是因为sampler选项与shuffle互斥在数据读取这一块,需要将shuffle改成 Falsetrain_dataset = datasets.ImageFolder(root='data/train/', transform=data_transform)train_sampler =原创 2020-12-16 19:31:14 · 2710 阅读 · 0 评论 -
理解Detectron2中数据读取以及在线数据增强流程
文章目录一、Detectron2中读取数据的流程二、读取数据、在线数据增强并显示三、Detectron2官方对数据增强部分的描述以目标检测为例,探讨Detectron2中是如何进行在线数据增强的。一、Detectron2中读取数据的流程根据cfg配置文件,建立一个Trainer(cfg)类trainer = Trainer(cfg)trainer.resume_or_load(resume=args.resume)Trainer类是由DefaultTrainer类派生而来class原创 2020-12-01 16:17:37 · 4256 阅读 · 4 评论 -
detecron2中的注册机制
文章目录一、为什么使用注册类二、注册类的实现传送门 [Detectron2] 01-注册机制 Registry 实现一、为什么使用注册类以下转自知乎 https://zhuanlan.zhihu.com/p/93835858对于detectron2这种,需要支持许多不同的模型的大型框架,理想情况下所有的模型的参数都希望写在配置文件中,那问题来了,如果我希望根据我的配置文件,决定我是需要用VGG还是用ResNet ,我要怎么写呢?如果是我,我可能会写出这种可扩展性超级低的暴搓的代码:if cla原创 2020-09-11 09:52:14 · 874 阅读 · 0 评论 -
Detecron2学习系列整理
都是转载Detectron2源码阅读笔记-(一)Config&TrainerDetectron2学习一:环境配置,YAML语法原创 2020-09-08 11:03:24 · 449 阅读 · 0 评论 -
记录一下 detecron2的安装过程
文章目录一、升级Python二、安装detecron2三、detectron2测试一张demo要求 python版本>3.6一、升级Pythonwget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgztar zxvf Python-3.7.3.tgz./configure --with-sslmakesudo make install升级python遇到 oduleNotFoundError: No module na原创 2020-08-26 13:21:15 · 424 阅读 · 0 评论 -
Pytorch系列(七):猫狗大战3-MobileNet_V3
文章目录一、MobileNet_v3的相关理论基础二、网络结构和改进点2.1 V3和V2网络块结构的对比三、Pytorch源码3.1swish和h-swish一、MobileNet_v3的相关理论基础MobileNetV3——论文翻译mobilenet系列之又一新成员—mobilenet-v3MobileNet_v3的论文中的主要重点是如何设计出这个网络,这部分笔者也不是很清楚,先记坑。二、网络结构和改进点2.1 V3和V2网络块结构的对比MobileNetV3是综合了以下三种模型的思想:Mo原创 2020-05-13 12:13:48 · 4275 阅读 · 0 评论 -
Pytorch系列(五):猫狗大战2-AlexNet
一、AlexNetAlexNet的出现,引发人工技能的浪潮.尽管后续出现vgg, Google系列,ResNet,DenseNet等等更深更优秀的网络,但对AlexNet有着特殊的情怀.AlexNet的网络结构摘自 学习笔记:大话经典模型AlexNet、VGGNet、GoogLeNet、ResNetPytorch代码#!/usr/bin/env python3# -*- coding: utf-8 -*-""" * * *原创 2020-05-12 14:44:17 · 1199 阅读 · 0 评论 -
Pytorch系列(六):猫狗大战3-MobileNet_V1&V2
文章目录一、Mobilenet系列理论整理二、Depthwise Separable Convolution和MobileNet_v1 分类网络结构一、Mobilenet系列理论整理看我的另外一篇博客笔记, 传送门MobileNet相关知识整理二、Depthwise Separable Convolution和MobileNet_v1 分类网络结构Depthwise Separable ...原创 2020-05-08 11:35:47 · 980 阅读 · 0 评论 -
Pytorch系列(四):猫狗大战1-训练和测试自己的数据集
一、数据集介绍以著名的猫狗大战数据集为例,实战多种分类网络数据分布如下,在data文件夹下,分成 train和validation两个文件夹.├── train│ ├── cat│ └── dog└── validation ├── cat └── dog二、制作数据集Pytorch通过继承 torch.utils.data.Dataset 类实现数据的...原创 2020-05-07 15:18:22 · 5306 阅读 · 5 评论 -
Pytorch系列(三):线性回归
一、制作数据import torchimport numpy as npimport matplotlib.pyplot as plt# 制定数据TRUE_W = 3.0TRUE_b = 2.0# 制作训练数据,添加一些噪声进去NUM_EXAMPLES = 1000inputs = torch.unsqueeze(torch.rand(NUM_EXAMPLES), dim=1...原创 2020-05-07 11:16:08 · 228 阅读 · 0 评论 -
Pytorch系列(二):简单求导
一、 定义一个x输入import torch# 1、 requires_grad设置为True,来跟踪与它相关的计算x = torch.ones(2, 2, requires_grad=True)print (x)tensor([[1., 1.], [1., 1.]], requires_grad=True)2、 针对张量做一个操作 y = x + 2y = x ...原创 2020-04-30 17:23:49 · 394 阅读 · 0 评论 -
Pytorch报错记录
一、TypeError: _resolve_type_from_object(): incompatible function arguments. The following argument types are supported:1. (arg0: object, arg1: torch._C._jit_tree_views.SourceRange, arg2: Callable[[str...原创 2020-04-30 09:10:13 · 7531 阅读 · 4 评论 -
Pytorch系列(一):基础操作篇
版权提示: 参考 PyTorch中文文档1、 构建5*3的矩阵,不进行初始化import torchx = torch.empty(5, 3)print(x)输出tensor([[1.0682e-11, 4.5757e-41, 1.6970e-36], [0.0000e+00, 0.0000e+00, 0.0000e+00], [0.0000e+00,...原创 2020-04-27 17:22:05 · 467 阅读 · 0 评论