Python5 PyTorch module forward() 와 특수 매소드 __call__() 비교 https://ysy2000.tistory.com/117에서 잠깐 특수 매소드에 대해 언급했다. 특수메소드는 built-in function이라고 보면 된다. 그 중에서 __call__ 메소드를 정의하면 f = Function() 형대로 함수의 인스턴스를 변수 f에 대입하고, 나중에 f(...) 형태로 __call__매소드를 호출할 수 있다. 그런데 https://github.com/clovaai/ClovaCall 의 코드를 리뷰하던 중 마치 __call__()을 호출하듯 forward()매소드를 호출하는 것을 볼 수 있었다. model = Seq2Seq(enc, dec) logit = model(feats, feat_lengths, scripts, teacher_forcing_ratio=0) 첫 문장에.. 2022. 7. 12. python size function github에서 LAS를 구현한 코드를 보다가 아래 코드를 발견했다. seq_lengths = [s[0].size(1) for s in batch] size()함수는 tensor의 크기나 array의 크기를 알 수 있는 함수다. 그런데 size(1)이라고 1이라는 인자가 입력으로 들어가는 것을 볼 수 있다. 나는 이런걸 처음 봐서 한참을 헤매었는데, 공식문서는 아니지만 아래 페이지에서 답을 찾을 수 있었다. 바로 axis, 즉 축 번호를 나타낸다. 0을 넣으면 행 크기, 1을 넣으면 열 크기, 더 큰 수는 고차원의 축에 대해 크기를 반환해 준다. 참고: https://www.geeksforgeeks.org/numpy-size-function-python/ Numpy size() function | Pyt.. 2022. 6. 23. [Error 해결] KeyError: '4' 평소와 같이 코딩테스트를 하다가 아래와 같은 에러를 마주쳤다. KeyError:'4' dictionary1이라는 dictionary에서 key_one이라는 key값과 value값을 지우려면 두가지 방법이 있다. 1. del()사용하기 del(dictionary1['key_one']) 2. pop()사용하기 dictionary1.pop('key_one') pop을 사용하면 삭제와 동시에 삭제된 값을 반환한다. 이유는 잘 모르겠지만 해당 에러가 떴을 때는 pop부분을 del()함수로 바꿔주면 해결된다! 2022. 6. 10. [Anaconda] 가상환경을 사용해보자. 1. 가상환경이 필요한 이유 이것 하나로도 포스팅 하나를 만들 수 있지만 간단히 말하자면!! 가상환경을 만들어 작업을 하게 되면 한마디로 프로젝트 단위의 평행우주를 만드는 것과 같다. 특정 버전으로 설정한 라이브러리로 독립적인 작업환경에서 작업할 수 있어서 버전 간 호환성 문제로부터 자유로워진다. 내 입맛에 맞는 작업환경을 가지게 되는 것이다. 2. 아나콘다 다운로드 https://www.anaconda.com/products/distribution 위 사이트에서 간단하게 다운로드 받았다. 딱히 다른거 실행 안하고 바로 vscode로 온다. 3. Interpreter 설정 여기서 python이랑 code runner설치해줌. 여기서부터 진짜 중요한데 사람들이 많이 놓치기 때문이다. ctrl + shifh.. 2022. 4. 4. [오류해결] numpy 복소수 실수하기 쉬운 점 new_furier_data = spectrum*np.exp(-1j*np.pi*phase) 복소수 쓸 때 j앞에 1을 꼭 붙여야 한다. i 아니고 j인 것도 조심. Semantic error라서 제대로 돌아가는 척 해서 더 찾기 힘든 오류다. 2022. 2. 22. 이전 1 다음 반응형