일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- allow_pickle
- 그래프란
- 데이콘 필사
- 추천시스템 입문
- 이코테
- 알고리즘
- BruteForchSearch
- paper review
- nan값
- 강의정리
- graph
- 나동빈
- 질문 정리
- 파이썬 머신러닝 완벽가이드 공부
- 소수 판정
- zerodivide
- 에스토스테네스의 체
- numpy
- #이코테2021
- 추천시스템
- 논문리뷰
- Graph Representation Learning
- 유클리드 호제법
- 수학
- 글또8기
- 백준
- CS224W
- BruteForceSearch
- 코테공부
- #나동빈
- Today
- Total
목록삽질 정리 노트 (4)
꾸준히 써보는 공부 기록
Pytorch Tensor 자료형을 .npy로 저장하고, 불러오고, Tensor로 다시 변형!! 그냥 자주 써서 정리해보았다 !! Tensor를 numpy로 변경 a_np = a.numpy( ) 이 때, tensor의 device type이 'cuda'이면 'cpu'로 바꿔줘야 한다. b_np = b.cpu( ).numpy( ) npy파일로 local에 저장 numpy 배열 'b'를 경로에 저장 np.save('/data/npy_file', b) npy파일 불러오기 np_load = np.load('/data/npy_file.npy') numpy Array⇒Tensor #device type이 'cuda'인 tensor 완성 result = torch.from_numpy(np_load).to('cuda'..
temp = np.load(PATH) print(tmp.files) for i in temp.files: print(temp[i]) object arrays cannot be loaded when allow_pickle=False 에러가 뜰 수 있다. numpy 1.16.3 버전에서는 np.load() parameter에 allow_pickle이 추가되어서 데이터를 불러오는데 오류가 생긴다. 해결 방법은 첫번째, 해당 allow_pickle을 True로 바꿔주어 사용하면 오류를 해결할 수 있었다고 한다. import numpy as np ## 먼저 기존의 np.load를 np_load_old에 저장해둠. np_load_old = np.load ## 기존의 parameter을 바꿔줌 np.load = la..
연구 진행 중에서 특정 dataset에 대해서만 Nan 값이 계속 발생하는 문제가 있었다. 이유를 찾기 위해서 디버깅을 하던 중 feature matrix의 1118번 element에서 문제가 있음을 발견했다. 0으로만 구성되어서 zero divide 문제가 발생한 것이었다. 기존 코드만 믿고 실행한 결과였다...예외처리의 중요함을 뼈저리게 느꼈다... 만약 이유 없이 Nan값이 뜬다면 input값이 layer를 통과하면서 값이 어떻게 바뀌는지 유심히 볼 것을 추천합니다... + 또는 learning rate를 조절해봅시다... zmax = z.max(dim=1, keepdim=True)[0] zmin = z.min(dim=1, keepdim=True)[0] z_std = (z - zmin) / (zma..

정말 사소하지만,,, 궁금해서 찾아봤던 내용이다. 연구를 하던 중에 Element-wise sum과 Concatenate가 어떤 차이가 있는지, 사용해야되는 상황이 어떻게 다른지에 대해 찾아보았다. 예를 들면, A,B,C가 각각 3000원, 2000원, 5000원을 가지고 있다. Add는 단순하게 총합이 10000원인 것을 의미한다. 위치에 대한 정보를 고려하지 않는다. Concat은 각각 A,B,C가 가진 돈의 위치가 그대로 보존한다. 즉, Concat은 추출된 feature의 본래 위치를 보존한다. 즉, Add는 A+B 일 때 더해지는 값 한 가지를 residual로 인식하고, Concat은 두 입력이 밀접하게 관련되어 있지 않을 때 사용하는 것이 자연스럽다.