전체 글
-
[논문 리뷰] Perceiver AR: general-purpose, long-context autoregressive generation ICML 2022Deep-learning 2022. 9. 27. 11:39
─ 들어가며 ─ Deep mind에서 이번 ICML에 나온 perceiver AR 논문 리뷰입니다. Transformer를 사용한 Autoregressive generation에서 매우 긴 길이에 대해서 memory efficient하게 좋은 성능을 내도록 개량한 모델입니다. Transformer는 sequence modeling을 굉장히 잘 하는 모델로 이미 소문이 나 있습니다. 다만, sequence 길이가 길어질수록 sequence 길이의 제곱에 비례하는 memory가 필요하다는 단점이 있습니다. 따라서, 긴 길이의 sequence modeling은 큰 기업에서나 넘볼 수 있는 수준이었고, 그것도 책 정도로 아주 긴 길이에서는 한번에 학습이 불가능하고 context를 임의로 나누는 것이 불가피하다고..
-
[논문 설명] Learnable Fourier Features for multi-dimensional spatial positional encoding 2Deep-learning 2022. 9. 5. 21:46
─ 들어가며 ─ Learnable Fourier Features for multi-dimensional spatial positional encoding 1 포스팅에서 계속됩니다. 수식: 1. 저자들이 제안하는 positional encoding이 뭐가 좋나요? + 성능을 높이기 위한 추가사항 ① continuous 위치 / Unseen 위치의 inference에서도 잘 동작한다. continuous 위치의 경우 예를 들면, train set에서 (2, 3) 위치와 (4, 5)위치는 등장하는데, discrete embedding에서는 $(PE_x(2) || PE_y(3))$과 $(PE_x(4) || PE_y(5))$ ($ || $는 concatenate)로 표현됩니다. 여기서 inference때, 만약 ..
-
날씨예보 API 접근법 및 파이썬 활용 코드Python 2022. 8. 16. 01:51
기상청에서는 공공 데이터 포털(https://www.data.go.kr/)을 통해서 많은 유용한 정보들을 제공하고 있습니다. 여기서 많은 데이터들을 openAPI로써 받아올 수 있는데요. 이번 포스팅에서 이 날씨예보 API를 1. 파이썬으로 얻어오고, 2. 간단한 응용 코드도 한 번 만들어보겠습니다. (파이썬 코드로 바로 보고싶으신 분은 인증키 부분만 확인하신 후 바로 4를 보시면 됩니다.) 1. 공공데이터포탈에서 초단기예보 접속 주의) 파일데이터와 openAPI는 다릅니다. CSV로 제공되는 파일 데이터가 아닌 XML / JSON으로 제공되는 openAPI를 선택해주세요. 필요한 것은 3가지입니다. 1. data.go.kr 포탈에 로그인합니다. 2. 기상청 단기예보 조회 서비스 API에 들어가서 활용신..
-
[이거 어떡하지] Tensor for ' ' is on CPU, Tensor for argument #1 is on CPU, but expected them to be on GPUPytorch 2022. 8. 3. 23:13
증상: GPU환경에서 pytorch로 학습하는데 모델 선언하고 학습하는 때에 제목과 같은 에러가 발생합니다. 아마 주로 RNN 계열을 학습시킬 때 자주 실수하실 부분이라 생각됩니다. 아래와 같은 문제가 발생했을 때 어떻게 하면 될까요? 이 에러가 무슨 말이냐면 1. model 입력은(tensor) CPU에 있는데 2. model은 GPU에 있어! 아마 RNN 계열을 학습시킬 때 hidden state 변수를 선언하실 때 실수하는 경우가 많아서(제가) 이 에러를 종종 보곤 합니다. 해결 방법 입력 tensor를 .to(device)나 .cuda()로 GPU에 올려주시면 됩니다.
-
[python] zip, enumerate: 영상으로 설명Python 2022. 8. 3. 22:49
0. 들어가며 zip(), enumerate() 파이썬에서 종종 등장하는 문법입니다. 프로그래밍이 익숙하지 않은 분들도 그렇고, 다른 언어를 써보신 분들도 파이썬을 처음 쓰는 사람들한테는 조금 어렵게 다가올 수 있습니다. C같은 low level문법을 쓰던 분들은 sizeof나 i를 이용한 indexing이 익숙한데 파이썬에서는 이런 것들을 쉽게 해준답시고 새로운 문법을 외우게 하고는 쉬운 문법이라고 포장하는게 아주 한대 쥐어박고 싶습니다 :) 1. zip() zip 함수는 여러 리스트(반복가능 객체)를 받아서 그 안의 아이템을 하나씩 꺼내줍니다. 사용 예) A = [1, 2, 3 ] B = ["q", "w", "e"] C = [10, 11, 12] for a, b, c in zip(A, B, C): p..
-
코딩 테스트 - 재귀함수의 함정(+영상 설명)Python 2022. 8. 3. 22:23
0. 들어가며 재귀함수의 개념이 익숙한 분들은 코딩테스트에서 잘 사용하시는 분들이 많을 겁니다. 1. 코드가 직관적이어보이는 장점도 있고 2. 내가 생각한 수식/알고리즘을 곧잘 표현하기 아주 좋은 방식이기 때문입니다. 하지만 코테 연습 사이트(programmers에서나 leetcode같은 곳)에서는 재귀함수를 썼을 때 모든 test case를 만족하지 못하는 경우가 있습니다. 왜 재귀함수는 코테에 적합하지 않을까요? 1. 문제는 stack memory 재귀함수의 문제를 아시려면 먼저 프로그램이 실행될 때의 메모리 공간이 heap 메모리 stack 메모리 둘로 나뉘어져 있다는 것을 아셔야 합니다. heap tree의 heap이나, queue/stack의 stack과는 전혀 관련없는 내용입니다. heap 메..
-
[논문 요약]OEPG와 PAC Net - ICML 2022 accepted papersDeep-learning 2022. 7. 12. 23:32
해석과 추측(붉은색 bold체로 표시)을 구별하여 읽을 것을 권함 주의) Abstract와 conclusion, 그리고 experiment 결과 부분을 해석하여 contribution 정도만 정리함 1. Omni-granular Ego-semantic Propagation for self-supervised Graph representation learning Ling Yang (Peking University) · Shenda Hong (Peking University) 요약(abstract 내용): ① Unsupervised나 self-supervised로 graph representation learning을 수행 후(pretraining) ② Downstream task로 node-level 혹은..
-
[python] 파일 목록 얻는 방법 - 영상 설명 (glob / os.walk)Python 2022. 4. 9. 17:44
들어가며: 데이터 사이언티스트나, 로그 관리할 때 등등 관리하고 있는 폴더 안의 파일 목록을 얻어야할 경우가 많습니다. 파일 이름의 규칙을 알고 있다면 그 규칙에 따라서 문자열 리스트를 만들면 됩니다만.. 파일 이름 규칙은 모르는 상태에서 그냥 폴더 안의 모든 파일 목록을 가져오고 싶을 수도 있습니다. 폴더 안의 파일 목록을 얻어오려면 어떻게 해야 할까요? 영상 설명은 포스트 맨 아래를 확인해주세요. 코드 설명: 코드는 Codes 폴더에 있고, files_ 폴더 안에 있는 파일 목록을 얻고 싶은 상황입니다. 아래 code는 files_ 폴더 안의 모든 파일명을 가져오는 코드입니다. from glob import glob file_list = glob("files_/*") print(file_list) [..