pytorch
佳hong
这个作者很懒,什么都没留下…
展开
-
self.register_buffer()中的值发生变化
PyTorch中定义模型时,有时候会遇到self.register_buffer('name', Tensor)的操作,但是在使用时发现,buffer里的值发生变化了。解决办法为使用clone。原创 2023-07-29 23:39:39 · 362 阅读 · 0 评论 -
pytorch reshape和transpose
做数据操作的时候发现计算错误,检查才知道是reshape和transpose混了。这里对两者的对比做个笔记。代码: a = torch.rand((3,4)) print(a) print('transpose',a.transpose(0,1)) print('reshape',a.reshape(4,3))输出:tensor([[0.0908, 0.6192, 0.1025, 0.7192], [0.4392, 0.2334, 0.212原创 2022-01-08 19:55:20 · 1233 阅读 · 0 评论 -
神奇的bug RuntimeError: CUDA error: an illegal memory access was encountered
报错截图网上有很多关于这个错误的解决方法,出错原因都不一样。我的出错原因: def step(self, X, Y): X = X.flatten(1) b, _ = X.shape deltaW = self.lr * (torch.mm(X.T,Y) - self.inhibit)/b self.weight.data.add_(deltaW)这里我的X,Y是输入,模型用了GPU。在输入时,X转到GPU上..原创 2021-11-19 22:17:24 · 1992 阅读 · 0 评论 -
最近pytorch cuda显存不够发生在test阶段
本来应该不会在test阶段发生的,因为这时已经不求导了,检查发现,在模型计算时少了with torch.no_grad:即应该:with torch.no_grad: pred = model(input)原创 2021-09-24 13:31:15 · 328 阅读 · 0 评论 -
RuntimeError: bool value of Tensor with more than one value is ambiguous
pytorch报错RuntimeError: bool value of Tensor with more than one value is ambiguous被自己蠢哭,错误原因是,因该写成以下这样的model = Net()out = model(input)我写成了out = Net(input)原创 2021-09-04 00:35:21 · 1199 阅读 · 0 评论 -
总结一下深度学习里可视化图像的一些问题
可视化工具使用matplotlib,针对经过torchvision的tranformer变换后要可视化的一些问题原图:问题1经过处理后,如果直接去做可视化,如使用这样的语句:img = img.detach().cpu().numpy().reshape(224,224,3)出现图像如下解决方法,使用ToPILImagefrom torchvision.transforms import ToPILImageimg = ToPILImage()(img...原创 2021-09-01 11:33:57 · 431 阅读 · 0 评论 -
one of the variables needed for gradient computation has been modified by an inplace operation
pytorch 报一下错误:RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [1024, 512, 3, 3]], which is output 26 of BroadcastBackward, is at version 2; expected version 1 instead. Hi原创 2021-07-16 15:02:33 · 233 阅读 · 0 评论 -
深度学习模型调参的一些总结
最近在做分类模型,记录一下调参技巧:1. 学习率,一般0.0001,但如果用了pre-trained模型,设置为0.000012. batch_size,机器允许情况下越大越好,但根据训练数据大小,这个值也不能特别大,一般小数据集推荐128,像ImageNet这种256,512。如果你的batch_size是64,不妨设大一点,会有惊喜。3. 如果是卷积神经网络,中间卷积的通道数channels很重要,有次把64通道改为128,准确率涨了10%左右。4. 训练集是否打乱,即pytorch中t原创 2021-07-14 15:04:05 · 1346 阅读 · 0 评论 -
pytorch 评估模型参数的方法
import torch from torchstat import stat import torchvision.models as models net = models.vgg11() stat(net,(3,224,224)) # (3,224,224)表示输入图片的尺寸使用 torchstat库结果为:原创 2021-05-14 15:39:21 · 630 阅读 · 0 评论 -
InstanceNorm2d 通道归一化导致梯度很快消失了,不知道为什么……
InstanceNorm2d 通道归一化,适合做图像风格类的任务但我在操作中,它导致梯度很快消失了,不知道为什么……同样代码改成Batch Normalization梯度良好。有大佬知道为什么吗原创 2021-05-09 17:10:15 · 541 阅读 · 2 评论 -
pytorch,一个网络的输出,为另一个网络的输入,怎么让梯度关联进行联合训练
方法一:from itertools import chainoptim.Adam(params=chain(backbone_net.parameters(), linear_rot_net.parameters(), linear_classify_net.parameters()),作者:Sail链原创 2021-05-09 16:56:32 · 3968 阅读 · 1 评论 -
import matplotlib.pyplot as plt 报错 from . import _imaging as core ImportError: DLL load failed:
加载matplotlib报错from . import _imaging as core ImportError: DLL load failed:版本问题卸载matplotlib: pip uninstall matplotlib, 再安装不行的话,卸载Pillow: pip uninstall Pillow, 再安装还是不行的话,用pip卸载,用conda安装:pip uninstall Pillowconda install Pillow...原创 2021-05-07 08:53:28 · 488 阅读 · 3 评论 -
pytorch cifar10可视化的问题
我可视化的图,出现这种问题是因为,我把dataloader里面拿出来的直接可视化了train_dataset = torchvision.datasets.CIFAR10(root='data/', train=True, transform=transforms.Compose( ..原创 2021-04-29 09:15:48 · 350 阅读 · 0 评论 -
加载pytorch DataLoader生成的数据集时出现AttributeError: Can‘t pickle local object ‘create_torchvision_dataset_w
报错如图:解决方法:将 num_workers = 2, 改成num_workers = 0 dataloader = torch.utils.data.DataLoader( train_dataset, batch_size=1, shuffle=True, num_workers=2, pin_memory=gpu )原创 2021-04-25 09:56:17 · 4158 阅读 · 4 评论 -
pytorch vgg19 加载预训练模型做识别
import torchimport torchvisionimport torchvision.transforms as transformsfrom PIL import Imageimport numpy as nptrans = transforms.Compose([ transforms.Resize([224,224]), transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5,.原创 2021-03-02 14:35:05 · 1964 阅读 · 0 评论 -
pytorch,tensorflow加载本地mnist数据集
1. pytorchimport torchimport torch.nn as nnfrom torchvision import datasets, transformsimport torch.utils.data as Datafrom torch.autograd import Variable# datapath = r"D:\jupyter_data"# 3通道归一化要三个# transform = transforms.Compose([transforms.ToTen原创 2021-02-15 22:28:59 · 632 阅读 · 0 评论 -
pytorch 实现 GAN,基于MNIST生成手写字符
import torchimport torch.nn as nnfrom torch.nn import initfrom torch.autograd import Variableimport torchvisionimport torchvision.transforms as Timport torch.optim as optimfrom torch.utils.data import DataLoaderfrom torch.utils.data import sampler.原创 2020-11-16 20:41:37 · 304 阅读 · 0 评论 -
pytorch使用tensorboardX做可视化(三)卷积核可视化 + 总结
卷积核可视化意思核feature map可视化是一样的把卷积核的权重变成图像输出来#卷积核可视化def show_kernal(model): # 可视化卷积核 for name, param in model.named_parameters(): if 'conv' in name and 'weight' in name: in_channels = param.size()[1] out_channels =原创 2020-11-07 21:37:50 · 2552 阅读 · 4 评论 -
pytorch使用tensorboardX做可视化(二)特征图可视化
因为要对网络里的layer操作,所以网络层命名发生了一些改变LeNet5.pyimport torch.nn as nnimport numpy as npimport torchfrom collections import OrderedDict#定义lenet5class LeNet5(nn.Module): def __init__(self, num_clases=10): super(LeNet5, self).__init__()原创 2020-11-07 21:28:41 · 1895 阅读 · 5 评论 -
pytorch使用tensorboardX做可视化(一)loss和直方图
一、安装pytorch,安装tensorboardX使用pycharm的seting安装就好二、搭建一个简单的网络这里用LeNet5与tensorboardX相关的语句都标记了出来,主要是传个每轮的loss,参数model自带import torch.nn as nnimport numpy as npimport torch#定义lenet5class LeNet5(nn.Module): def __init__(self, num_clases=10):原创 2020-11-07 20:18:33 · 3934 阅读 · 5 评论 -
pytorch 图像增广的操作,裁剪,翻转,颜色,亮度等
图像增广import torchimport matplotlib.pyplot as pltfrom torch.utils.data import Dataset, DataLoaderimport torchvisionfrom PIL import Image# 获取图像img = Image.open(r'D:\pyPro\hhandwritten_web\static\images\bg.jpg')plt.imshow(img)<PIL.JpegImagePlugin原创 2020-08-23 19:17:34 · 2879 阅读 · 0 评论 -
pytorch构建LENET分类MNIST
LENET卷积神经网络import torchimport torch.nn as nnimport torch.utils.data as Datafrom torchvision import datasets,transformsimport torchvisionfrom torch.autograd import Variableimport numpy# 加载数据和数据处理transform = transforms.Compose([transforms.ToTensor(原创 2020-07-13 15:15:49 · 695 阅读 · 0 评论 -
pytorch中nn.Conv2d函数各参数的理解,尤其是对输入通道,输出通道以及需要的输入特征进行分析
Pytorch中文文档中关于nn.Conv2d函数具体参数介绍:class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)Parameters:in_channels(int) – 输入信号的通道out_channels(int) – 卷积产生的通道kerner_size(int or tuple) - 卷积核的尺寸strid原创 2020-07-12 00:01:57 · 23645 阅读 · 2 评论 -
pytorch实现多层感知机分类minist数据集及可视化
import torchimport torch.utils.data as Dataimport torch.nn as nnfrom torchvision import datasets,transformsimport torchvisionfrom torch.autograd import Variableimport numpy as npimport matplotlib.pyplot as plt1.加载数据transform=transforms.Compose([t原创 2020-07-08 23:07:35 · 1467 阅读 · 0 评论 -
pytorch实现softmax回归分类minist数据集
import torchimport torch.utils.data as Datafrom torchvision import datasets,transformsimport torchvisionfrom torch.autograd import Variableimport numpy as npimport matplotlib.pyplot as plttorchvision的包的主要功能是实现数据的处理,导入和预览呢,所以如果需要对计算机视觉的相关问题 进行处理,就可原创 2020-07-06 23:00:43 · 2661 阅读 · 0 评论 -
学习使用pytorch构建线性回归模型
import torchimport torch.utils.data as Dataimport torch.nn as nnimport torch.optim as optimimport numpy as np'''nn是neural networks,定义了大量神经网络的层。核心数据结构是Module'''#整一个线性模型:y = w1*x1 + w2*x2 + b#1. 生成数据集num_inputs = 2 #输入参数的数量num_examples = 1000 #要.原创 2020-07-05 12:16:04 · 1083 阅读 · 0 评论 -
pycharm配置pytorch的坑以及解决方案
1.好像不支持python3.8。直接从setting里面安装时不行的,按其它教程(https://blog.csdn.net/lyz21/article/details/104295042)从官网https://pytorch.org/get-started/locally/,拷贝链接用pip下载,一直报找不到版本。后来发现,python3.8的原因,改成python3.7可以了,但会一直连接超时。2.发现要下载的其实是这两个文件:点开下面的两个链接,用下载软件下载了,我下到了e盘,直接pip原创 2020-07-04 22:15:29 · 7540 阅读 · 0 评论