![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pytorch
Ibelievesunshine
毕业于浙江师范大学数计学院,是一名图像处理工程师
展开
-
pytorch 获取模型的参数数量
# Find total parameters and trainable parameters total_params = sum(p.numel() for p in model.parameters()) print(f'{total_params:,} total parameters.') total_trainable_params = sum(p.numel() for p in model.parameters() if p.requires_grad)...原创 2020-05-25 09:07:52 · 2693 阅读 · 0 评论 -
一文理解 pytorch 拟合网络的过程
下面给一个小的例子,比如我们待拟合的函数是y = 5*x,(假设你对深度学习有基础,懂损失函数之类的,没有的话建议看完再继续),则我们需要一堆的x以及对应labbel,比如(x,label) = (1,5) (2,10) (3,15),然后我们构造一个前向传播y' = w *x,其中这个里面w就是我们最终要求的,也就是5,所以需要对w进行更新。简单代码如下 :import torchf...原创 2020-01-13 23:37:14 · 304 阅读 · 0 评论 -
pytorch中lr_scheduler的使用
torch.optim.lr_scheduler.StepLR代码import torchimport torch.optim as optimfrom torch.optim import lr_schedulerfrom torchvision.models import AlexNetimport matplotlib.pyplot as pltmodel = Alex...原创 2019-12-26 11:01:44 · 5493 阅读 · 0 评论 -
pytorch 中 torch.cat 函数的使用
1. 字面理解:torch.cat是将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起。2. 例子理解>>> import torch>>> A=torch.ones(2,3) #2x3的张量(矩阵) >>> Aten...转载 2019-08-22 20:19:36 · 2238 阅读 · 0 评论 -
pytorch 生成随机数Tensor的方法 torch.rand torch.randn torch.normal torch.linespace
在使用PyTorch做实验时经常会用到生成随机数Tensor的方法,比如:torch.rand()torch.randn()torch.normal()torch.linespace()在很长一段时间里我都没有区分这些方法生成的随机数究竟有什么不同,由此在做实验的时候经常会引起一些莫名其妙的麻烦。所以在此做一个总结,以供大家阅读区分,不要重蹈我的覆辙。均匀分布...转载 2019-08-15 11:22:17 · 3112 阅读 · 0 评论 -
pytorch 中 torch.optim.Adam 方法的使用和参数的解释
class torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999), eps=1e-08, weight_decay=0)[source]实现Adam算法。它在Adam: A Method for Stochastic Optimization中被提出。参数:params (iterable) – 待优化参数的iterable或者...原创 2019-08-15 11:02:00 · 149705 阅读 · 0 评论 -
pytorch中的Sequential使用方法
class torch.nn.Sequential(* args)一个时序容器。Modules会以他们传入的顺序被添加到容器中。当然,也可以传入一个OrderedDict。为了更容易的理解如何使用Sequential, 下面给出了一个例子:# Example of using Sequentialmodel = nn.Sequential( nn.Conv2...转载 2019-08-14 21:51:35 · 8627 阅读 · 0 评论 -
pytorch 中网络参数 weight bias 初始化方法
权重初始化对于训练神经网络至关重要,好的初始化权重可以有效的避免梯度消失等问题的发生。在pytorch的使用过程中有几种权重初始化的方法供大家参考。注意:第一种方法不推荐。尽量使用后两种方法。# not recommenddef weights_init(m): classname = m.__class__.__name__ if classname.find('C...转载 2019-08-13 21:26:25 · 14003 阅读 · 4 评论 -
torch.utils.data.DataLoader 详解
class torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, num_workers=0, collate_fn=<function default_collate>, pin_memory=False, drop_last=False)数据加载器。组合数据集和采样器,并在...转载 2019-08-13 21:06:38 · 2368 阅读 · 0 评论 -
cudnn.benchmark = True?是什么意思
问题在很多情况下我们都能看到代码里有这样一行: 1 torch.backends.cudnn.benchmark = true 而且大家都说这样可以增加程序的运行效率。那到底有没有这样的效果,或者什么情况下应该这样做呢?解决办法总的来说,大部分情况下,设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配...转载 2019-08-13 20:26:48 · 9540 阅读 · 1 评论