我知道Python列表有一种方法可以返回第一个索引:
>>> l = [1, 2, 3]
>>> l.index(2)
1
Run Code Online (Sandbox Code Playgroud)
NumPy阵列有类似的东西吗?
有没有办法初始化一个形状的numpy数组并添加到它?我将用列表示例解释我需要什么.如果我想创建一个循环中生成的对象列表,我可以这样做:
a = []
for i in range(5):
a.append(i)
Run Code Online (Sandbox Code Playgroud)
我想用numpy数组做类似的事情.我知道vstack,连接等等.但是,似乎这些需要两个numpy数组作为输入.我需要的是:
big_array # Initially empty. This is where I don't know what to specify
for i in range(5):
array i of shape = (2,4) created.
add to big_array
Run Code Online (Sandbox Code Playgroud)
本big_array应具有的形状(10,4).这该怎么做?
编辑:
我想补充以下说明.我知道我可以定义big_array = numpy.zeros((10,4))然后填写它.但是,这需要提前指定big_array的大小.我知道这种情况下的大小,但如果我不知道怎么办?当我们使用.append函数在python中扩展列表时,我们不需要事先知道它的最终大小.我想知道是否有类似的东西从较小的数组创建一个更大的数组,从一个空数组开始.
Have tensor like :x.shape = [3, 2, 2].
import torch
x = torch.tensor([
[[-0.3000, -0.2926],[-0.2705, -0.2632]],
[[-0.1821, -0.1747],[-0.1526, -0.1453]],
[[-0.0642, -0.0568],[-0.0347, -0.0274]]
])
Run Code Online (Sandbox Code Playgroud)
我需要.max()接管第二和第三维。我期待一些这样的[-0.2632, -0.1453, -0.0274]输出。我尝试使用: x.max(dim=(1,2)),但这会导致错误。
假定具有以下形状的火炬张量:
x = torch.rand(20, 1, 120, 120)
Run Code Online (Sandbox Code Playgroud)
我现在想要的是获取每个120x120矩阵的最大值的索引。为了简化问题,我将首先x.squeeze()使用shape [20, 120, 120]。然后,我想获取火炬张量,它是具有shape的索引列表[20, 2]。
我该如何快速完成?
我有一个NumPy数组,其形状为(3,1,2):
A=np.array([[[1,4]],
[[2,5]],
[[3,2]]]).
Run Code Online (Sandbox Code Playgroud)
我想在每一列中获取最小值。
在这种情况下,它们是1和2。我试图使用np.amin它,但是它返回一个数组,这不是我想要的。有没有一种方法可以在不使用循环的情况下仅用一两行python代码就能做到这一点?