在Python中,使用//除法强制结果为整数。乘法有等价的吗?
例如,假设我有一个整数W,我按 float 缩放f。最好有一个像 这样的运算符.*,这样:
int(W*f)==W.*f
会是真的。
我正在寻找一种优雅的方法来选择满足某些约束条件的火炬张量子集.例如,说我有:
A = torch.rand(10,2)-1
Run Code Online (Sandbox Code Playgroud)
并且S是10x1张量,
sel = torch.ge(S,5) -- this is a ByteTensor
Run Code Online (Sandbox Code Playgroud)
我希望能够进行逻辑索引,如下所示:
A1 = A[sel]
Run Code Online (Sandbox Code Playgroud)
但这不起作用.所以有index接受a 的函数LongTensor但我找不到一种简单的方法来转换S为a LongTensor,除了以下内容:
sel = torch.nonzero(sel)
Run Code Online (Sandbox Code Playgroud)
返回K×2张量(K是S> = 5的值的数量).那么我必须将它转换为1维数组,最后允许我索引A:
A:index(1,torch.squeeze(sel:select(2,1)))
Run Code Online (Sandbox Code Playgroud)
这非常麻烦; 在例如Matlab中我所要做的就是
A(S>=5,:)
Run Code Online (Sandbox Code Playgroud)
有谁能建议更好的方法?