본문 바로가기

전체 글

(181)
정신적 피로는 나를 어떻게 만드나 정신적 피로는 사람을 게으르게 만든다. 정신적 피로와 육체적 피로가 다르다는 것을 머리로는 인지하고 싶지만 움직이고 싶지 않다. 운동하러 나가야한다는 걸 인지하고 있지만 쉬고 싶다. 문제는 이런 일상이 반복되면 무기력한 사람으로 변할지도 모른다는 점이다. 이 시점에서는 무기력해지지 않기 위한 방법이 2가지 떠오른다.그럼 정신적 피로가 쌓이기 전에 하던 일을 멈추고 나온다. 그리고 운동한다.아침에 일찍 일어나서 운동부터 한다.
좋은 실험을 하려면 실험은 문제를 해결하기 위한 방향이어야지, 더 나은 성능을 위한 방향이어선 안된다.예를 들어서, "모델을 이렇게 만들면 더 좋아질 것 같은데?" 라는 생각만으로 실험한다면, 실험을 멈추고 현 모델의 문제점에 대해서 생각해봐야 한다."현재 모델은 이런 문제가 있으니까, 해결하기 위해 이런 실험을 해야겠다" 가 되어야 좋은 실험이다.혹은 "현재 모델이 이런 문제가 있는것 같으니까, 저런 실험을 해서 확인해 봐야겠다" 같은 실험을 해야한다.
실험/연구를 잘 하려면 실험은 성공적인 모델로부터 하나 하나 살을 붙여가는 방식으로 설계되어야 한다. 하나씩 붙일 때마다 실험에서 어떤 결과가 나오는지 살펴보아야 한다.중간 결과물도 시각화 해봐야 한다. 최종 출력물을 기반으로한 정량적, 정성적 결과 확인만 하고 넘어가는건 하수이다. 그건 누구나 할 수 있다. 어디에서 문제가 생기는 건지 알려면 모델을 뜯어봐야 한다. 내가 원하는 결과가 어디서 부터 안나오고 있는지 파악해야 한다.실험 결과가 나올 때마다 "왜" 이런 결과가 나왔는가를 생각해보고 대답해야한다. 왜 "왜"라는 질문을 던져야할까? 그건 다음 실험의 방향을 찾기 위해서다. 예를 들어서 만약 "왜 이런 실험 결과가 나왔을까?" 라는 질문의 대답이 overfitting 이라면 다음 실험으로는 overfitting 을 방지..
고통에서 빠르게 벗어나는 방법 삶을 살다보니 의도하든 의도하지 않든 고통의 순간들이 찾아오더라. 자잘한 고통도 있지만 내 몸과 마음을 무너뜨릴만큼 큰 고통도 찾아온다. 이런 고통에서 벗어나는 방법은 개인마다 다를 것이다. 하지만 내가 고통으로부터 벗어날 수 있게 도와준 방법이 과거에 있었다면, 그 방법은 현재와 미래의 나에게도 효과가 있을 것이라고 강하게 믿는다. 나는 나를 믿고, 내가 만든 시스템을 믿기 때문에 그 시스템을 기록한다. 운동해라. 가벼운 산책정도로는 안된다. 깔릴 정도로 타이트하게 스케쥴링된 중량운동이나 숨이 턱 끝까지 차오를 정도의 조깅정도는 되야한다.혼자 있는것에 익숙해져라. 누군가한테 연락이 왔나 기대하고 핸드폰을 자주 들춰보게되면 정신이 산만해진다. 그 만큼 무언가에 집중하기 어려워지고, 이는 나로하여금 만족..
[Ubuntu] 우분투 용량 정리, /var/log 정리 외장하드에 있는 데이터들을 지우고 있는데, 갑자기 로컬 우분투의 용량이 0이 됐다.컴퓨터를 잘 몰라서 이해할 수는 없지만 어쨋든 찾아보니 /var/log 디렉토리가 문제더라. 내 경우에는 300GB넘었음.찾아보니 이 디렉토리는 함부로 지우면 안된다고 해서 뭐가 용량을 많이 차지하는지 일단 좀 찾아봄.내가 평소에 많이 사용하던 'du -ch ./ | sort -h | tail -20' 명령어로는 숨겨진 파일들의 용량이 안보이더라. 그래서 아래의 명령어를 사용해서 용량 확인함.sudo du -cha /var/log | sort -h | tail -100일단 다른 블로거들 따라서 몇개 지웠음 (사실 지워도 되는지 잘 모르겠다).sudo rm kern.logsudo rm messagessudo rm syslog..
[pytorch] model 학습 중 nan이 뜨는 원인2 예전 포스팅 중 model 학습 중 nan 이 뜨는 원인에 대해서 포스팅한 적이 있다. 이는 너무 작은 숫자로 나누는 경우에 발생하는 경우를 다루었었다. [https://powerofsummary.tistory.com/165] 하지만 이번에는 그게 아닌데도 nan이 뜨는 경우를 발견했다. 결론부터 말하면 lr가 너무 크면 nan이 발생할 수 있다고 한다. 나는 어떤 실험을 위해서 lr=0.1 로 설정했었는데, 이게 원인이 된 것 같다. lr: 0.1->0.01 로 줄였더니 nan이 안뜨더라.
[pytorch] Loading pretrained weight 가 제대로 됐는지 확인하는 법 이미 이 블로그에는 pretrained weight 가 제대로 불렸는지 확인하는 예시코드를 올린적 있다. [https://powerofsummary.tistory.com/277] 하지만 기존에 올렸던 포스팅에서는 weights를 그대로 출력해서 그냥 눈으로 숫자들을 하나하나 확인해야만 하는 코드였다. 근데 그것마저도 너무 귀찮아서 그냥 쪼금 더 세련된 코드를 올려서 내가 나중에 다시 써먹으려고 한다. (매우 세련된 코드는 아님;) 2개의 code 를 추가해야하는데, 각각 pretrained weight 를 가져오는 코드의 앞 뒤에 붙여준다. 코드는 아래와 같다. # For checking loaded pretrained weight1 weight_dict = {} for i, (name, param) i..
[torch error] off-the-shelf 모델을 이식했는데 pretrained model 이 잘 동작하지 않을때 off-the-shelf 모델을 내 프로젝트에 이식했는데 돌아가기는 하지만 이식된 모델이 이상한 output 을 내보낼때가 있다. 이 때, 내가 무슨 실수를 한건지를 빠르게 되짚기 위해 디버깅 매뉴얼을 남기고자 한다. 1. 모델이 pretrained weight 를 잘 load 하는지 확인해본다. 2. 이미지가 제대로 load 되고 normalized image 를 입력하고 있는지 확인한다. 그리고 이 normalizing 방법은 off-the-shelf 모델이 학습에서 사용된 방법대로 적용되어야 한다. 3. model.eval() 했는지 확인한다. 4. 사실 모델은 잘 동작했는데 내가 시각화를 잘못한게 아닌지 확인한다. 예를 들어 출력된 mesh를 렌더링해서 확인하는 경우가 있다. 이럴 때 vertex..