분류 전체보기
[TIL] Conda 가상환경 yaml 파일로 복제 & yaml로 가상환경 세팅하기
여러 코드베이스에서 작업을 하다보면 각자 요구하는 환경이 달라서, conda 가상환경을 여러개 만들어야할 때가 많다... 그래서 나도... 5개정도 가상환경을 플젝에 따라 맞춰놓고 사용하고 있었는데........................ㅎㅎ............ gpu 할당이 늘어나면서 도커가 리셋됐는지 가상환경이 싹 다 사라졌다 ^^................ 앞으로 이런 일이 없기 위해서 yaml 파일로 환경을 복사해놓고, 언제든 재현할 수 있게 만들어놓자! 방법은 다음과 같다. 그냥 환경을 activate 하고, export 하면 되는 것이다 ㅎㅎ >>> conda activate 가상환경 이름 >>> conda env export > environment.yaml (추가) 그리고 이렇제 저장..
[PyTorch] PyTorch Autograd 이젠 공부하자 - pytorch.autograd 총정리하기 (+code)
오늘은 평소 간과하고 넘어갔던 Pytorch의 Autograd에 대해 포스팅해보려고 합니다. 최근 backward 함수를 변형해야할 일이 있어서 여러가지를 시도해보다가 제가 정작 PyTorch를 잘 모르고 있다는 사실을 깨달아 버렸네요..ㅎㅎ !! Autograd를 이해하기 위한Background 부터 차근차근 정리해보도록 하겠습니다. :) Background # 순전파와 역전파 우리가 아는 신경망(Neural Network)은 흔히 순전파(Forward propagation)와 역전파(Backward Propagation)으로 나뉩니다. 각각의 역할은 다음과 같이 요약할 수 있겠습니다. - 순전파(Forward Propagation) : 모델이 input을 받아 prediction을 생산하는 부분 - ..
[MTL] GradNorm : Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks 논문 리뷰
오늘은 Multitask Learning(MTL) 분야의 논문인 GradNorm(2018, ICML)에 대해 리뷰해보려고합니다. 다소 오래 전에 발표되었지만 아직까지 MTL 분야에서 밴치마크 성능으로 자주 등장하는 논문입니다. 제가 이해한 바를 정리한 것이니 잘못된 점은 댓글 부탁드립니다! :D 1. Introduction # MTL과 Task Balancing 우리가 흔히 알고있는 딥러닝의 학습 체계는 Single-task learning(STL)이라고 할 수 있습니다. Multi-task learning의 방식은 딥러닝의 등장 전부터 존재했지만, 딥러닝이 등장하며 Single-task learning 학습체계는 Computer Vision 분야에서 인간을 능가하는 퍼포먼스를 보여주고 있습니다. 하지만..
[ObjDet] Pointcloud를 통한 3D Object Detection 관련 기본 개념 정리 ʕ•ᴥ•ʔ
오늘은 3D Object Detection 관련 알아둬야 할 기본 개념을 정리해보려고 합니다! 저도 공부하며 정리한 내용이라 많이 미숙할 수 있습니다 :) 주로 Point cloud를 활용한 3D Detection의 갈래에 대한 기본 개념이 정리되어 있습니다. PointCloud의 Input 표현 우선 PointCloud는 LiDAR에서 생성되는 다음과 같은 데이터 형태를 뜻합니다. 이러한 데이터의 Input은 주로 다음과 같이 $x$, $y$, $z$, $r$의 4개의 요소로 정의됩니다. 여기서 $x$, $y$, $z$는 각 point들의 3차원 좌표를 뜻하고, $r$은 LiDAR의 반사세기를 뜻합니다. 이러한 point 좌표 ( $x$, $y$, $z$, $r$ )의 상대위치를 계산할 때는 주로 $x..
[PyTorch] CUDA 11.2 + RTX3090에 맞는 torch version 세팅하기
Causal HTP 코드를 돌리는데 가상환경 세팅에 조금 애를 먹었다. 원인은 CUDA 버전과 torch 버전이 안맞아서,,,, ! 코드를 돌려도 model.cuda() 부분에 딜레이가 생기고 결국 epoch 진행이 되지 않았다. 결국 11.2에 맞는 torch version을 다음과 같이 설치해 해결하였다. # CUDA 11.0 $ pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html Reference https://sanglee325.github.io/environment/pytorch-cuda112/#problem
[백준] 캥거루 세마리2 (Python) - Greedy
# 문제 캥거루 세 마리가 사막에서 놀고 있다. 사막에는 수직선이 하나 있고, 캥거루는 서로 다른 한 좌표 위에 있다. 한 번 움직일 때, 바깥쪽의 두 캥거루 중 한 마리가 다른 두 캥거루 사이의 정수 좌표로 점프한다. 한 좌표 위에 있는 캥거루가 두 마리 이상일 수는 없다. 캥거루는 최대 몇 번 움직일 수 있을까? # 입출력 # Idea 이 문제의 가장 중요한 부분은 "최대 몇 번 움직일 수 있는지" 출력해야한다는 것! 이러한 조건 때문에 아래와 같은 만족해야할 두가지 필요충분조건이 생긴다. 1. 초기 위치 A, B, C 중에서 바깥 A, C 중 이동해야할 element를 정할 때는 A&B와 B&C 사이의 거리의 대소를 정해야한다. 2. 만약 A가 이동하기로 했다면, B와 C의 사이 중 B나 C의 바로..
[백준] 우유축제 (Python) - Greedy
# 문제 영학이는 딸기우유, 초코우유, 바나나우유를 좋아한다. 입맛이 매우 까다로운 영학이는 자신만의 우유를 마시는 규칙이 있다. 맨 처음에는 딸기우유를 한 팩 마신다. 딸기우유를 한 팩 마신 후에는 초코우유를 한 팩 마신다. 초코우유를 한 팩 마신 후에는 바나나우유를 한 팩 마신다. 바나나우유를 한 팩 마신 후에는 딸기우유를 한 팩 마신다. 영학이는 우유 축제가 열리고 있는 우유거리에 왔다. 우유 거리에는 우유 가게들이 일렬로 늘어서 있다. 영학이는 우유 거리의 시작부터 끝까지 걸으면서 우유를 사먹고자 한다. 각각의 우유 가게는 딸기, 초코, 바나나 중 한 종류의 우유만을 취급한다. 각각의 우유 가게 앞에서, 영학이는 우유를 사마시거나, 사마시지 않는다. 우유거리에는 사람이 많기 때문에 한 번 지나친 ..
[Trajectory prediction] Social-STGCNN (Spacial Temporal GCN, 2020) 논문 리뷰
오늘은 Trajectory prediction 분야에서 baseline으로 자주 쓰이는 Social- STGCNN에 대해 포스팅하려고 합니다(●'◡'●) 2020년 CVPR에 나온 논문이고, STGCNN 모델을 기반으로 하는 모델입니다. 역시 잘못된 부분이 있다면 댓글로 알려주시면 감사하겠습니다 🙋🏻♀️ Overall Architecture 우선 Social STGCNN의 이름에 GCN (Graph Convolution Net)이 들어가는 것처럼, 이 모델은 Graph Neural Net 기반의 모델입니다. Graph Neural Net (GNN)을 간단하게 요약하자면 data에서 graph 를 형성한 후, 그 graph의 node와 edge의 구성을 인접행렬(Adjacency matrix)로 표현하며..