Avi*_*ppo 4 python numpy pytorch tensor
X = np.array([
[-2,4,-1],
[4,1,-1],
[1, 6, -1],
[2, 4, -1],
[6, 2, -1],
])
for epoch in range(1,epochs):
for i, x in enumerate(X):
X = torch.tensor([
[-2,4,-1],
[4,1,-1],
[1, 6, -1],
[2, 4, -1],
[6, 2, -1],
])
Run Code Online (Sandbox Code Playgroud)
当它是一个 numpy 数组时,循环很好。但我想使用 pytorch 张量,那么枚举的替代方法是什么或者我如何在第二行中循环上述张量?
yat*_*atu 11
enumerate需要一个可迭代的,所以它也适用于 pytorch 张量:
X = torch.tensor([
[-2,4,-1],
[4,1,-1],
[1, 6, -1],
[2, 4, -1],
[6, 2, -1],
])
for i, x in enumerate(X):
print(x)
tensor([-2, 4, -1])
tensor([ 4, 1, -1])
tensor([ 1, 6, -1])
tensor([ 2, 4, -1])
tensor([ 6, 2, -1])
Run Code Online (Sandbox Code Playgroud)
如果你想迭代底层数组:
for i, x in enumerate(X.numpy()):
print(x)
[-2 4 -1]
[ 4 1 -1]
[ 1 6 -1]
[ 2 4 -1]
[ 6 2 -1]
Run Code Online (Sandbox Code Playgroud)
但请注意,pytorch 的底层数据结构是 numpy 数组,因此您可能希望避免在张量上循环,并且应该考虑通过 pytorch 或 numpy 对任何操作进行矢量化。
| 归档时间: |
|
| 查看次数: |
46823 次 |
| 最近记录: |