
pytorch
文章平均质量分 92
初识-CV
梦想总是和我擦肩而过。
展开
-
Pytorch的nn.DataParallel详细解析
前言pytorch中的GPU操作默认是异步的,当调用一个使用GPU的函数时,这些操作会在特定设备上排队但不一定在稍后执行。这就使得pytorch可以进行并行计算。但是pytorch异步计算的效果对调用者是不可见的。但平时我们用的更多其实是多GPU的并行计算,例如使用多个GPU训练同一个模型。Pytorch中的多GPU并行计算是数据级并行,相当于开了多个进程,每个进程自己独立运行,然后再整合在一起。device_ids = [0, 1]net = torch.nn.DataParallel(net,原创 2021-08-04 20:58:53 · 27050 阅读 · 3 评论 -
一行代码提升卷积神经网络的计算效率,加速神器torch.backends.cudnn.benchmark
大家在训练深度学习模型的时候,经常会使用 GPU 来加速网络的训练。但是说起 torch.backends.cudnn.benchmark 这个 GPU 相关的 flag,可能有人会感到比较陌生。在一般场景下,只要简单地在 PyTorch 程序开头将其值设置为 True,就可以大大提升卷积神经网络的运行速度。既然如此神奇,为什么 PyTorch 不将其默认设置为 True?它的适用场景是什么?为什么使用它可以提升效率?答案就在本文之中。前言在说 torch.backends.cudnn.benchm.转载 2021-07-16 22:48:50 · 13144 阅读 · 0 评论 -
pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization
本文内容:nn.init 中各种初始化函数Xavier 初始化He 初始化torch.init https://pytorch.org/docs/stable/nn.html#torch-nn-init1. 均匀分布torch.nn.init.uniform_(tensor, a=0, b=1)2. 正太分布torch.nn.init.normal_(tensor, mea...转载 2019-12-26 11:34:16 · 2656 阅读 · 1 评论 -
PyTorch 常用代码段整理合集
本文代码基于PyTorch 1.0版本,需要用到以下包import collectionsimport osimport shutilimport tqdm import numpy as npimport PIL.Imageimport torchimport torchvision1. 基础配置检查PyTorch版本torch.__version__ # P...转载 2019-09-22 10:24:08 · 831 阅读 · 0 评论 -
pytorch: Label Smooth
#!/usr/bin/python# -*- encoding: utf-8 -*-import torchimport torch.nn as nnclass LabelSmoothSoftmaxCE(nn.Module): def __init__(self, lb_pos=0.9, lb_neg=0....原创 2019-09-21 13:59:52 · 3039 阅读 · 4 评论 -
Pytorch:model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别
1原创 2019-09-21 11:48:07 · 134368 阅读 · 51 评论 -
ResNeXt WSL:8亿参数,用ImageNet做微调,pytorch一行代码调用ResNeXt WSL。
ResNeXt WSL,有超过8亿个参数,用Instagram上面的9.4亿张图做了 (弱监督预训练) ,用ImageNet做了微调。名词解释:WSL是弱监督学习4种模型的名称、参数、准确率:ResNext-101 32x48d型号在ImageNet上实现了85.4%的最新精度。一行代码可调用现在,四个预训练模型都已经开源。加载只需:import torchmodel = to...原创 2019-09-20 15:57:44 · 2755 阅读 · 0 评论 -
PyTorch Hub发布!一行代码调用所有模型:torch.hub
Facebook官方博客表示,PyTorch Hub是一个简易API和工作流程,为复现研究提供了基本构建模块,包含预训练模型库。并且,PyTorch Hub还支持Colab,能与论文代码结合网站Papers With Code集成,用于更广泛的研究。发布首日已有18个模型“入驻”,获得英伟达官方力挺。而且Facebook还鼓励论文发布者把自己的模型发布到这里来,让PyTorch Hub越来越强大...原创 2019-09-20 15:54:26 · 27432 阅读 · 4 评论 -
PyTorch学习之六个学习率调整策略
PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorc...转载 2019-07-18 09:42:51 · 1321 阅读 · 0 评论 -
PyTorch 学习笔记:transforms的二十二个方法(transforms用法非常详细)
变换是常见的图像变换。它们可以使用链接在一起Compose。此外,还有torchvision.transforms.functional模块。功能转换可以对转换进行细粒度控制。如果您必须构建更复杂的转换管道(例如,在分段任务的情况下),这将非常有用。torchvision.transforms.Compose(transforms)transforms(Transform对象列表)-要组成...原创 2019-07-05 10:58:51 · 86153 阅读 · 12 评论 -
用PyTorch微调预训练卷积神经网络
如果不懂微调的小伙伴请参考这篇:CNN 之 fine-tune methodsFeaturesGives access to the most popular CNN architectures pretrained on ImageNet.Automatically replaces classifier on top of the network, which allows you t...原创 2019-07-04 10:23:43 · 2520 阅读 · 0 评论 -
pytorch笔记:Efficientnet微调
efficientnet-b5为例from efficientnet_pytorch import EfficientNetmodel = EfficientNet.from_pretrained('efficientnet-b5')print(model)只修改网络的最后几层: (_conv_head): Conv2dStaticSamePadding( 512, 204...原创 2019-07-08 17:20:18 · 13327 阅读 · 8 评论 -
0.4.0pytorch运行过程中对0-dim和volatile提示UserWarning的解决方法
将pytorch更新到0.4.0最新版后对0.3.1版本代码会有如下警告,它在提醒用户下个版本这将成为一个错误1.UserWarning: invalid index of a 0-dim tensor. This will be an error in PyTorch 0.5. Use tensor.item() to convert a 0-dim tensor to a Python n...原创 2018-11-22 22:52:34 · 1014 阅读 · 0 评论 -
RuntimeError: Expected object of type torch.cuda.FloatTensor but found type torch.FloatTensor for ar
运行如下程序:import numpy as npimport torchfrom torch import nnfrom torch.autograd import Variableimport matplotlib.pyplot as pltclass LinearRegression(nn.Module): def __init__(self): su...原创 2018-10-08 21:14:09 · 21443 阅读 · 6 评论 -
TypeError: can‘t convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory fi
RuntimeError: Expected object of type torch.cuda.FloatTensor but found type torch.FloatTensor for argument #4 'mat1'意思是:如果想把CUDA tensor格式的数据改成numpy时,需要先将其转换成cpu float-tensor随后再转到numpy格式。 numpy不能读取CU...原创 2018-10-08 21:02:27 · 98692 阅读 · 24 评论