
pytorch
文章平均质量分 66
loovelj
这个作者很懒,什么都没留下…
展开
-
pytorch中的__setattr__和__getattr__属性
最近看检测代码,经常会看到__setattr__和__getattr__这两个魔法属性,主要是对最后检测头的时候使用我查询了一下:__setattr__就等于在字典__dict__里面插入key和value但是,__getattr__是在获取不到key的时候才用到这个,但为什么pytorch可以获取import torch import torch.nn as nnclass Animal(nn.Module): def __init__(self,name,age) -> No原创 2022-01-06 16:26:20 · 3561 阅读 · 0 评论 -
Pytorch 加速读取数据之 prefetch_factor
最近使用四卡训练图片,发现总有卡的效率突变到0,大致就是在读取以及处理数据了怎么能加速读取呢?一个方法是用NVIDIA的DALI模块,可以加速,具体可以参考 英伟达DALI加速技巧:让数据预处理速度比原生PyTorch快4倍主要就是通过并行训练和预处理过程,减少了延迟及训练时间但是今天我发现一个更简单的方法就是升级pytorch到1.7以上,目前是1.8.1,最好的1.8.1吧为什么会这么说呢,因为在dataloader中加入了一个参数 prefetch_factor,这个就是提前加载多少个ba原创 2021-05-07 18:24:04 · 14708 阅读 · 1 评论 -
旋转图片及标注lable的实现
旋转图片相关内容背景旋转理论OpenCV操作背景1、做带角度的图像数据增强,一般使用rotate函数就可以,不过有时图片部分角就会旋转出去,如果不丢失信息,且补边呢?2、如果标注的label是一个矩形,如果旋转后,想让label也跟着旋转,怎么计算旋转理论旋转图片一般用到了仿射变换,仿射变换的原理可以从几何理解,也可以从极坐标方式理解,具体计算方式就是矩阵相乘OpenCV操作OpenCV的方法是cv2.getRotationMatrix2D()方法matRotate2 = cv2.getR原创 2020-12-26 18:57:07 · 2161 阅读 · 0 评论 -
DCNv2 RuntimeError: Error compiling objects for extension
最近使用CenterNet的时候,由于在DLA34中用到了DCN,所以需要编译DCNv2,但是每次都会出问题,最近做一个小结1、Pytorch版本:1.62、DCN选择:https://github.com/lbin/DCNv2,这个链接中针对pytorch不同版本做了相应改变,切换分支即可git checkout -b pytorch_1.6 origin/pytorch_1.6但是编译的时候遇到了报错:.../bin/sh: 1: :/usr/local/cuda-10.0/bin/n原创 2020-12-02 17:14:53 · 12184 阅读 · 4 评论 -
Pytorch训练总结
Pytorch中有许多需要注意的地方,这里总结一下1、数据加载1、要保证输出图片的格式是一致的train_data=CustomDataset(file_list,transform=transforms.Compose([ transforms.Resize(512),# 要保证数据输入大小一致 transform原创 2020-10-14 18:56:52 · 713 阅读 · 0 评论 -
Pytorch的gather和scatter
最近在看pytorch的gather与scatter函数,现在详细记录一下1、Gathergather是根据索引取数据,下图可以表示gather,具体见[gather]的介绍(https://stackoverflow.com/a/54706716)但是要注意的是,dim为0和1时,index是有区别的,要转置一下index = torch.as_tensor([[0,1,2],[1,2,0]]) src = torch.arange(9).reshape(3,3) torch.gather(s原创 2020-07-28 16:56:24 · 1922 阅读 · 0 评论