0
두 번째 텐서 X와 첫 번째 색인 인 두 개의 색인 목록과 두 번째 a와 b 목록이 있습니다. 나는이 작업을 수행 할 수있는 방법2 차원 텐서에서의 고급 색인 생성
X[a[i],b[i]] = 0 for i in range(len(a))
하고 싶어. 내가 직접 X[a,b]
오류가있는 경우 IndexError : 고급 색인 생성 객체를 브로드 캐스트 할 수 없습니다.
두 번째 텐서 X와 첫 번째 색인 인 두 개의 색인 목록과 두 번째 a와 b 목록이 있습니다. 나는이 작업을 수행 할 수있는 방법2 차원 텐서에서의 고급 색인 생성
X[a[i],b[i]] = 0 for i in range(len(a))
하고 싶어. 내가 직접 X[a,b]
오류가있는 경우 IndexError : 고급 색인 생성 객체를 브로드 캐스트 할 수 없습니다.
색인이 들어있는 lists
을 확인하면 일부 값이 범위를 벗어날 수 있습니다. 당신의 인덱스가 올바른 범위에있는 경우
In [43]: X[4,4]
IndexError Traceback (most recent call last) in() ----> 1 X[4,4]
IndexError: index 4 is out of range for dimension 0 (of size 3)
것은, 그것은 잘 작동합니다 : 당신은 아래와 같은 IndexError을 얻을 것이다 때이다.
In [35]: X = torch.Tensor([[3, 4, 5, 6], [1, 2, 3, 4], [6, 3, 2, 1]])
In [36]: X
Out[36]:
3 4 5 6
1 2 3 4
6 3 2 1
[torch.FloatTensor of size 3x4]
In [37]: a = [0, 2]
In [38]: b = [1, 2]
In [39]: X[a, b]
Out[39]:
4
2
[torch.FloatTensor of size 2]
In [40]: X[a, b] = 0
In [41]: X
Out[41]:
3 0 5 6
1 2 3 4
6 3 0 1
[torch.FloatTensor of size 3x4]
: 여기
은 일례이며