pytorch
文章平均质量分 65
香博士
仗剑走天涯,不水不浪
展开
-
图片转化为向量Tensor的方法
图片转化为向量Tensor的方法两种方法报错1:结果pytorch中比较所得两个tensor是否相等源代码解析ToTensor()to_tensor(pic)图像数据读取PIL与CV数据格式PIL(RGB)代码解释OpenCV(python版)(BGR)两种方法import cv2import torchvision.transforms.functional as Fimport torchvision.transforms as Timage = cv2.imread('00001.jpg'原创 2021-12-23 14:46:26 · 8290 阅读 · 0 评论 -
torch.svd 向量计算奇异值分解
torch.svd(input, some=True, compute_uv=True, *, out=None) -> (Tensor, Tensor, Tensor)计算一个矩阵或一批矩阵 input 的奇异值分解。奇异值分解表示为namedtuple( U,S,V ),使得 input = U DIAG( S ) Vᴴ ,其中 Vᴴ 是的转置 V 为实数值的输入,或共轭转置 V 为复值输入。如果 input 是一批张量,则 U 、 S 和 V 也使用与 input 相同的批维度进行批处理。原创 2021-12-15 19:20:55 · 11970 阅读 · 1 评论 -
pytorch 损失函数(前)
在盘点常见损失函数之前,有必要先说一下在很多的损失函数中都出现的三个参数,也即size_average,reduce以及reduction,并且它们三个之间还存在一定的关系。size_average:bool类型;默认情况下,如果只有一个batch,每个batch有多个元素,那么误差计算结果是这个batch中多个元素的平均值;如果是有多个batch,然后每个batch有多个元素,那么误差计算的结果是将每个batch的平均值放到一块再求多个batch的平均值;如果把这个参数设置为False,那么只需要将计算原创 2021-11-26 13:28:17 · 216 阅读 · 0 评论 -
各版本pytorch离线下载网址
pytorch版本离线下载地址https://download.pytorch.org/whl/torch_stable.htmlcpu/torch-0.3.0.post4-cp27-cp27m-linux_x86_64.whlcpu/torch-0.3.0.post4-cp27-cp27mu-linux_x86_64.whlcpu/torch-0.3.0.post4-cp35-cp35m-linux_x86_64.whlcpu/torch-0.3.0.post4-cp36-cp36m-linux_原创 2021-01-06 20:48:23 · 4041 阅读 · 0 评论 -
resnet、densenet、resnext、efficientnet、moblienetv2等预训练模型下载地址
'resnext101_32x8d': 'https://download.pytorch.org/models/ig_resnext101_32x8-c38310e5.pth', 'resnext101_32x16d': 'https://download.pytorch.org/models/ig_resnext101_32x16-c6f796b0.pth', 'resnext101_32x32d': 'https://download.pytorch.org/models/ig_...原创 2020-09-07 16:02:54 · 5183 阅读 · 5 评论 -
Pytorch常用函数之一_数据类型
数据类型查看版本信息Tensor维度变换求导剥离无梯度变量Parameter编程语言和自然语言一样,不理解的词越多,对全文的理解就越差。掌握必要的基础知识,让后期看代码更加流畅。机器学习需要掌握数据处理工具Pandas、Numpy,同理,深度学习也需要掌握相应的工具,在Pytorch中数据存储在Tensor之中,本篇将介绍它们的基本用法以及与之相关的常用函数。查看版本信息包含头文件 import torch 1.查看torch版本 print(torch.__version__) 2原创 2020-09-06 15:24:19 · 493 阅读 · 0 评论 -
Pytorch中的 model.train() 和 model.eval() 模式
model.train() :启用 BatchNormalization 和 Dropoutmodel.eval() :不启用 BatchNormalization 和 Dropout原创 2020-08-11 19:25:41 · 619 阅读 · 0 评论 -
pytorch的数据集Dataset与DataLoader
Datasettorch.utils.data.Dataset 代表该类数据的抽象类,可以自己定义数据类继承和重写这个抽象类,只需要定义__len__和__getitem__两个函数DataLoader通过上述可以定义需要的数据类,通过迭代取得每一个数据,但其中很难取batch、shuffle等操作,需要通过torch.utils.data.DataLoader定义新的迭代器ImageFloader关于计算机视觉的还有一个数据读取类ImageFolder,主要用于处理图片要求图片存放形式:原创 2020-08-10 18:02:59 · 452 阅读 · 0 评论 -
pytorch中Tensor张量数据与Variable变量数据
1. Tensor数据有多种类型32位浮点型 torch.FloatTensor64位浮点型torch.DoubleTensor16位整型torch.ShortTensor32位整型torch.IntTensor64位整型torch.LongTensor在torch.Tensor中默认的是32位浮点型 torch.FloatTensor2. 数据类型转换如果想将某数据a的类型转换成float,只需a.float()即可将b转换成numpy数据类型,使用b.numpy()将numpy转原创 2020-08-07 16:02:53 · 1897 阅读 · 0 评论 -
查看torch能否用gpu命令torch.cuda.is_available()
torch.cuda.is_available()cuda是否可用;torch.cuda.device_count()返回gpu数量;torch.cuda.get_device_name(0)返回gpu名字,设备索引默认从0开始;torch.cuda.current_device()返回当前设备索引;————————————————版权声明:本文为CSDN博主「zkq_1986」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://b原创 2020-08-07 14:53:53 · 2426 阅读 · 0 评论 -
pytorch中损失函数的种类
pytorch中损失函数1 nn.L1Loss2 nn.SmoothL1Loss3 nn.MSELoss4 nn.BCELoss5 nn.CrossEntropyLoss6 nn.NLLLoss7 nn.NLLLoss2d损失函数,又叫目标函数,是编译一个神经网络模型必须的两个参数之一。另一个必不可少的参数是优化器。损失函数是指用于计算标签值和预测值之间差异的函数,在机器学习过程中,有多种损失函数可供选择,典型的有距离向量,绝对值向量等。上图是一个用来模拟线性方程自动学习的示意图。粗线是真实的线性方原创 2020-08-05 15:36:51 · 1376 阅读 · 0 评论 -
with torch.no_grad():
with torch.no_grad():一般要停止跟踪历史记录(和使用内存),可以将代码块使用 with torch.no_grad(): 包装起来。在评估模型时,这是特别有用,因为模型在训练阶段具有 requires_grad = True 的可训练参数有利于调参,但在评估阶段我们不需要梯度。...原创 2020-07-23 16:14:30 · 3552 阅读 · 0 评论 -
报错CUDA error: device-side assert triggered
CUDA error: device-side assert triggered/tmp/pip-req-build-ocx5vxk7/aten/src/THCUNN/ClassNLLCriterion.cu:106: void cunn_ClassNLLCriterion_updateOutput_kernel(Dtype *, Dtype *, Dtype *, long *, Dtype *, int, int, int, int, long) [with Dtype = float, Acctyp原创 2020-07-18 11:02:29 · 2207 阅读 · 0 评论 -
IndexError: invalid index of a 0-dim tensor
pytorch报错原因分析:train_loss += loss.data[0] 是pytorch0.3.1版本代码,在0.4-0.5版本的pytorch会出现警告,不会报错,但是0.5版本以上的pytorch就会报错,总的来说是版本更新问题.解决方法:#将原语句:train_loss+=loss.data[0]#修改为:train_loss+=loss.item()#bingo将所有data[0]改为item()...原创 2020-07-17 08:38:40 · 423 阅读 · 0 评论