同时分配numpy / torch轴的多个不同切片

罗伯特·布拉科

我有一批图像(尺寸为“ batchsize x通道x高度x宽度”的4d张量/阵列,我想在每个图像上绘制大小为s的零的水平条,但是在每个图像上跨越不同的行。我可以这对于for循环来说是微不足道的,但是我一直无法弄清矢量化的实现。

理想情况下,我将生成“批量大小”随机起点的一维张量r,并执行类似的操作t[:,:,r:r+s,:] = 0如果我尝试这个我会TypeError: only integer scalar arrays can be converted to a scalar index

如果我做一个玩具示例,并尝试仅使用两个图像拉出批处理中的两个不同部分,则执行类似t[:,:,torch.tensor(([1,2],[2,3])),:]5D张量的操作,因为它批处理中的两个图像中拉出了这两个部分如何抓取这些不同的部分,但每个图像只有一个?在这种情况下,如果输入为2xCxHxW,则我想要2xCx2xW,其中第一项对应于第一幅图像的行1和2,第二项对应于第二幅图像的行2和3。谢谢。

哈里

您可以使用此功能创建一个遮罩,您可以在该遮罩上按其索引在y或x轴上执行操作。您可以通过将索引的x值设置为y索引来做到这一点。

bsg = sgs.data
device = sgs.device
bs, _, x, y = bsg.shape
max_y = y-size-1
rs = torch.randint(0, max_y, (bs,1), device=device)
m = torch.arange(y,device=device).repeat(bs, x)
gpumask = ((m < rs) | (m > (rs+size))).view(bs, 1, x, -1)
gpumask*bsg

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在多个轴上按索引切片numpy

来自分类Dev

熊猫:同时分配多个* new *列

来自分类Dev

沿动态指定的轴切片numpy数组

来自分类Dev

对numpy数组的不同行进行不同的切片

来自分类Dev

如何同时执行多个列表切片?

来自分类Dev

如何同时执行多个列表切片?

来自分类Dev

ggplot2:手动同时分配文本的不同大小和线条的粗细?

来自分类Dev

用于数据表中多个同时分配的`:=`不符合更新的值

来自分类Dev

如何使numpy数组切片元素与众不同?

来自分类Dev

为什么花式索引与numpy中的切片不同?

来自分类Dev

Python-NumPy 每行切片不同

来自分类Dev

从numpy数组中删除多个切片

来自分类Dev

如何在Rust中遍历Vec而不复制时分配切片?

来自分类Dev

如何在Rust中遍历Vec而不复制时分配切片?

来自分类Dev

根据两个数组给出的不同起始索引,在两个轴上按固定的大小进行Numpy切片

来自分类Dev

同时“切片”和切片

来自分类Dev

Python Numpy数组整数索引平面切片分配

来自分类Dev

沿numpy数组的给定轴的所有切片的总和

来自分类Dev

我可以使用Highcharts为每个饼图切片分配不同的半径吗?

来自分类Dev

如何切片或分离整数并将其分配给不同的变量

来自分类Dev

如何同时分派多个ngrx操作

来自分类Dev

在分配值的同时分配值

来自分类Dev

Python截断切片分配

来自分类Dev

Golang切片追加与分配性能

来自分类Dev

Swift等价的Python切片分配

来自分类Dev

如何分配切片范围?

来自分类Dev

使用切片的数组分配

来自分类Dev

用numpy在python中切片二维数组时,数字相同但形状不同

来自分类Dev

在多维numpy数组的每个索引处切片不同的范围

Related 相关文章

热门标签

归档