전체 글 (182) 썸네일형 리스트형 [Error 기록] RuntimeError: CUDA out of memory. Tried to allocate 2.39 GiB (GPU 0; 10.92 GiB total capacity; 4.87 GiB already allocated; 2.05 GiB free; 7.54 GiB reserved in total by PyTorch) 원인 : GPU가 한번에 감당하는 연산이 너무 많아서? 인것같다 해결책(from stack overflow) : batch사이즈를 줄이면 해결이 된다고 한다. 특히 나는 eval_net에서 문제가 생긴다. eval에서 마지막에 한번에 ypreds를 다루는 부분에서 문제가 생기는데, 이 부분은 batch단위로 데이터를 다루는게 아니라 test데이터를 모두 한꺼번에 처리하는데 이 때 GPU가 감당할 수 있는 양을 넘은 것으로 보인다. 위 코드의 ypreds부분에 에러가 생긴다. ypreds.append(y_preds)로 데이터를 모아둔 후 torch.cat으로 한번에 처리하기엔 GPU가 감당할 수 있는 데이터용량을 넘긴것 같다. [python] class 기본 메서드 __init__, __getitem__ __init__, __getitem__은 기본적으로 class에 내장되어 있는 메서드로써 호출되는 방식이 다른 일반 메서드와는 다르게 정해져있다. __init__은 클래스를 생성할 때 실행되는 생성자이다. __getitem__은 클래스의 인덱스에 접근할 때 자동으로 호출되는 메서드이다. 위 예시를 보면 a = TEST()에서 생성자가 호출된것을 알 수 있고 a라는 객체에 인덱스접근할 때(a[3], a[4], a[5])마다 '__getitem__메서드 호출' 이 출력되는걸 보아 __getitem__메서드가 호출되는 것을 알 수 있다. 이 두 메서드를 보면 다른 __(???)__ 꼴의 메서드들도 매개인자로 호출이 아닌, 정해진 방식대로 호출하면 동작할 것이라는 것을 예상할 수 있다. [github] pull 명령어 사용하기 git pull 사용법 git pull git pull origin mastser 이 때 pull은 merge방식과 rebase방식이 있다. merge방식은 알다시피 local의 내 코드와 원격저장소내의 코드를 자동으로 합쳐주면서 pull하는 기능이다. rebase방식은 다음에 설명을... 참고 사이트 : victorydntmd.tistory.com/74 [github] git remote 설명, repository 생성 후 원격 저장소에 올리기 로컬 저장소를 원격저장소에 연결하는법 git remote는 원격저장소를 관리할 수 있는 명령어 입니다. git remote add origin https://github.com//로 origin이라는 이름으로 원격 저장소 주소를 등록합니다. ------------ 23.07.13.목 수정 repository 생성 후 원격 저장소에 올리기 git remote 를 사용하는 경우 : 새로운 레포를 생성하고, 이 내용을 원격에 올리고 싶을때 사용할 수 있다. 물론 이 경우 외에 다른 경우도 있을듯.. 아래는 로컬에서 새로운 레포 생성 후 원격에 올리는 과정이다. 로컬에서 레포지토리를 생성 후 커밋한다. # 깃 생성 git init # 레포지토리에 파일 추가 ''' blah blah blah ''' # 커밋 gi.. [github] branch 관리하기 branch 통합하기 (Fast-forward) git에서 origin/main 에서만 issue들을 commit하다가 origin/main의 끝단에서 branch를 파게됐다. 이 branch 이름을 "visualize"라고 하자. visualize branch에서 작업하던것을 origin/main으로 다시 병합해서 origin/main 하나만 관리하고 싶을 때는 다음과 같은 명령어를 이용하면 된다. git checkout main # main 으로 HEAD 이동 git merge visualize Fast-forward 라는 결과문구와 함께 과정이 수행되는 것을 볼 수 있다. Fast-forward 란 단순히 최근 branch가 과거 branch에서 파생됐을 뿐이고 복잡한 병합과정 없이 이 둘을 하나의.. [github] add, commit 명령어 만든 파일을 수정할 때: gedit 현재 stage상태 확인(add되어있나, commit했나, push했나 여부 확인용) git status git add할 때(stage에 올린다.) git add git commit할 때(commit할 때는 comment를 달아서 올린다.) git commit -m "" [github] repository생성 git login : git config --global user.name "" git config --global user.email "" 내가 설정한 git setting을 보고싶을 때 : git config --list 레포지토리 만들고 싶을 때: mkdir cd / git clone 내 레포지토리 안에 파일 만들 때: touch 만든 파일을 수정할 때: gedit [github] 특정 branch로 push하기 push명령어 이해 git push 이 때 일반적으로 원격저장소의 이름은 기본적으로 origin이라고 저장되므로 다음과 같이 사용할 수 있다. git push origin master origin이라는 원격저장소의 master branch안으로 내 코드를 push한다.(push하기전에 내 코드는 commit되어있어야 한다.) 그런데 위 명령어를 입력해도 push가 안되는 경우가 있다. 아래의 메세지가 뜨면서 말이다. error: src refspec master does not match any. error: 레퍼런스를 'https://github.com/asw91666/metro.git'에 푸시하는데 실패했습니다 이런 경우는 왜 생기는지 모르겠지만 그냥 다음과 같이 명령어를 간소화 시키면 잘 동작한다... 이전 1 ··· 9 10 11 12 13 14 15 ··· 23 다음