처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 [데이터과학 Part3] - 지금까지 익힌 이론과 미니배치까지 적용된 딥러닝 코드 구현해보기 에서 질
9분 20초쯤에
indices = torch.randperm(x.size(0)) print(indices) x_batch_list = torch.index_select(x, 0, index=indices) y_batch_list = torch.index_select(y, 0, index=indices)
indices를 랜덤한 순서로 넣었다고 하셨는데
그리고
x_batch_list = torch.index_select(x, 0, index=indices) 이걸사용하는 이유가뭔가요?
어차피 지금 랜덤하게 바뀐순서라면
x_batch_list = x[indices] 이걸통해서 바로 넣어도 되는게 아닌가요?
torch.index_select 이건 인덱스로 원하는 데이터만 선택적으로 추출하기에 적합하다고 알고있습니다. 이번에 굳이 x_batch_list = x[indices] 이게아닌 x_batch_list = torch.index_select(x, 0, index=indices) 이걸 사용한 이유를 알고 싶습니다.
제가 아는것이 전부가 아닌 또다른게 있는가해서요
답변 1
0
안녕하세요. 답변 도우미입니다.
기본적으로 IT에서 동일한 또는 유사한 기능을 하는 다양한 문법이 있는 것은 일반적이긴 하거든요. 그래서, 말씀하신 방법과 크게 차이는 없습니다.
PyTorch의 torch.index_select와 인덱싱 연산자인 []를 통한 인덱싱 방법은 매우 비슷한 기능을 제공합니다. 둘 다 텐서에서 특정 인덱스를 기반으로 원하는 요소를 선택하도록 합니다.
그럼에도 불구하고, 코드에서 torch.index_select를 사용하는 특별한 이유가 있다면, 다음과 같은 이유들이 있을 수 있습니다:
1. 명시성: torch.index_select 함수는 선택하려는 차원을 명시적으로 지정해야 합니다. 이는 코드를 읽는 사람에게 해당 연산이 어떤 차원에서 수행되는지 명확히 보여주는 장점이 있습니다. x[indices] 표현식은 암시적으로 첫 번째 차원에서 인덱싱을 수행한다는 것을 가정하므로, 이 점이 명시성에서 약간의 차이를 만들 수 있습니다.
2. 성능: 일부 상황에서 torch.index_select는 [] 연산자보다 약간 더 빠를 수 있습니다. 하지만 대부분의 일반적인 사용 사례에서는 성능 차이는 무시할 수 있을 정도로 작습니다.
3. 호환성: 일부 라이브러리 또는 환경에서는 torch.index_select를 선호할 수 있습니다. 예를 들어, autograd의 역전파 계산이 torch.index_select와 더 잘 작동할 수 있습니다.
그럼에도 불구하고, 주어진 상황에서 torch.index_select(x, 0, indices)와 x[indices]는 동일한 결과를 제공하므로, 어떤 방법을 선택할지는 주로 개발자의 선호도와 스타일에 따라 편하게 사용하시면 됩니다.
감사합니다.
import torch가 안되는 경우는 어떻게 하나요?
0
17
1
강의 필기는 어떻게 하나요?
0
85
1
섹션 5퀴즈 4번 문제 보기 오류로 보임
0
63
1
섹션17 81번이랑 82번 강의가 중복되는 것 같아서 질문드립니다.
0
88
2
강의교안이 안 옵니다
0
80
1
17-2강 Transfer learning 실습 관련 질문
0
134
2
13섹션 강의자료가 없네요^^
0
92
1
강의자료가 없네요.
0
107
2
LSTM 모델 학습 관련한 질문입니다.
0
127
1
MSE LOSS 관련
0
132
1
test시 minibatch 사용?
0
133
1
Average Test loss 계산식 문의
0
101
1
파이토치 설치
0
247
1
[Pytorch 기울기의 누적 곱? 누적 합?]
0
135
1
3d 텐서에서의 축 구분 질문
0
119
1
항상 tensor([0., 0., 0.]) 형식으로만 나오는 이유
0
111
1
강의자료 PDF 다운로드에 관하여
0
132
1
[실무에서 판다스 copy()메서드의 깊은복사 얕은복사 조정 소요가 생길까?]
0
116
1
섹션 다양한 Optimizer 정리하기 중 딥러닝으로 Regression 문제 적용해보기 (House Price Kaggle 문제) 강의에서 오류가 발생합니다.
0
149
1
마지막에 confusion matrix 작성할때
0
157
1
아나콘다를 사용하지 않고 파이토치 사용하는 방법
0
853
1
test data 의 loss 계산식 문의
0
288
1
차원 출력 관련 문의
0
245
1
섹션 7-4 당뇨병
0
388
3





