![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pytorch
Pywin
这个作者很懒,什么都没留下…
展开
-
CASIA-HWDB2.x(offline)数据集合并为page类型,并标出行级别的bbox
最近要做行级别的手写文件检测工作,将CASIA-HWDB2.x(offline)数据进行合并,生成了page level的数据集,还带有相应的bbox。如果大家想交流ocr相关的工作可以加群(文章末尾):CASIA-HWDB2.x(offline)数据集下载地址:http://www.nlpr.ia.ac.cn/databases/handwriting/Download.html我所下载的是这一部分:CASIA-HWDB2.x(offline)数据集解析可以参考:https://www.f原创 2020-09-30 11:05:53 · 12286 阅读 · 10 评论 -
【简单】torch.sactter_(),一遍看懂
看了一大堆的博客,有的博客几乎是照搬别人的博客,没啥意义。另一些个人感觉写得没有抓住本质。最常见的官方示例:>>> x = torch.rand(2, 5)>>> x 0.4319 0.6500 0.4080 0.8760 0.2355 0.2609 0.4711 0.8486 0.8573 0.1029[torch.FloatTensor of size 2x5]>>> torch.zeros(3, 5).sc.原创 2020-09-14 18:13:33 · 222 阅读 · 1 评论 -
pytorch 去除pretrain model 最后一层或某一层
官方的pretrain model去除指定层可以参考链接https://blog.csdn.net/KHFlash/article/details/82345441,这里主要针对非官方的pretrain model,如下:import torchfrom collections import OrderedDictimport osimport torch.nn as nnimport torch.nn.init as initfrom xxx import new_VGGdef ini原创 2020-08-04 18:12:28 · 11927 阅读 · 1 评论 -
python 保存argparse中的配置参数
保存argparse配置参数重要的一步是将parser.parse_args()转换为字典,再输出key,value进行保存。示例如下:import argparseparser = argparse.ArgumentParser(description='test')parser.add_argument('--gpu_id', default=1, type=int)parser.add_argument('--size', default=32, type=int)parser.add原创 2020-07-31 10:27:19 · 19140 阅读 · 0 评论 -
pytorch 多gpu并行训练
单机多卡并行训练torch.nn.DataParallel我一般在使用多GPU的时候, 会喜欢使用os.environ['CUDA_VISIBLE_DEVICES']来限制使用的GPU个数, 例如我要使用第0和第3编号的GPU, 那么只需要在程序中设置:os.environ['CUDA_VISIBLE_DEVICES'] = '0,3'这个参数最好在主体代码开始的时候写上,因为它要写在model调用cuda函数前使用。例如我们需要训练的文件为train.py,也是用‘0,3’号gpu,原创 2020-06-10 09:32:12 · 17043 阅读 · 0 评论 -
【简单理解】torch.nonzero(同样适用于获取tensor中某一元素的索引)
torch.nonzero其实就是找出tensor中非零的元素的索引import torchlabel = torch.tensor([[1,0,0], [1,0,1]])print(label.nonzero())返回的结果:tensor([[0, 0], [1, 0], [1, 2]])返回的结果就是非零元素的索引,其中[0,0]对应了第一行第一列的1,[1,0]对应了第二行第一列的1,[1,2]对应了第原创 2020-06-09 15:21:57 · 5532 阅读 · 0 评论 -
pytorch多gpu出现RuntimeError
记录一下使用多gpu出现的报错。在一开始的时候,使用的是单gpu能够正常训练和验证,但使用多gpu的时候就会报RuntimeError: shape '[xxx,xxx]' is invalid for input of size xxx错误,查找了一下原因并不是网络结构间的输入输出的shape不对应,而是train和val的batchsize应该都是gpu数量的整数倍。...原创 2020-06-08 14:56:14 · 2994 阅读 · 3 评论 -
【超简单】torch.narrow()函数
函数返回tensor的第dim维切片start: start+length的数据。原创 2020-06-04 17:03:03 · 59659 阅读 · 1 评论 -
pytorch GlobalAveragePolling(GAP)
GAP是对每一个通道的像素求平均,假如现在的特征图的shape为[B,C,H,W],经过GAP后shape变为[B,C,1,1]a = torch.rand([2,3,2,2])b = torch.nn.functional.adaptive_avg_pool2d(a, (1,1))print(a)print('='*20)print(b.shape)print('='*20)print(b)输出:tensor([[[[0.5518, 0.6697], [0原创 2020-05-28 11:30:30 · 20420 阅读 · 1 评论 -
pytorch预训练模型的下载地址
Resnet:model_urls = { 'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth', 'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth', 'resnet50': 'https://download.pytorch.org/models/resnet50-19c8e357.pth',.转载 2020-05-27 17:41:27 · 1065 阅读 · 0 评论 -
pytorch one_hot
one_hot = torch.nn.functional.one_hot(torch.arange(3), num_classes=5)print--->tensor([[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0]])one_hot = torch.nn.functional.one_hot(torch.LongTensor([1,3,4]), num_classes.原创 2020-05-27 09:42:34 · 58786 阅读 · 0 评论