pytorch
pytorch框架的语法
一位不愿暴露自己的小可爱
把时间分给睡眠
分给书籍
分给运动
分给花鸟树木和山川湖海
分给你对这个世界的热爱
当你开始做时间的主人
你会感受到平淡生活中
喷涌而出的平静的力量
要永远年轻,永远热爱
展开
-
torch.searchsorted的用法
torch原创 2022-06-14 11:49:29 · 3946 阅读 · 1 评论 -
Github开源人体姿态识别项目OpenPose中文文档
传送门:https://www.jianshu.com/p/3aa810b35a5d转载 2021-07-26 16:51:01 · 1144 阅读 · 0 评论 -
深度理解log-sum-exp
啥是log-sum-exp呢,在损失函数BCEWithLogitsLoss中,Torch官方文档给出的解释是,就是在sigmoid后接了BCELoss。通过将这些操作整合到一层,使用log-sum-exp strick的技巧可以获得更好的数值稳定性。等等,什么是log-sum-exp trick?查了一下,发现知乎上有篇文章写的很详细,传送门...原创 2021-07-25 21:13:11 · 3157 阅读 · 0 评论 -
resnet,inception等网络核心单元代码实现
1、resnet残差网络(1)较深的网络比较浅的网络性能更差。 一个创新的想法:如果什么也没学到,那就比以前更糟:因此提出了identity map(也称为shortcut连接)。 H(x)= x + F(x),F(x)= H(x)-x,称为残差。(2)ResNet的深度各不相同,从18层到34、50、101到非常深的152层。(3)不同的快捷方式,如果不更改尺寸,则可以使用identity映射。 但是在实践中,尺寸更改因此会产生“瓶颈”。 (这在基线后记中很流行,因为它可以保存参数。)残差单元:转载 2021-07-25 20:32:05 · 262 阅读 · 0 评论 -
torch.nn.functional.interpolate函数
yolov3中上采样时用的方法即为:import torch.nn.functional as FF.interpolate(x, scale_factor=2, mode='nearest')查了一下pytorch的官方文档翻译一下,即按照给出的size或scale_factor对输入的input tensor 进行上采样(增大tensor的size)或下采样(减小tensor的size, 像池化操作也是常用的下采样方法)举个栗子: x = Variable(torch.randn(原创 2021-07-25 19:39:50 · 3129 阅读 · 0 评论 -
numpy中np.max和np.maximum
np.max(a, axis=None, out=None, keepdims=False)求序列的最值ex:>> np.max([-2, -1, 0, 1, 2])2np.maximum(X, Y, out=None)X和Y逐位进行比较,选择最大值.最少接受两个参数ex:>> np.maximum([-3, -2, 0, 1, 2], 0)array([0, 0, 0, 1, 2])这里相当于两个列表 [-3, -2, 0, 1, 2] 与 [.原创 2021-07-23 14:11:26 · 312 阅读 · 0 评论 -
: _thnn_conv2d_forward not supported on CPUType for Byte
推理的时候将图片转换为np.float32类型 def Forward(self, image, ir_box): self.Preprocess(image, ir_box) self.living_ir_img = np.float32(self.living_ir_img) test_output = self.net.forward(torch.from_numpy(self.living_ir_img)) ir_map = n原创 2021-07-23 08:37:55 · 1314 阅读 · 0 评论 -
python中enumerate函数的用法
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。abc='abcdefg'print(enumerate(abc))print(list(enumerate(abc)))for i in enumerate(abc): print(i)for i,element in enumerate(abc): print(i,abc[i])<enumerate object at 0x000001B75A71转载 2021-07-21 11:18:26 · 278 阅读 · 0 评论 -
pytorch中的model.eval() 和model.train()以及with torch.no_grad 还有torch.set_grad_enabled总结
传送门:https://blog.csdn.net/a250225/article/details/108589205转载 2021-07-21 08:59:14 · 336 阅读 · 0 评论 -
torch.set_grad_enabled(False)
volatile是用来在验证或者测试的时候将输入设置成volatile,这样后继几点全部都被设置成volatile,也就是不需要自动求导。0.4.0以后采用torch.set_grad_enabled()来替代这种用法但是torch.set_grad_enabled()在使用的时候是设置一个上下文环境,也就是说只要设置了torch.set_grad_enabled(False)那么接下来所有的tensor运算产生的新的节点都是不可求导的,这个相当于一个全局的环境,即使是多个循环或者是在函数内设置的调用,原创 2021-07-21 08:54:28 · 2327 阅读 · 0 评论 -
pytorch中contiguous()的功能
方法介绍torch.view()方法对张量改变“形状”其实并没有改变张量在内存中真正的形状。简单地说,view方法没有拷贝新的张量,没有开辟新内存,与原张量共享内存,只是重新定义了访问张量的规则,使得取出的张量按照我们希望的形状展现。举例说,如下代码:t = torch.tensor([[0, 1, 2, 3], [4, 5, 6, 8], [9, 10, 11, 12]])t2 = t.transpose(0, 1)print(t2)tensor([[ 0, 4, 9],原创 2021-07-20 20:56:50 · 428 阅读 · 0 评论 -
permute函数的用法
1 先看看官方中英文doc:torch.Tensor.permute (Python method, in torch.Tensor)1.1 permute(dims)将tensor的维度换位。参数: - dims (int …*) - 换位顺序例:>>> x = torch.randn(2, 3, 5) >>> x.size() torch.Size([2, 3, 5]) >>> x.permute(2, 0, 1).size()原创 2021-07-20 20:50:50 · 7606 阅读 · 0 评论 -
PyTorch常用代码段
传送门:https://mp.weixin.qq.com/s/UOFGQCn2W12ORedExthe2g转载 2021-06-17 11:50:16 · 77 阅读 · 0 评论 -
Pytorch中transforms.RandomResizedCrop()等图像操作
https://blog.csdn.net/see_you_yu/article/details/106722787自定义数据增强,详见:https://blog.csdn.net/qq_32531505/article/details/106300540转载 2021-05-31 16:51:58 · 910 阅读 · 0 评论 -
pytorch中torch.chunk()方法
对tensor张量在指定维度上进行分块,返回张量列表。详见:https://www.cnblogs.com/jiangkejie/p/10309766.html转载 2021-02-04 11:30:35 · 1591 阅读 · 0 评论 -
np.clip()
函数np.clip(x,a,b),将x的范围控制在[a,b]之间,x可以是一个数也可以是数组,x < a时值为a; x > b时值为by1 = np.clip(max(0,100), 0, 112)y1Out[32]: 100np.clip(max(0,-9), 0, 112)Out[33]: 0np.clip(max(0,150), 0, 112)Out[34]: 112...原创 2020-12-26 14:42:58 · 352 阅读 · 0 评论 -
Pytorch中常用的四种优化器SGD、Momentum、RMSProp、Adam
转载自:https://www.jianshu.com/p/1a1339c4acd7转载 2020-11-25 10:44:40 · 1393 阅读 · 0 评论 -
pytorch中item函数的用法
得到一个张量里面的元素值原创 2020-11-20 20:08:52 · 1169 阅读 · 0 评论 -
PyTorch中MaxPool的ceil_mode属性
PyTorch中的MaxPool(最大池化)有一个属性:ceil_mode,默认为False(地板模式),为True时是天花板模式。模型训练好,离线测试精度很高,但模型转完caffe和wk后,测试结果有差异,定位到的原因是在模型训练时底层的网络架构中,最大池化的属性设置的有问题:layer0_modules.append(('pool', nn.MaxPool2d(3, stride=2,ceil_mode=False)))在训练和测试时,ceil_mode都应设置为True。两者区别如下:转转载 2020-10-28 16:07:33 · 664 阅读 · 1 评论 -
pytorch中的value, top = prob.topk(1, dim=1, largest=True, sorted=True)
函数:value, top = prob.topk(1, dim=1, largest=True, sorted=True)topk函数参考网址:https://www.jb51.net/article/177713.htm具体的,第一个参数为1,表示最大的,2表示前两大,…,依次类推第二个参数为1,表示选每行最大的返回参数分别为最大值与对应的索引...转载 2020-10-09 20:55:12 · 579 阅读 · 0 评论 -
tensor操作的unsqueeze()、squeeze()、expand()、view()、cat()和repeat()
转载自:https://blog.csdn.net/HUSTHY/article/details/101649012学习Bert模型的时候,需要使用到pytorch来进行tensor的操作,由于对pytorch和tensor不熟悉,就把pytorch中常用的、有关tensor操作的unsqueeze()、squeeze()、expand(...转载 2020-09-18 11:48:52 · 503 阅读 · 0 评论