Develop(8)
-
VSCode 유용한 Extension 목록
1. 특정 언어 및 IntelliSense 지원 C/C++: 정말 이건 없으면 복잡한 시스템 개발 못함... Python vscode-cudacpp etc... 2. 시각화 관련 Beautify Date & Time: 보통 맥에서 full-screen 모드로 작업해서 시간을 보려고 화면 넘기는 게 귀찮은데 우측하단에 날짜/시간을 보여줘서 좋음 Dracula Official: 가장 선호하는 theme color Highlight Line: 현재 커서가 놓인 라인이 아주 잘 보여서 꼭 필요! Indent-rainbow (눈 아퍼서 잘 안 쓰게 되는 듯) Resource Monitor: 배터리, CPU clock, memory 사용량 등 시스템 정보를 하단바에 항상 보여줘서 시스템 모니터링에 좋음. htop을..
2020.05.29 -
TensorFlow source 빌드 방법
텐서플로 internal source를 수정하고 컴파일하여 사용하고 싶은 경우엔 pip install을 통해서 설치하는 것이 아니라 source를 통해 빌드를 해서 사용해야 한다. https://www.tensorflow.org/install/source에 자세한 설명이 있지만 없는 내용을 포함해서 따로 정리를 해두려한다. # bazel 설치파일 다운로드 $ wget https://github.com/bazelbuild/bazel/releases/download/2.0.0/bazel-2.0.0-installer-linux-x86_64.sh # bazel 바이너리 파일이 설치될 폴더 생성 $ mkdir ~/bin $ echo export PATH=$HOME/bin:$PATH >> .zshrc # 패키지 종..
2020.04.14 -
Root 권한 없이 local에 CUDA 설치하기
Reference: https://stackoverflow.com/questions/39379792/install-cuda-without-root/51035145 공용 클러스터에서 작업을 하는 경우 system root에 설치된 CUDA와 현재 내가 필요한 버전의 CUDA가 일치하지 않을 수 있다. 이럴 경우에는 다음과 같이 로컬에 CUDA를 설치하고 환경변수 지정만 해주면 간단하게 해결할 수 있다. 1. 원하는 버전의 CUDA 다운로드 - CUDA 10.2: https://developer.nvidia.com/cuda-downloads CUDA Toolkit 10.2 Download × Join us for GTC Digital on Thursday, March 26th, where we will ho..
2020.04.06 -
ctypes를 통해 c++ array를 python list로 변환하기
float* makeArray(){ float *arr = malloc(2 * sizeof(double)); A[0] = 0.123; A[1] = 0.456; return arr; } 위와 같이 C 레벨에서 malloc을 통해서 메모리 공간에 할당 된 배열이 있을 때 이를 파이썬 리스트로 변환하려면 ctypes 라이브러리를 활용하면 된다. 파이썬 레벨로 올라가기 전에 C 레벨에서 미리 memory free를 위한 함수를 정의해준다. void freeptr(void *ptr) { free(ptr); } 만약에 위와 같은 함수들이 포함된 소스를 shared objective file로 컴파일 했다면 다음과 같이 사용할 수 있다. (만약 Cython을 사용하면 굳이 .so 파일을 만들 필요가 없다.) impo..
2020.03.01 -
PyTorch를 ONNX로 export하기
ONNX란? ONNX(Open Neural Network Exchange)는 그 이름에서 살펴 볼 수 있듯이, Tensorflow, PyTorch와 같은 서로 다른 DNN 프레임워크 환경에서 만들어진 모델들을 서로 호환되게 사용할 수 있도록 만들어진 공유 플랫폼이다. Tensorflow에서 어떤 모델을 만들고 이를 ONNX 그래프로 export를 하면, 이후에 PyTorch와 같은 다른 프레임워크에서도 그 모델을 import 하여 사용할 수 있다. ONNX의 장점을 정리하자면 다음 두 가지를 뽑을 수 있다. 1. Framework Interoperability 위에서 언급했다시피 특정 환경에서 생성된 모델을 다른 환경으로 import하여 자유롭게 사용을 할 수 있다는 것은 ONNX의 최대 강점이다. 예컨..
2020.02.08 -
[Linux/Mac] vim을 IDE처럼! zsh 설정부터 vim 플러그인 설정까지 총 정리
서버에 zsh 세팅과 vim 세팅을 하는 김에 쓰는 정리글이다. 아래의 스크린샷이 뒤에서 설명할 모든 설정을 완료하였을 때 보게될 최종적인 모습이다. tmux를 통해서 상하로 화면 분할을 한 상태이고 아래는 shell, 위는 vim 편집기를 보이고 있다. 이렇게 해놓고 작업하면 여타 IDE를 사용하는 것과 비슷한 느낌으로 작업이 가능하다. 전제조건 - 리눅스 / Mac - iTerm2 - zsh 1. Oh-My-Zsh (1) 설치 다음 둘 중 하나의 script 명령을 통해서 oh-my-zsh 다운로드를 받는다. $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 혹은 ..
2020.02.07