自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hxxjxw的博客

写了一天bug累了吧

  • 博客(1413)
  • 收藏
  • 关注

原创 gumbel-softmax(替代argmax)

gumbel-softmax(替代argmax)

2022-09-14 16:11:47 52

原创 linux 比较两文件的差异(diff & vimdiff)

linux 比较两文件的差异(diff & vimdiff)

2022-08-21 16:42:22 45

原创 linux(ubuntu) 命令行 百度网盘上传下载数据(bypy)

linux(ubuntu) 命令行 百度网盘上传下载数据(bypy)

2022-08-16 13:25:33 267

原创 Python typing模块(类型标注)(type hints)(一) —— NewType & Callable可调/回调 & Union或 & Any & Optional

Python typing模块(类型标注)(type hints)(一) —— (NewType & Callable可调/回调 & Union或 & Any & Optional)

2022-08-15 16:00:43 203

原创 Pytorch中数据采样方法Sampler(torch.utils.data)(二) —— WeightedRandomSampler & SubsetRandomSampler

Pytorch中数据采样方法Sampler(torch.utils.data)(二) —— (WeightedRandomSampler&SubsetRandomSampler)

2022-08-14 16:35:31 699

原创 Pytorch分布式训练/多卡训练DDP——模型初始化(torch.distribute 与 DDP的区别)

Pytorch分布式训练/多卡训练DDP——模型初始化(torch.distribute 与 DDP的区别)

2022-08-09 12:14:14 404

原创 torch.distributed多卡/多GPU/分布式DPP(二)——torch.distributed.all_reduce(reduce_mean)&barrier&控制进程执行顺序&随机数种子

torch.distributed多卡/多GPU/分布式DPP(二) —— torch.distributed.all_reduce & barrier

2022-08-09 00:15:18 200

原创 NestedTensor(DETR)

NestedTensor

2022-08-06 15:50:47 292

原创 Pytorch分布式训练/多卡/多GPU训练DDP的torch.distributed.launch和torchrun

Pytorch分布式训练/多卡训练DDP的torch.distributed.launch和torchrun

2022-08-03 16:43:05 373

原创 X2Go连接WSL2 (linux远程服务器)

X2Go连接WSL2

2022-07-27 22:36:58 141

原创 Python numpy array设置输出数组的宽度

Python numpy array设置输出数组的宽度

2022-07-26 18:45:45 481

原创 PVT的spatial reduction attention(SRA)

PVT的spatial reuction attention(SRA)

2022-07-12 13:27:30 137

原创 Pytorch 实现position embedding位置编码(三)——DETR中的位置编码

Pytorch 实现position embedding位置编码(三)——DETR中的位置编码

2022-07-11 17:32:25 271

原创 Pytorch C Extension(C拓展)(即时编译JIT)(pybind11)(torch.utils.cpp_extension)

Pytorch C Extension(C拓展)(即时编译JIT)(pybind11)(torch.utils.cpp_extension)

2022-06-25 18:59:26 548

原创 docker cuda的devel和runtime包

docker cuda的devel和runtime包

2022-06-20 12:59:25 342

原创 SWIG & Python调用C代码

SWIG

2022-06-19 18:28:50 76

原创 使用Python加载C语言代码(ctypes)

使用Python加载C语言代码(ctypes)

2022-06-19 00:41:32 185

原创 Cython的使用(一)(.so文件)

Cython的使用

2022-06-09 23:12:24 210 1

原创 numpy array中的浅拷贝与深拷贝

numpy array中的浅拷贝与深拷贝

2022-06-02 22:27:22 59

原创 Python Wheels(.whl文件)(轮子)(取代egg)(egg格式与wheel格式的区别)(伪装zip)(二进制文件)

Egg 格式是由setuptools在 2004 年引入,而 Wheel 格式是由 PEP427 在 2012 年定义。Wheel 的出现是为了替代 Egg,它的本质是一个zip包,现在被认为是 Python 的二进制包的标准格式。

2022-05-24 21:23:51 336

原创 ssh通过跳板机连接远程服务器 重启后连接被拒(ECDSA key change)

之前是可以正常连接的,服务器reboot之后报错说ECDSA的key变了,连接拒绝但是我先连到跳板机,后连到服务器的话是可以的解决方案将本地的.ssh/known_hosts中的关于远程服务器(不是跳板机)的的项删掉,再连,它就会重新添加新的ECDSA key了,就可以了...

2022-05-20 09:49:38 326

原创 TTA 测试时数据增强(multi-scale testing)(TEST.AUG)

TTA,Test-Time Augmentation,测试时数据增强测试时将原始数据做不同形式的增强,然后取结果的平均值作为最终结果。可以进一步提升最终结果的精度

2022-05-13 20:42:18 350

原创 vscode tensorboard打开错误

经常会有黑屏的情况,像一只直是这种这种情况下通常是因为端口的问题,很有可能是你另一个打开的本台服务器上的vscode文件也用过tensorboard而且转发过端口,容易造成冲突一般把其他本服务器的vscode文件转发的端口关掉,然后重新打开界面就好了...

2022-05-12 16:46:49 565

原创 Pytorch预训练模型的加载路径catalog://ImageNetPretrained/MSRA(detectron2://ImageNetPretrained/MSRA)是什么意思

还遇见过 ’detectron2://ImageNetPretrained/MSRA/R-101.pkl‘这种的话,一般在框架中用的居多,属于一种简写方式,而框架中是有专门的path解析程序来替换或者添加前缀等来使其变成真正的URL然后去下载的如在mask-rcnn下配置文件中是而在数据集路径文件(/maskrcnn_benchmark/config/paths_catalog.py# Copyright (c) Facebook, Inc. and its affiliat..

2022-05-08 20:27:13 1286

原创 linux(ubuntu)没有在/etc/passwd里的用户如何修改默认 shell(zsh)

这样的话,只能在.bashrc最后,添加exec -l zsh

2022-05-07 20:14:16 878

原创 Pytorch量化(torch.quantization)

在深度学习中,量化指的是使用更少的bit来存储原本以浮点数存储的tensor,以及使用更少的bit来完成原本以浮点数完成的计算。这么做的好处主要有如下几点:更少的模型体积,接近4倍的减少; 可以更快的计算,由于更少的内存访问和更快的int8计算,可以快2~4倍。 一个量化后的模型,其部分或者全部的tensor操作会使用int类型来计算,而不是使用量化之前的float类型。当然,量化还需要底层硬件支持,x86 CPU(支持AVX2)、ARM CPU、Google TPU、Nvi...

2022-04-22 10:51:58 1509

原创 R-Dropout

R-Drop是Regularized Dropout为了解决Dropout中训练和测试(推理)不一致的问题Dropout本质上是一种集成学习,即在训练的时候同时训练多个神经网络R-Drop使得通过Drop产生的不同的子模型,它们输出的分布要彼此一致。具体来说,对每个训练样本,R-Dropout都会将两个子模型的KL散度进行一个最小化in each mini-batch training, each data sample goes through the forward pas.

2022-04-21 14:48:02 287

原创 torch.autograd.Function 自定义求导/反向传播方式

虽然pytorch可以自动求导,但是有时候一些操作是不可导的,这时候你需要自定义求导方式。也就是所谓的 "Extending torch.autograd"。Function与Module的差异与应用场景Function与Module都可以对pytorch进行自定义拓展,使其满足网络的需求,但这两者还是有十分重要的不同:Function一般只定义一个操作,因为其无法保存参数,因此适用于激活函数、pooling等操作;Module是保存了参数,因此适合于定义一层,如线性层,卷积层,也适用于定.

2022-04-20 21:00:53 427 1

原创 Pytorch梯度检查 torch.autograd.gradcheck

在编写好自己的 autograd function 后,可以利用gradcheck中提供的gradcheck和gradgradcheck接口,对数值算得的梯度和求导算得的梯度进行比较,以检查backward是否编写正确。 即用它可以check自己写的反向传播函数是否正确这个函数可以自己计算通过数值法求得的梯度,然后和我们写的backward的结果比较 在下面的例子中,我们自己实现了Sigmoid函数,并利用gradcheck来检查backward的编写是否正确。impo...

2022-04-20 20:19:59 2086

原创 Python使用setuptools打包自己的分发包并使用举例(setup.py)

setup.py文件的编写setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的package,可以用自带的find_packages来动态获取package。所以setup.py文件的编写实际是很简单的。例如我们写了一个hello.pydef hello(): print('hello world')if __name__ == '__main__': hello()想能够像个包一样把它导.

2022-04-20 16:00:13 158

原创 Pytorch自定义数据集之torchvision.datasets.ImageFolder

当我们自定义数据集时,有时数据集是以图片的形式分好类给出的torchvision.datasets.ImageFolder(root: str, transform: Optional[Callable] = None, target_transform: Optional[Callable] = None, loader: Callable[[str], Any] = <function default_loader>, is_valid_file: Optional[Cal..

2022-04-20 10:48:44 1457

原创 Python descriptor描述器/描述符

如果一个class中定义了__get__函数 或 __set__函数 或 __delete__函数,那么这个class就会是一个descriptor描述器 一个对象在访问描述器时,如果该属性是一个描述器,则默认属性回调规则会被__set__, __get__,__delete__方法所覆盖 Python内部自带的staticmethod, classmethod, property,super等都是描述器,在很多 Python库中也都有描述器的身影(例如SQLAl...

2022-04-19 21:37:48 158

原创 Python CodeObject

我们所有写的python代码,在运行的时候都被编译成了code object如图我们define了一个空的函数,输出其__code__可以看到,它是一个code objectcode object中保存了什么呢参考【python】B站没人讲过的CodeObject,python底层实现一点都不简单!_哔哩哔哩_bilibili...

2022-04-19 21:30:32 109

原创 Python虚拟机(字节码 & code object & frame)

所有的Python代码都会被compile成一个code object.Python解释器在运行Python代码之前,会建立一个frame。frame提供了一个程序运行的环境,这里面包含它的局部变量,包含它的全局变量,包含这段代码对应的字节码.Python的字节码是stack-based,就是一个以栈为核心的结构。换句话说,所有的字节码,要么在进行计算,要不然就是在对栈进行一个操作....

2022-04-19 00:19:19 1783

原创 Pytorch手动实现转置卷积/反卷积(deconvolution/transposed convolution/fractional strided convolution) (upsample)

转置卷积是卷积的逆运算。即转置卷积结果的shape和input是一样的所以转置卷积只能恢复原来的in_channel, 不能实现任意维度转置卷积的原理就是将之前卷积得到的结果,再和原来的kernel填充后,相乘卷积反卷积import torchimport torch.nn.functional as Fdef get_kernel_matrix(kernel, input_size): #基于kernel和输入特征图大小来得到填充后拉直的kerne...

2022-04-16 22:17:03 625

原创 Pytorch tensor在内存中的存储/存储空间的连续性(contiguous&channel last memory format&tensor.stride&storage&offset

判断tensor的内存是否连续x.is_contiguous()转置操作会改变tensor的内存连续性. 还有permute(), transpose(), expand(), narrow()等 我们也许都知道,Python 为了节省内存,很多操作都是不会重新分配地址的,而是在原地址上进行,这一特性在我使用 numpy 的时候就深刻的感受到了,如果想确保分配一个新的地址,需要使用 copy 或者 clone 等操作。而 Pytorch 与 numpy 一脉相承 (这.....

2022-04-16 18:22:38 907 1

原创 Python dis模块(字节码反汇编)

Python代码在执行的时候,会被编译为Python字节码,再由Python虚拟机执行Python字节码。有时候就我们执行python文件的时候会生成一个pyc文件,这个pyc文件即用于存储Python字节码指令,而这些字节码是一种类似于汇编指令的中间语言,但是每个字节码对应的不是机器指令,而是一段C代码。 而Dis模块,就是用于查看这些字节码的运行轨迹,因此我们可以用Dis模块判断两个函数的内存占用谁会更大,谁会更消耗CPU性能,不仅如此,通过指令,我们还可以知道Python中...

2022-04-15 11:04:23 721

原创 Pytorch转为onnx模型 (torch.onnx)

需要导入训练好的权重import torchfrom torch import nnimport torch.nn.functional as Fclass Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(1, 32, 3, 1) self.conv2 = nn.Conv2d(32, 64, 3, 1) .

2022-04-14 21:06:49 691

原创 RPC 远程过程调用

RPC, remote procedure call, 远程过程调用。简单的理解是一个节点请求另一个节点提供的服务本地过程调用:如果需要将本地student对象的age+1,可以实现一个addAge()方法,将student对象传入,对年龄进行更新之后返回即可,本地方法调用的函数体通过函数指针来指定。 远程过程调用:上述操作的过程中,addAge()这个方法在服务端,执行函数的函数体在远程机器上远程过程调用该如何告诉机器需要调用这个方法呢?首先客户端需要告诉服务器,需要调用的函数,这里函数.

2022-04-14 20:08:59 304

原创 Pytorch 基于im2col手动实现卷积conv2d(基于nn.Unfold实现卷积)(向量内积实现)

如果老老实实地实现卷积运算,估计要重复好几层的for语句。这样的实现有点麻烦,而且, NumPy中存在使用for语句后处理变慢的缺点(NumPy中,访问元素时最好不要用 for语句) 如上图所示,我们每次取的input,我们可以把它拉直,拉成一个行向量。它跟kernel进行元素相乘再求和,就相当于这个输入行向量,再跟kernel的列向量(将kernel拉成列向量)进行相乘 在上图中,为了便于观察,将步幅设置得很大,以使滤波器的应用区域不重叠。而在实际的卷积...

2022-04-13 20:29:37 1318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除