pytorch
文章平均质量分 72
ncc1995
这个作者很懒,什么都没留下…
展开
-
Pytorch--yolov3简单整理
一、读取cfg文件,根据cfg文件构建网络。[convolutional]batch_normalize=1filters=64size=3stride=2pad=1activation=leaky保存为如下格式:[{"type":convolutional, "batch_normalize":1, "filters":64, "size":3, "Stride":...原创 2018-09-12 21:41:17 · 657 阅读 · 0 评论 -
【PyTorch】Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same
和网上找到的答案都不一样。问题是因为我在__init__外面的函数中定义了一个卷积操作然后就一直报错。具体原因之后再查吧。原创 2019-08-18 21:47:18 · 2152 阅读 · 5 评论 -
【PyTorch】cuda runtime error (59) : device-side assert triggered at /pytorch/aten/src/THC/generated/.
记得上次遇到过一次该错误,当时没有总结,今天又遇到了,总结一下!问题:cuda runtime error (59) : device-side assert triggered at /pytorch/aten/src/THC/generated/../generic/T HCTensorMathPointwise.cu:265解决方案:...原创 2019-08-13 18:07:11 · 1032 阅读 · 0 评论 -
【PyTorch】AttributeError: Can't get attribute 'BCNN'
错误:AttributeError: Can't get attribute 'BCNN' on <module '__main__' from '今天在服务器上训练好一个网络,用torch.save(model, 'net.pkl')将模型和参数一并保存了起来,方便在自己电脑上测试。把保存的模型下载下来进行测试的时候发现报了上述错误。原来保存下来的模型和参数不能在没有类定义时直...原创 2019-08-13 17:55:33 · 8555 阅读 · 3 评论 -
【PyTorch】register_hook的使用
下面是我今天看的代码,即在对x求导时,将梯度保存下来。 def save_gradient(self, grad): self.gradients.append(grad) def __call__(self, x): outputs = [] self.gradients = [] #for name, module in self.shared_model._modu...原创 2019-07-24 22:55:10 · 13976 阅读 · 6 评论 -
【PyTorch】retain_graph的作用
x = torch.randn((1, 4), dtype=torch.float32, requires_grad=True)xOut[54]: tensor([[ 0.1351, 0.8179, 0.1422, -0.3021]], requires_grad=True)y = x ** 2z = y * 4output1 = z.mean()output2 = z.sum...原创 2019-07-24 22:27:42 · 914 阅读 · 0 评论 -
【PyTorch】历史版本下载
pytorch的历史版本下载:pytorch previous versions原创 2019-07-19 20:25:51 · 1578 阅读 · 0 评论 -
【PyTorch】pytorch加载自己的数据集,重写Dataset类
len方法,提供了dataset的大小;getitem方法, 该方法支持从 0 到 len(self)的索引。#filenames是训练数据文件名称列表,labels是标签列表class MyDataset(Dataset): def __init__(self, filenames, labels, transform): self.filenames ...原创 2019-06-28 11:15:42 · 4639 阅读 · 1 评论 -
【pyTorch】nn.Conv2d中的padding计算
今天写GoogLeNet网络的时候,计算网络参数,查了一下卷积中padding的计算方式: H_{out} = \left\lfloor\frac{H_{in} + 2 \times \text{padding}[0] - \text{dilation}[0] \times (\text{kernel_size}[0...原创 2019-06-26 21:24:46 · 3296 阅读 · 1 评论 -
【PyTorch】使用pytorch提供的模型训练inception V3(使用预训练模型)
前言:最近在用vgg16跑数据,但是参数量实在太大,跑的非常慢,虽然最后结果还算可观。后面又研究了一下GoogLeNet,自己写了inceptionV1的代码,因为跑vgg16一直占着电脑,所以就没有跑,。在这期间,在小老弟电脑上跑了MobileNet V1,找不到pytorch版的预训练权重,所以从头开始跑,过拟合非常严重,等之后研究一下是什么原因,猜测是数据集不平衡太严重以及没有预训练...原创 2019-07-01 22:53:46 · 10880 阅读 · 3 评论 -
【PyTorch】数据增强之Label shuffling实现(神经网络训练时样本不平衡解决方法)
前面的数据是采用PyTorch的ImageFolder读取的,读取后的数据进行了训练集数据集的划分,分别得到了image路径列表和label标签列表,再传入自己写的label_shuffling进行数据增强,返回后通过PyTorch的DataLoader加载到网络里。def label_shuffling(data, labels): #得到样本数最多的类别的样本数 maxN...原创 2019-06-28 11:16:16 · 916 阅读 · 1 评论 -
【PyTorch】对验证集进行验证时,报错:Out of memory时的解决方法
训练数据训练过程中不会出现out of memory的,但是在验证的时候随着验证的进行 ,最终出现out of memory的。对于测试时out of memory问题在训练过程中由于loss.backward() 会将计算图的隐藏变量梯度清除,从而释放空间 而在测试的时候没有这一机制,因此有可能随着测试的进行中间变量越来越多,从而导致out of memory的发生。在torch....原创 2019-06-07 10:37:33 · 4130 阅读 · 0 评论 -
【PyTorch】分类存储的图片,划分训练集与验证集(每个文件夹都存储同一类别的图片)
对于分类存储的图片,pytorch可以用ImageFolder直接读取,非常方便,但是当需要把训练集划分为训练加验证的话,这个就不太能胜任了。参考将分类存储的图片切分为训练集、验证集和测试集(PyTorch实现),可以把数据集划分为训练集和数据集,根据自己的数据集和需求小改了一下代码。原文是针对所有类别样本数目都一样写的,我改成了当每个类别样本数目不一样的时候怎么按比例划分。fro...原创 2019-06-07 10:21:47 · 8135 阅读 · 3 评论 -
【PyTorch】每个类对应一个文件夹的时候,PyTorch加载数据集
PyTorch的ImageFolder是专门为分类提供的一个加载数据集的方法,使用方法如下:"""load the species file"""import torchimport torchvisionfrom torchvision import transforms, utilsimport matplotlib.pyplot as pltdata_dir = '...原创 2019-06-06 14:39:06 · 4686 阅读 · 1 评论 -
【PyTorch】利用PyTorch提供的VGG16模型预训练的问题
torchvision 提供的 VGG 模型可能没有达到论文预期因为torchvision提供的VGG网络没有训练完全,不建议使用torchvision提供的预训练模型来进行预训练。可以下载由caffe预训练好的权重转成PyTorch的进行训练。this might be because of our VGG model (I heard some reports that finetu...原创 2019-06-06 13:12:46 · 5680 阅读 · 1 评论 -
【PyTorch】RuntimeError: one of the variables needed for gradient computation has been modified by an
错误:RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation报错原因:import torchx = torch.FloatTensor([[1., 2.]])w1 = torch.FloatTensor([[2.], ...原创 2019-08-14 09:57:11 · 77116 阅读 · 16 评论