PyTorch
快乐成长吧
努力努力再努力!
展开
-
【pytorch】学习率调整策略
API:https://pytorch.org/docs/master/optim.html#how-to-adjust-learning-rate在该网页中搜索lr_scheduler的话,可以看到:lr_scheduler含15种类,参考这个博文可以可视化看这些API的使用:https://www.jianshu.com/p/a20d5a7ed6f3我这里主要用的是:MultiStepLR然后对比一下:MultiStepLR和StepLR,主要区别就是在于前者可以指定区间...原创 2020-08-27 19:01:29 · 261 阅读 · 0 评论 -
【pytorch】model.train()和model.evel()的用法
1.model.train()与model.eval()的用法看别人的面经时,浏览到一题,问的就是这个。自己刚接触pytorch时套用别人的框架,会在训练开始之前写上model.trian(),在测试时写上model.eval()。然后自己写的时候也就保留了这个习惯,没有去想其中原因。在经过一番查阅之后,总结如下:如果模型中有BN层(Batch Normalization)和Dropout,需要在训练时添加model.train(),在测试时添加model.eval()。其中model.train原创 2020-08-20 13:55:16 · 6632 阅读 · 4 评论 -
【pytorch】简单的一个模型做cifar10 分类(五)-使用现代经典模型提升性能
模型vgg:VGG( (features): Sequential( (0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): ReLU(inplace=True) (3): Conv2d(64, 64, k原创 2020-08-14 22:40:22 · 440 阅读 · 0 评论 -
【pytorch】简单的一个模型做cifar10 分类(四)-类似投票机制进行模型集成
题外话:这里还是得会用python用的6呀,谁说用深度学习不需要啥高深的python用法,简单就可以,其实还是要对python的各种库非常熟悉的。 # print(arr[:, 0]) # [3 3 5] # print(Counter(arr[:, 0])) # Counter({3: 2, 5: 1}) # print(Counter(arr[:, 0]).most_common(1)) # [(3, 2)] # pri...原创 2020-08-13 18:55:25 · 1183 阅读 · 2 评论 -
【pytorch】简单的一个模型做cifar10 分类(三)-采用平均池化
前面在(二)中已经得到下面的结果啦:[10, 2000] loss: 0.367[10, 4000] loss: 0.382[10, 6000] loss: 0.417[10, 8000] loss: 0.472[10, 10000] loss: 0.452[10, 12000] loss: 0.488Finished TrainingAccuracy of the network on the 10000 test images: 68 %Accuracy of plane原创 2020-08-13 16:13:21 · 326 阅读 · 0 评论 -
【pytorch】简单的一个模型做cifar10 分类(二)-构建复杂一点的模型
前面用的网络是pytorch官方给的一个实例网络,本文参照书本换了一个网络,如下:代码如下:class CNNnet(nn.Module): def __init__(self): super(CNNnet,self).__init__() self.conv1 = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=5,stride=1) self.pool1 = nn.MaxPo原创 2020-08-12 23:48:03 · 470 阅读 · 1 评论 -
【pytorch】像Keras一样显示各层参数
不能在GPU上用哈,# net = net.to(device)# 像keras一样显示各层参数import collectionsdef paras_summary(input_size, model): def register_hook(module): def hook(module, input, output): class_name = str(module.__class__).split('.')[-1].split("'"原创 2020-08-12 23:11:23 · 611 阅读 · 0 评论 -
【pytorch】用tensorboardX可视化特征图
利用tensorflowX对特征图进行可视化,不同卷积层的特征图的抽取程度不一样的,# 利用tensorboardX可视化特征图import torchvision.utils as vutilsfrom tensorboardX import SummaryWriterwriter = SummaryWriter(log_dir='logs', comment='feature map')for i,data in enumerate(trainloader, 0): # 获取训练数原创 2020-08-12 22:54:40 · 2609 阅读 · 1 评论 -
【pytorch】简单的一个模型做cifar10 分类(一)
# -*- coding: utf-8 -*-'''@Time : 2020/8/11 17:14@Author : HHNa@FileName: add.image.py@Software: PyCharm '''# 导入库及下载数据import torchimport torchvisionimport torchvision.transforms as transformsimport torch.utils.data as datatransform = tr.原创 2020-08-12 16:35:46 · 934 阅读 · 1 评论 -
【pytorch】RuntimeError: Expected object of backend CPU but got backend CUDA for argument #2 ‘weight‘
该错误就是说没有在GPU是计算怎么纠正?首先# 检测是否有用的GPU,如果有使用GPU,否则CPUdevice = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")net = Net() #实例化网络为netnet = net.to(device)然后在for data in testLoader: images, labels = data images, labels = imag..原创 2020-08-12 16:28:43 · 552 阅读 · 0 评论 -
【pytorch】torch.nn.AdaptiveMaxPool2d 自适应池化
https://pytorch.org/docs/master/generated/torch.nn.AdaptiveMaxPool2d.html#torch.nn.AdaptiveMaxPool2dtorch.nn.AdaptiveMaxPool2d output_size– the target output size of the image of the form H x W. Can be a tuple (H, W) or a single H for a square ima..原创 2020-08-12 15:21:46 · 2901 阅读 · 0 评论 -
【pytorch】torch.nn.ConvTranspose2d 反卷积
https://pytorch.org/docs/master/generated/torch.nn.ConvTranspose2d.html#torch.nn.ConvTranspose2d in_channels(int) – Number of channels in the input image out_channels(int) – Number of channels produced by the convolution kernel_size(intor...原创 2020-08-12 14:45:48 · 1367 阅读 · 1 评论 -
【pytorch】卷积层输出尺寸的计算公式和分组卷积的weight尺寸的计算
参考链接,我真的觉得看官网就是最棒的参考!清清楚楚,明明白白https://pytorch.org/docs/master/generated/torch.nn.Conv2d.html#torch.nn.Conv2d# 测试一下输出尺寸# With square kernels and equal stridem = nn.Conv2d(16, 33, 3, stride=2)# non-square kernels and unequal stride and with paddi.原创 2020-08-12 12:36:26 · 2742 阅读 · 0 评论 -
【pytorch】BrokenPipeError: [Errno 32] Broken pipe
运行Pytorch tutorial代码报错:BrokenPipeError: [Errno 32] Broken pipe源代码地址:Training a classifier (CIFAR10)该问题的产生是由于windows下多线程的问题,和DataLoader类有关,具体细节点这里Fix memory leak when using multiple workers on Windows。解决方案:修改调用torch.utils.data.DataLoader()函数时的...原创 2020-08-11 18:20:01 · 338 阅读 · 0 评论