반응형
pytorch로 rnn 텍스트 생성모델 만들기 도전을 하고 있는데,
임베딩 레이어에서 index out of range in self 이런 에러가 발생하였다.
예제랑 똑같이했다고 생각했는데 왜 이런 에러가 발생할까.... 인덱스? 잘 맞는데.. 왜 그럴까..
하고 검색을 해봤는데난 바보로 결론이 났다^^..
vocab을 만들 때, 텍스트의 길이를 맞추기 위해 padding을 후반에 넣어주었다.
이때, 이미 start_code와 end_code를 0,1번에 사용하고 있어 괜찮겠지 싶어 -1 값으로 패딩값을 넣어주었다..
[0,3,3,7,-1,-1,-1,-1,-1,-1-1,-1,-1,-1]
이러니 당연히 안되지... 귀찮음을 피하려다가 오히려 망하는 지름길로 향했다. ^^...
정확하게 코드를 뜯어보지 않아서 무엇이 원인인지는 모르겠지만 아마 어떠한 값을 줄 때 0번부터 시작하는거 같은데 내가 범위를 벗어나는 -1 값을 넣는 바람에 그렇게 된 것같다.. 가중치 값이 그런걸까..? 코드를 뜯어봐야겠다.
무튼. -1 값 말고, 0 이상의 값으로 다시 주니 원하는 결과로 잘 출력이 되었다.
output = model(dataset.x_data).to(device)
print(output)
# 결과
tensor([[-0.0865, 0.0090, 0.1554, ..., -0.1185, -0.2247, 0.1879],
[ 0.0419, -0.0886, -0.0320, ..., -0.2482, -0.1532, 0.0439],
[ 0.0389, -0.0676, -0.0442, ..., -0.1716, -0.2299, 0.1758],
...,
[-0.0708, 0.0619, -0.0006, ..., -0.0811, -0.1715, 0.2274],
[-0.0693, -0.1232, 0.1138, ..., 0.0042, 0.1251, 0.0775],
[-0.0790, -0.0164, 0.1349, ..., -0.0657, 0.0292, 0.1004]],
device='cuda:0', grad_fn=<ToCopyBackward0>)
오백년만에 쓰는 개발일기.. 에러로 다시 시작^^^^^
쉬운 에러지만 나같은 쌩초보같은 사람은 정리 안하면 또 까먹겠지..^^.. 난 나를 너무 잘 안다.. ^^..
반응형
'개발 일기 > Pytorch' 카테고리의 다른 글
[Skorch] pytorch에 GirdSearchCV 적용하기 (0) | 2023.07.06 |
---|
댓글