随笔分类 -  Pytorch

摘要:最近遇到了一个问题,模型是用DistributedDataParallel一机多卡分布式训练的,然后作为一个jupyter notebook重度用户,我想用它来加载这个模型,搞点预测的例子可视化看看。 但是这会碰到一个问题,我们都知道通常加载预训练模型的方法是: pretrained_dict = 阅读全文
posted @ 2021-07-02 10:56 嶙羽 阅读(1082) 评论(0) 推荐(0) 编辑
摘要:Pytorch使用这个方法,就可以在已有模型的基础上重新加一些结构,比如已经加载了某个预训练模型,但仍需要增加一些模块,此时已经不能在一开始构建模型的时候init进去模块,于是可以在load完模型后,用model.add_module,把所需要的模块增添进去,使用方法是model.add_modul 阅读全文
posted @ 2021-03-12 09:41 嶙羽 阅读(1113) 评论(0) 推荐(0) 编辑
摘要:最近因为vision transformer里的pytorch代码,看到了torch.einsum(np.einsum同理)这个操作,简直是神了; 比如 t = torch.randn(2,4,3) q, k, v = tuple(rearrange(t, 'b t (d k) -> k b t d 阅读全文
posted @ 2021-03-04 13:31 嶙羽 阅读(336) 评论(0) 推荐(0) 编辑
摘要:最近要用OCR来识别图像中的文字,于是用了easyocr这个库,但是到了下载模型的阶段一直不成功 reader = easyocr.Reader(['en']) 查了一下说是代理的限制,可能公司服务器也装代理了,按照网上说的使用了以下两行代码: import ssl ssl._create_defa 阅读全文
posted @ 2021-01-29 13:10 嶙羽 阅读(3133) 评论(0) 推荐(0) 编辑
摘要:最近发现一个在torch中容易混淆的问题: import numpy as np import torch x1 = torch.tensor([[1,2,3],[0,1,2]]) x2 = torch.tensor([[2,3,4],[2,4,1]]) x11 = np.array([[1,2,3 阅读全文
posted @ 2020-10-28 10:46 嶙羽 阅读(5457) 评论(0) 推荐(0) 编辑
摘要:首先,这两者是不能混淆也很容易混淆的,而混淆后代码其实是能跑通的,但结果肯定有差异,这就很恶心。 rpn_locs = rpn_locs.permute(0, 2, 3, 1).contiguous().view(n, -1, 4) 上面代码,在Faster-RCNN里,需要把rpn网络的一个输出, 阅读全文
posted @ 2020-10-11 23:56 嶙羽 阅读(1093) 评论(0) 推荐(0) 编辑
摘要:最近要跑一个faster-rcnn的代码,用到了visdom,因此记录一下使用方法 1、在服务器上运行 python -m visdom.server 发现一直是Downloading scripts, this may take a little while,在网上找了一些方法, 找到visdom 阅读全文
posted @ 2020-08-21 17:07 嶙羽 阅读(1634) 评论(5) 推荐(0) 编辑
摘要:因为需要跑一些别人的GCN的任务,所以就要安装相关的包; 首先要注意cuda版本和pytorch中的对应关系,必须严格对应,比如我的机器上,cuda版本是10.1; pytorch的cuda版本也是10.1,之前其实是10.2,又重装了一遍; pytorch版本是1.4; python版本是3.6; 阅读全文
posted @ 2020-08-13 18:52 嶙羽 阅读(7708) 评论(1) 推荐(0) 编辑
摘要:之前安装dali这个库的时候,都是按照官网的方法安装,但这几天想在新机器上安装时,一直报错 Looking in indexes: https://pypi.org/simple, https://developer.download.nvidia.com/compute/redist/ WARNI 阅读全文
posted @ 2020-08-05 11:16 嶙羽 阅读(2883) 评论(0) 推荐(0) 编辑
摘要:1、关于detach和data和clone https://zhuanlan.zhihu.com/p/148061684 https://blog.csdn.net/dss_dssssd/article/details/89526623 2.关于叶子节点和非叶子节点 https://blog.csd 阅读全文
posted @ 2020-07-30 17:06 嶙羽 阅读(212) 评论(0) 推荐(0) 编辑
摘要:之前用的adam优化器一直是这样的: alpha_optim = torch.optim.Adam(model.alphas(), config.alpha_lr, betas=(0.5, 0.999), weight_decay=config.alpha_weight_decay) 没有细想内部参 阅读全文
posted @ 2020-07-27 17:06 嶙羽 阅读(8189) 评论(0) 推荐(1) 编辑
摘要:在代码书写没有bug的情况下,Pytorch竟然报了这个错: RuntimeError: cuDNN error: CUDNN_STATUS_NOT_SUPPORTED. This error may appear if you passed in a non-contiguous input. 起 阅读全文
posted @ 2020-07-26 15:48 嶙羽 阅读(423) 评论(0) 推荐(0) 编辑
摘要:保存模型: def save(model, model_path): torch.save(model.state_dict(), model_path) 加载模型: def load(model, model_path): model.load_state_dict(torch.load(mode 阅读全文
posted @ 2020-06-30 13:25 嶙羽 阅读(2280) 评论(0) 推荐(0) 编辑
摘要:之前一直不清楚怎么查看模型的参数和结构,现在学习了一下。 首先搞个resnet20出来 import torch import torch.nn as nn import torch.nn.functional as F from torch.nn import init from models.r 阅读全文
posted @ 2020-03-28 00:28 嶙羽 阅读(14213) 评论(0) 推荐(0) 编辑
摘要:Pytorch中根据索引取张量有很多方法,比如index_select和masked_select,和gt,ge等配合食用,但如果需要取出最小几个或最大几个张量的索引,则需要动手写一下 a = torch.tensor([2,3,1,5]) y,_ = torch.sort(a) mask = a. 阅读全文
posted @ 2020-03-24 20:48 嶙羽 阅读(6603) 评论(0) 推荐(0) 编辑
摘要:1、主要作用:变换tensor维度 example: import torch x = torch.randn(2, 3, 5) print(x.size()) print(x.permute(2, 0, 1).size()) >>>torch.Size([2, 3, 5]) >>>torch.Si 阅读全文
posted @ 2020-03-10 23:01 嶙羽 阅读(5092) 评论(0) 推荐(0) 编辑
摘要:在Pytorch0.4版本的DARTS代码里,有一行代码是 在1.2及以上版本里,查看源码可知,CIFAR10这个类已经没有train_data这个属性了,取而代之的是data,因此要把第二行改成 datasets.CIFAR10源码如下: 阅读全文
posted @ 2019-11-10 20:40 嶙羽 阅读(12576) 评论(0) 推荐(0) 编辑
摘要:之前在用预训练的ResNet的模型进行迁移训练时,是固定除最后一层的前面层权重,然后把全连接层输出改为自己需要的数目,进行最后一层的训练,那么现在假如想要只是把 最后一层的输出改一下,不需要加载前面层的权重,方法如下: 首先模型结构是必须要传入的,然后把最后一层的输出改为自己所需的数目 阅读全文
posted @ 2019-09-10 14:28 嶙羽 阅读(7556) 评论(0) 推荐(0) 编辑
摘要:首先注明,参考了这篇博客https://www.jianshu.com/p/4905bf8e06e5 方法1、 先序列化,格式可以是mdl,pt等 然后反序列化,再加载 方法2、 保存整个模型,格式可以是pth.tar 然后加载 还有一些在GPU和CPU之间的传输方法,具体见博客或者官方文档 阅读全文
posted @ 2019-09-10 14:21 嶙羽 阅读(973) 评论(0) 推荐(0) 编辑
摘要:这几天关于accuracy和loss的计算有一些疑惑,原来是自己还没有弄清楚。 给出实例 首先这样一次训练称为一个epoch,样本总数/batchsize是走完一个epoch所需的“步数”,相对应的,len(train_loader.dataset)也就是样本总数,len(train_loader) 阅读全文
posted @ 2019-09-10 14:11 嶙羽 阅读(18294) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示