Pytorch
文章平均质量分 52
00000cj
计算机视觉,论文阅读记录
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Torch.Tensor.scatter_( ) 用法解读
将张量src中的值按参数index中指定的索引写入self。对于src中的值,当dimension!=dim时它的输出索引就是它在src中的索引。当dimension=dim时,它的输出索引就是它本身的值。原创 2023-03-04 17:29:51 · 812 阅读 · 0 评论 -
torch.cuda.synchronize() 用法解读
同样是在调试dbnet遇到的坑,导致以为速度瓶颈在后处理,后来发现后处理时间不长,还是模型推导的时间占大头。一开始这样打印模型推导时间,结果特别小start = time.time()preds = self.model(tensor)end = time.time()print('inference take {:.3f}s for one image'.format(end - start))在pytorch里面,程序的执行都是异步的。如果采用上述方式,测试的时间会很短,因为执行完e原创 2020-12-11 21:08:59 · 9625 阅读 · 0 评论 -
F.grid_sample 用法解读
的shape为\((N, H_{out}, W_{out}, 2)\),则输出的shape为\((N, C, H_{out}, W_{out})\)。只支持二维(spatial)和三维(volumetric)数据,因为还包括batch_size和channel维度,即只支持4-D和5-D的输入。比如x=-1, y=-1表示输入的最左上角的位置,x=1, y=1表示输入的最右下角位置。的shape为\((N, C, H_{in}, W_{in})\),指定了采样像素的位置,这里的位置是由。原创 2022-11-28 00:02:35 · 2518 阅读 · 0 评论 -
torch.nn.functional.unfold 用法解读
上面的 \(\prod (kernel\_size)=2\times 3=6\),窗口内共有2x3x5=30个值,对应输出维度中的 \(C\times \prod (kernel\_size)\)。接下来因为默认stride=1,dilation=1,padding=0,因此(2, 3)大小的kernel在维度(3, 4)中两个方向都只能滑动一次,因此滑动窗口只有4个位置,对应上面的 \(L=4\)。这里 \(L\) 的计算方式和卷积中输出大小的计算是一模一样的。原创 2022-10-12 17:58:56 · 3680 阅读 · 0 评论 -
torch.gather() 用法解读
上面的示例是二维的情况,同理也可以推广到三维甚至更多维。总结来说,index中每个数其本身的值表示参数dim指定维度的索引,而其它的每个维度都由每个数在index中的对应维度的索引指定。原创 2022-08-07 14:50:38 · 652 阅读 · 0 评论 -
torch.roll() 用法解读
沿给定维度滚动张量输入。超出最后一个位置的元素在第一个位置重新引入。如果dims为None,则张量将在滚动前被展平,然后恢复到原始形状。原创 2022-08-03 20:20:46 · 1041 阅读 · 0 评论 -
torch.nn.functional.one_hot()
假设tensor的shape为(*),函数返回shape为(*,num_classes)的tensor,返回的tensor中除了最后一维索引为tensor对应值位置为1,其它都为0。原创 2022-07-27 16:54:52 · 1405 阅读 · 0 评论 -
torch.Tensor.to的用法
更改数据类型torch.dtype或者设备torch.device。原创 2022-07-27 15:49:18 · 4057 阅读 · 1 评论 -
torch.Tensor和torch.tensor的区别
而torch.tensor会根据初始值自动分配数据类型,并且可以在初始化时指定数据类型。即torch.Tensor默认为float32类型,并且在初始化时不可改变。原创 2022-07-27 15:15:27 · 263 阅读 · 0 评论 -
torch.histc 用法解读
计算一个张量的直方图。张量中的元素被分到min和max之间的等宽bins区间中,如果min和max都为0,则使用张量中所有元素的最小值和最大值。小于min和大于max的元素将被忽略。注意,输入不能是int类型,因此第一个元素初始化为float了这里的含义是把[0, 9]区间均分为5个子区间,统计输入中的元素落在每个子区间里的个数。这里2个1落在[0, 1],3个2落在[2, 3],5落在[4, 5],[6, 7]中没有元素,8落在[8, 9]中,因此结果就是[2, 3, 1, 0, 1]在语义分割中,原创 2022-07-08 17:32:18 · 4775 阅读 · 3 评论 -
Pytorch中register_forward_hook的用法
一个hook是一个可调用对象,可以通过不同的方式注册到任意nn.Module对象上,当module的触发方法比如(forward()或backward())被调用后,module本身以及其输入和输出被传递给hook并触发调用。比如当一个hook通过torch.nn.Module.register_forward_hook()的方式注册到一个module上时,每次其forward函数计算出其输出之后紧接着调用hook。hook的参数形式是固定的 hook(module, input, output)原创 2022-04-24 00:43:36 · 3962 阅读 · 1 评论
分享