전체 글 (179) 썸네일형 리스트형 뿌리 6년하고 반년 전에 어느 흙으로 작은 나무의 일부가 들어왔다. 사실 나무라기 보다는 작은 나뭇가지에 불과한 수준이었다. 나무는 뿌리도 깊게 내리지 못했지만 흙은 나무를 감싸주었다. 그렇게 나무와 흙은 매일을 함께했다. 비바람이 오면 나무는 금방이라도 흙을 떠날 것 같았다. 그럴수록 흙은 나무를 더욱 강하게 붙잡았다. 몇 번의 비바람도 견뎌내니 나무는 흙으로 뿌리를 내렸다. 그렇게 나무와 흙은 뿌리를 통해 서로를 강하게 붙잡았다. 어느 순간 부터는 비가 올 수록 흙과 나무는 더욱 가까워졌다. 흙은 나무에게 자리 뿐만 아니라 영양분도 내주었다. 흙이 가진 모든걸 다 내주었다. 나무도 흙을 믿고 더욱도 깊게 뿌리를 뻗었다. 비바람에 흙이 쓸려가지 않게 나무도 흙을 붙잡았다. 서로는 서로를 항상 붙잡고 있었다... 테스트 테스트 발행 게시물 [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.. [python error] plt.show() 해도 윈도우가 열리지 않는 경우 깃허브에 올라와있는 코드를 다루다가 시각화가 필요한 일이 있어 import matplotlib.pyplot as plt ''' code 주절주절 ''' plt.show() 를 실행했으나 에러가 발생한것도 아니고 그냥 plt 윈도우가 뜨지도 않고 코드가 수행되버리는 일이 발생했다. 결론부터 말하면 실행하면서 지나가는 코드 중 어딘가에 backend 모드를 활성화시키는 코드가 있는 것이다. 나 같은 경우에는 아래의 코드가 문제 원인이었다. import matplotlib matplotlib.use('Agg') 중요한것은 이 코드가 다루고 있는 .py 파일 안에 있지 않고 다른 파일에 있어도 backend 모드가 되어버리는 것이다. 물론 다른 모듈을 import 하는 과정에서 위 코드가 실행되었을 것이다. 어.. [pytorch] Pretrained model의 일부 weights만 가져오기 Pretrained model과 fine-tuning 할 모델의 구조가 다음과 같이 생겼다고 가정한다. 여기서 pretrained model의 backbone weights만 가져와서 학습하고 싶다면 코드를 어떻게 짜야할까? 별로 어렵지는 않지만 매번 새로 짜기 귀찮아서 과거에 내가 짰던 코드를 올려두고 계속 참고하고자 한다. 우선 pretrained model의 checkpoints를 불러와서 어떻게 생겼는지 확인해본다. state_dict = torch.load(args.resume_checkpoint, map_location=cpu_device) print(state_dict.keys())결과화면 (['backbone.0.weight', 'backbone.1.weight'.. 이전 1 2 3 4 ··· 23 다음