본문 바로가기

A. Development6

Python Function Result Caching by Joblib.Memory Joblib.MemoryMemory를 이용하면 어떤 함수의 return 되는 output을 지정된 디렉토리에 저장해둔다. 그리고 해당 함수를 다시 호출할 경우, 미리 계산해둔 output을 가져와서 로딩을 하게 된다. 그리고 해당 cache는 사용자가 임의로 삭제하지 않으면 계속 유지되며, 다른 프로세스에서도 접근 가능하다고 한다.(확인 필요) 즉 이는 함수의 연산 결과를 하드디스크에 캐싱해두는 방식으로 볼 수 있다. 사용법은 매우 간단하여 아래와 같다. 내가 정의한 함수를 cache()에 전달하여 다시 사용하는 것이다. 이 방식은 output이 pkl로 저장된다. if cache: extract_feature = Memory("./cache", verbose=0).cache(extract_feature.. 2020. 7. 24.
Git LFS (Large File Storage) 사용하기 Git의 용량제한과 LFS기본적으로 git은 여러개의 작은 소스코드 파일들을 위한 버전 컨트롤 시스템(VCS)이다. 따라서 Github의 경우 50Mb부터 Warning이 표시되고, 100Mb부터는 push시 Error가 발생한다. 그럼에도 불구하고 경우에 따라서 반드시 대용량 파일을 git repo에 포함시켜야하는 상황이 존재할 수 있다(예를 들면 학습된 모델파라미터를 올려야할 때). 이러한 경우에 사용할 수 있는 해결책인 Git LFS(Large File Storage)을 소개한다. git lfs가 정상적으로 적용된 경우, 아주 큰 파일에 대해서도 git push와 pull이 가능해진다. 기본적인 사용방법은 다음 블로그에서 가져왔다.https://leimao.github.io/blog/Git-Larg.. 2020. 3. 30.
효율적인 ML 프로젝트 개발 환경: Sublime과 Pycharm 필수 규칙1. 무조건 editor가 아닌 IDE를 사용해야한다.pycharm을 쓸 때랑 sublimetext를 사용할 때의 생산성 차이는 압도적이다.(특히 refactor) 1. 무조건 local에서 바로 실행할 수 있어야한다.즉시 응답하는 빠른 run이 가능해야만 손쉽게 디버깅을 할 수 있다. local run은 단순히 pytorch cpu에서 실행해도 전혀 상관이 없다.서버에서 실행해야하는 경우도 가능하면 toy환경을 local로 가져오는 것이 좋고, 그마저도 힘들다면 sftp를 이용해서 remote의 코드를 pycharm으로 수정하도록 한다.기계학습의 경우 데이터의 아주 일부분이라도 프로젝트에 내장시켜서 local run이 가능하게 해야한다. 1. 내가 사용하는 환경을 docker로 한번 감싼다.그.. 2020. 1. 17.
Pytorch 개발 팁 Pytorch 설치하기Pytorch를 설치하는 가장 간편한 방법은 conda를 이용하는 것이다. conda의 설치 및 사용 방법은 다음을 참조하길 바란다.conda가 이미 있다면 아래의 명령을 실행하면 최신 버전의 pytorch가 설치된다. 이때 -c 옵션을 주는 것이 중요하다. 이는 pytorch채널에서 해당 라이브러리를 탐색하여 설치한다는 의미이다. 다른 pytorch 버전을 설치하고자하면, 공식 홈페이지를 참조하자. conda install pytorch -c pytorch Tensorboard로 graph그리기TF의 tensorboard를 pytorch에서도 그대로 쓸 수 있다. SummaryWriter에 필요한 정보를 add하여 쉽게 그래프를 그릴 수 있다.https://pytorch.org/d.. 2020. 1. 16.
연구용 파이썬 에디터 찾기 : IPython, Notepad++, PyCharm, Atom, Sublime Text 3 서버에 있는 python 코딩을 IPython으로만하다가 한계를 느끼고 PyCharm을 도입하기로 했다. 우선 IPython을 사용해서 웹으로만 하면, 스크립트 코딩시 찾기 기능이 잘 안되고, 한번에 이름을 못바꾸고, 탭키 사용이 제한적인 등 많은 불편함이 있다. Notepad++의 경우 직관적이고 쉬운 사용법이 강점이지만 체계적인 프로젝트 관리와 ssh를 직접실행할 수 없는 단점이 있다. 이에 PyCharm의 경우 제대로 설정만 한 번 해놓으면 거의 모든 작업을 다 할수가 있다. 1) PyCharm 유료/무료 : 유료버젼의 경우 가격이 1년에 90달러로 상당히 비싸다. 그리고 유료(Professional)버전을 사용해야만 원격 서버에 있는 파이썬 코딩을 할 수 있기 때문에 반드시 필요하다. https:.. 2016. 11. 29.
Git 사용방법 # git을 공부하기에 좋은 최적의 입문 자료 https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC%EB%9E%80%3F# Git의 기본 매커니즘. 아래의 그림이 전체 아키텍처를 전부 설명해준다. git은 svn과 달리 local repo와 remote repo가 구분되어 있어서 매우 편리한 분산 버전 관리 시스템이다.# 일단 git commit으로 로컬에 저장해놓은 데이터는 완벽히 보존된다! 내가 겪은 버그는 ipython의 자동저장기능 때문에, git checkout으로 이동 중 과거에 켜둔 웹이 최신버전에 자동저장되면서 마치 데이터가 사라진것 처럼 보이는 현상이었음.. 2014. 5. 7.