
torch
「已注销」
这个作者很懒,什么都没留下…
展开
-
【pytorch】tensor.expand()和tensor.expand_as()
pytorch中tensor.expand()和tensor.expand_as()函数解读_wang xiang的博客-优快云博客原创 2021-04-02 09:18:56 · 177 阅读 · 0 评论 -
【pytorch】各种网络的预训练模型
权重下载地址:https://data.lip6.fr/cadene/pretrainedmodels/模型框架下载地址:https://github.com/Cadene/pretrained-models.pytorch参考文章:pytorch 预训练模型集合(网络定义与预训练模型下载)原创 2021-04-02 09:09:23 · 327 阅读 · 0 评论 -
【pytorch离线安装】pytorch离线安装
一、前(fei)言(hua): 由于课题组服务器没联网(那点网速可以忽略不计),只好离线安装pytorch,毕竟平时也经常需要离线安装,真的是费了好大的劲。 之前安装过,都失败了,最终如何解决的呢?哈哈~自己又网购了二手显卡,装到主机连上网,舒舒服服的使用官网安装命令安装。 可是需要会的,永远躲不过去,不得已重新找方法。二、正(gan)文(huo)安装设备:ubuntu20.04+anaconda3安装版本:pytorch1.6,其他版本类似1、到pytorch官网: http原创 2021-03-31 10:26:43 · 2374 阅读 · 2 评论 -
【pytorch】【常用】【供个人粘贴使用】pytorch导入数据(带数据增强)
1 导入库import torchimport torchvision.transforms as transformsimport osimport numpy as npfrom skimage import io, transformfrom torch.utils.data import Dataset,DataLoader2 数据增强【调用numpy的函数,数据类型是np.ndarray】1)水平随机翻转class RandomHorizontalFlip(): """原创 2021-03-08 18:54:32 · 283 阅读 · 0 评论 -
需要整理的
Python map() 函数 | 菜鸟教程https://www.runoob.com/python/python-func-map.htmlPython eval() 函数 | 菜鸟教程https://www.runoob.com/python/python-func-eval.html(2条消息) python代码实现K-means算法_食得咸鱼抵得渴的博客-优快云博客_python实现kmeanshttps://blog.youkuaiyun.com/weixin_41857483/article/原创 2021-03-08 18:37:21 · 984 阅读 · 0 评论 -
【pytorch】【已解决】RuntimeError: Expected object of scalar type Long but got scalar type Int for argument
1 问题描述期望long类型,但是得到的是Int类型。2 分析经过查找,发现是标签出现了问题,在读取标签时,将其转化为long类型。numpy:array.astype()torch: tensor.type()原创 2021-03-04 18:43:09 · 816 阅读 · 1 评论 -
Numpy与pytorch对比记忆
1 改变类型numpy:array.astype()torch: tensor.type()import numpy as npimport torchif __name__=="__main__": nn = np.array(1) tt = torch.tensor(1) nn.astype(dtype=np.long) nn.astype(dtype=np.int32) tt.float() tt.type(dtype=torch.flo原创 2021-03-04 18:38:48 · 190 阅读 · 1 评论 -
【已解决】【读取图像以及标签应该人为设置类型】Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor)
1 问题描述Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same输入input和参数weight类型应该一致。2 分析经过查找后,发现在读取图片和标签的时候,并没有对其类型进行转化,就可能根据图像本身的大小设置,代码中出现的类型刚开始是float32,后边有的图像是float64,导致输入与参数类型不匹配。3 结论读取图像和标签时,应该人为设定其类型,将所有的数据转化原创 2021-03-04 18:30:02 · 2621 阅读 · 1 评论 -
查看Dataset与DataLoader
class MyDataset(Dataset): def __init__(self): def __len__(self): def __getitem__(self, idx): return sample自定义的Dataset,因为实现了__getitem_ _,因此可以通过像访问列表似的访问Dataset的对象。trainloader = torch.utils.data.DataLoader(dataset, batch_size=2, shuffl原创 2021-03-04 16:15:16 · 1088 阅读 · 1 评论 -
【pytorch】interpolate上下采样
实例:Pytorch-F.interpolate函数讲解:pytorch torch.nn.functional实现插值和上采样原创 2021-03-04 09:59:03 · 396 阅读 · 1 评论 -
【pytorch】conv2d_group参数
Pytorch - Conv2d 卷积原创 2021-03-03 12:15:24 · 299 阅读 · 0 评论 -
【pytorch】torch.manual_seed()
torch.manual_seed(args.seed) #为CPU设置种子用于生成随机数,以使得结果是确定的if args.cuda: torch.cuda.manual_seed(args.seed)#为当前GPU设置随机种子;#如果使用多个GPU,应该使用torch.cuda.manual_seed_all()为所有的GPU设置种子。上面所说的固定指的是,在每次运行此程序时,程序后面产生的随机数与上次运行程序产生的随机数是相同的。参考文献:pytorch中的torch.manual_se原创 2021-02-03 09:26:04 · 163 阅读 · 0 评论 -
state_dict以及torch.save
Docs » PyTorch之入门强化教程 » 保存和加载模型原创 2021-02-02 09:54:46 · 739 阅读 · 0 评论 -
pytorch中的乘法
总结:按元素相乘用torch.mul,二维矩阵乘法用torch.mm,batch二维矩阵用torch.bmm,batch、广播用torch.matmulif __name__=="__main__": a = torch.tensor([1, 2, 3]) b = torch.arange(0, 12).reshape((4, 3)) c = torch.tensor([4, 5, 6, 7]) d = torch.arange(0, 12).reshape((3, 4.原创 2021-02-01 14:10:52 · 361 阅读 · 0 评论 -
pytorch中data、detach、no_grad
Pytorch中requires_grad_(), detach(), torch.no_grad()的区别tensor.data与tensor.detach()相同之处是都不参与梯度计算,并且其与原数据共享数据内存。推荐使用detach。原创 2021-02-01 09:51:26 · 223 阅读 · 0 评论 -
pytorch: cudnn.benchmark=True
import torch.backends.cudnn as cudnncudnn.benchmark = True设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题。如果网络的输入数据维度或类型上变化不大,也就是每次训练的图像尺寸都是一样的时候,设置 torch.backends.cudnn.benchmark = True 可以增加运行效率;如果网络的输入数据在每次 iteration 都变化的话,会导致 cnDN转载 2021-02-01 09:10:53 · 300 阅读 · 0 评论 -
torch.topk【按维度求前k个最值以及其索引】以及top1和top5
分类中常用到top1和top5的指标:top1是指 预测错误样本数/总样本数,此处的预测错误的样本是指 预测的最大概率对应的类别与真实类别不同;top5是指 预测错误样本数/总样本数,此处的预测错误的样本是指 预测的排序前五的概率对应的类别中没有真实类别。一般来讲,top5 error要小于top1 error,排序前五的概率中没有真实标签几率小。有的博客解释需要top5 error是因为人工标记可能出现偏差,因此要放宽标准。【torch.topk函数】目的:求取tensor中某个dim的排序前原创 2021-01-31 19:21:50 · 5933 阅读 · 0 评论 -
MarginRankingLoss
损失函数的定义为:loss = nn.MarginRankingLoss(margin=0.5,reduction='none')#reduction :[ 'none' | 'mean' | 'sum']损失函数的使用:x1 = torch.tensor([1,2,3,4],requires_grad=True, dtype=torch.float32)x2 = torch.tensor([3,4,5,6], requires_grad=True, dtype=torch.float32).原创 2021-01-30 08:45:19 · 1880 阅读 · 0 评论 -
nn.CrossEntropyLoss与F.nll_loss
F.nll_loss计算方式是下式,在函数内部不含有提前使用softmax转化的部分;nn.CrossEntropyLoss内部先将输出使用softmax方式转化为概率的形式,后使用F.nll_loss函数计算交叉熵。也就是:CrossEntropyLoss()=log_softmax() + NLLLoss() 注意:两个函数的输入分别是input和target,input是网络预测的输出,形状为(batch_size, pro),其中pro为class的个数;target是标签,不原创 2021-01-11 14:10:07 · 8007 阅读 · 0 评论 -
【pytorch】【net】加载预定义网络googlnet,未导入权重模式时多出现两个附加层
待写原创 2020-12-23 16:25:02 · 193 阅读 · 0 评论 -
【pytorch】【Dataset/DataLoader】制作数据集(一)
导入自定义数据来源官方教程数据下载链接:https://download.pytorch.org/tutorial/faces.zip1、导入库import matplotlib.pyplot as pltimport osimport numpy as npimport pandas as pdimport warningsimport torchsnooperfrom torch.utils.data import Dataset, DataLoaderimport pandas原创 2020-12-23 16:19:35 · 1652 阅读 · 0 评论 -
torch中的broadcast
场景在进行基础运算时,常常遇到广播机制,特别是创建网络,对网络输出特征图进行加权整和的时候,需要对一个通道设定一个权重。广播机制进行基础运算的时候,遇到±*但是tensor的shape不一致时,可能会发生广播。发生广播的情况:两个tensor的shape对应起来看,从最后维度开始看,要么其中一个缺少对应的维度,要么其中一个的维度为1,或者两个tensor对应的维度相同。最终形成的tensor的shape是两个tensor的shape中对应位最大的那个。代码一维与二维:a = torc原创 2020-12-23 16:15:11 · 1877 阅读 · 0 评论 -
torchsummary工具的使用
安装:pip install torchsummary使用:输入为模型、输入尺寸、批数量、设备from torchsummary import summarysummary(model, input_size, batch_size=-1, device="cuda")使用时需要注意,默认device=‘cuda’,如果是在‘cpu’,那么就需要更改。不匹配就会出现下面的错误:RuntimeError: Input type (torch.cuda.FloatTensor) and wei原创 2020-12-23 13:50:45 · 4737 阅读 · 2 评论 -
torch基础知识
一、张量的创建很好的总结:PyTorch中张量的创建方法二、张量的操作tensor.squeeze() 与 torch.squeeze()x = torch.linspace(0, 10, 20).reshape(4,5)x = x.unsqueeze(dim=0)x = x.unsqueeze(dim=0)print(x.shape)print(torch.squeeze(x, dim=0).shape)#output>>>torch.Size([1, 1, 4,原创 2020-12-11 23:34:24 · 420 阅读 · 1 评论