Setting Tips
scp 전송 및 다운로드
local to remote scp -r [전송할 디렉토리] -p [포트번호] [원격 컴퓨터 이름]@[호스트 주소]:[전송될 디렉토리 주소] remote to local scp -r -p [포트번호] [원격 컴퓨터 이름]@[호스트 주소]:[전송할 디렉토리] [전송될 디렉토리 주소]
Github에서 markdown 클릭 숨기는 법
https://gist.github.com/joyrexus/16041f2426450e73f5df9391f7f7ae5f 혹시 노션에 있는 클릭 숨기는 방법을 github 마크다운에서 사용할 수는 없나 싶어 찾아봤는데 있었다. 귀찮은 사람들은 요 아래 코드를 복사해가면 된다. CLICK ME #### yes, even hidden code blocks! ```python print("hello world!") ```
update-alternatives
clang 같은 여러 버전의 패키지를 관리하기 위해선 어떻게 해야할까? [!] 해당 글은 자꾸 필자가 해당 명령어를 잊어서 작성한 글입니다 1. 등록하기 sudo update-alternatives --install # ex sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-7 10 2. 제거하기 sudo update-alternatives --remove # ex sudo update-alternatives --remove clang /usr/bin/clang-7 3. 변경 및 목록 확인 sudo update-alternatives --config # ex sudo update-alternatives --config clang..
psutil 사용해서 특정 cpu에 python 스크립트 할당하기
어떻게 특정 cpu를 할당할 수 있을까? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 >>> import psutil >>> psutil.cpu_count() 4 >>> p = psutil.Process() >>> p.cpu_affinity() # get [0, 1, 2, 3] >>> p.cpu_affinity([0]) # set; from now on, process will run on CPU #0 only >>> p.cpu_affinity() [0] >>> >>> # reset affinity against all CPUs >>> all_cpus = list(range(psutil.cpu_count())) >>> p.cpu_affinity(all_cpus) >>> Colored by ..

command line으로 sweep 실행하기
sweep… .. 이녀석은.. 하이퍼 파라미터를 조정하는데 있어 최고의 도구다. 그동안 직접 손으로 돌렸다는 사실이 한탄스러울 정도. 다들 꼭 한번씩 쓰고 필자처럼 광명을 찾길 바라며… 기존 wandb sweep을 사용하는 튜토리얼은 jupyter notebook 기반으로 구성되어 있다. [튜토리얼 링크] Organizing_Hyperparameter_Sweeps_in_PyTorch_with_W&B.ipynb Run, share, and edit Python notebooks colab.research.google.com 하지만… 필자는 jupyter notebook은 왠지 손맛(?)이 느껴지지 않아서 그런지 command line으로 스크립트를 실행하고 싶었는데.. 위의 튜토리얼에서는 command l..

wandb 사용하기
아직도 tensorboard를 쓰고 있는가? 물론 tensorboard도 충분히 좋은 모니터링 툴이고 파이토치에서도 사용할 수 있으나.. 필자는 이상하게 텐서보드가 너무 불편해서 사용하기가 꺼려졌다. 그러다 AI Tech에서 알게된 엄청나게 유용한 툴이 바로 Wandb. Wandb를 사용하면 팀끼리 실험도 가능하고 여튼 실험 관리가 엄청나게 편해진다. 오늘은 이 유용한 모니터링 툴, Wandb를 설정하는 방법을 소개하고자 한다. wandb 홈페이지에 들어가서 회원가입을 한다. pip 명령어로 wandb 라이브러리 설치 pip install wandb wandb login 명령어로 1번에서 설정한 아이디와 패스워드를 기입하여 로그인한다! Successfully logged in to Weights & Bi..

맥 터미널 내 code 명령어로 vs code 여는 방법
1. ctrl + shift + P 를 사용하여 커맨드 팔레트를 연다. 2. shell command: Install 'code' command in PATH 명령어를 찾아서 실행 3. 터미널을 재시작한다. 4. vscode를 열고싶은 위치에서 code 명령어를 입력한다.

그래픽카드 변경으로 인한 pytorch, CUDA 버전 비매칭 이슈 해결하기
본 방법은 titan V에서 3090으로 바꾸었을 때 생겼던 이슈를 다루고 있다. 참고하시길 RuntimeError: CUDA error: no kernel image is available for execution on the device 만일 이전에 환경을 구축한 상태에서 그래픽카드를 변경했다면 위의 이슈를 만날 확률이 높다. 이와 같은 문제가 발생하는 원인은 첫 번째로는 compute capacity가 맞지 않아서 생길 확률이 높고, 두번째는 cudatoolkit 버전이 맞지 않아 생기는 이슈인듯 하다. GPU 변경으로 인한 pytorch, CUDA 버전 비매칭 이슈 해결 (새롭게 conda env 환경을 생성하는 것을 추천한다. ) 1. GPU compute capacity를 맞춰주자. https..

vscode liveshare로 원격 코딩하기
어떻게 하면 실험컴에 대한 원격 코딩을 편하게 할 수 있을까.. 깃헙으로도 써보고 SSH도 써보고 온갖걸 시도해봤지만.. 바로바로 실행하기엔 liveshare만한 게 없다는 결론을 내렸다. 심지어 사용방법도 쉽다. 양쪽의 컴퓨터에 vscode를 설치한 후, liveshare extensions를 설치하면 끝! live share 탭을 클릭하면 share버튼과 join 버튼이 보일 것이다. 원격으로 사용할 컴퓨터(실험컴)가 share 버튼을 누르면 링크를 복사해주며, 원격 연결을 할 컴퓨터는 join 버튼을 누르면 링크를 넣을 수 있는 입력란이 나온다. 입력란에 링크를 넣고 엔터만 치면 당신은 쉽게 원격 코딩이 가능하다. - 중간중간에 끊어지는 현상이 있긴 하니.. 크롬데스크탑과 함께 사용하길 권한다.
Conda 가상환경 설정 옮길 때 팁
conda 가상환경 세팅에 따라 되던 코드도 안되곤 한다. 내가 구현했던 가상환경을 다른 컴퓨터에 동일하게 세팅할 수는 없을까? 다행히도.. 아나콘다의 가상환경 정보를 export하는 방법이 있다. 그것도 아주 간단하다. 아래의 명령어만 적어주면 깔끔하게 export 가능! conda env export --no-builds | grep -v “prefix” > environment.yml 타 컴퓨터에서 가상환경을 설치할 때는 다음과 같은 명령어를 작성해주자. conda env create -n envname --file environment.yml

공유기 IP 고정하기
공유기로 인터넷을 연결할 때는 유동 IP로 두는 것이 일반적이지만 공유기 IP 고정이 필요할 때가 있어 공유기 내 IP를 고정 설정하는 방법을 공유한다. 해당 방법은 Ubuntu 20.04 버전이니 참고하길 바란다. 1. Ubuntu 20.04에서 settings에 들어가면 Network 설정 탭이 보인다. 클릭하자. 2. Ethernet에서 톱니바퀴 모양 버튼을 클릭하면 네트워크를 manual하게 설정할 수 있다. 3. 톱니바퀴 버튼을 클릭하면 나오는 wired 창이다. Details 탭에서 IPv4를 잘 기억해놓자. 4. IPv4 탭에 들어가면 설정이 Automatic(DHCP)으로 되어있을 텐데.. 이를 Manual로 바꾸고 다음과 같이 변경해주자. 이때 Address는 3번에서 기억해두었던 IPv..

외부에서 서버와 SSH를 통해 visual studio code 원격 연결하기
원래는 git으로 코드를 작성하고 서버에서 받아 실험하는 구조를 사용하였으나... 짜잘한 수정 후 계속 push하는 방안은 불편하다고 여겨졌다.. 불편하기도 하고.. 미루고 미루다 바로바로 실험 코드를 작성하고 실행할 원격 개발 환경을 구축해놓으면 좋겠다 싶어 vscode로 원격 개발을 시도해보았다. 미리 언급하자면..만일 학교나 회사에 있는 서버가 대상이라면.. 학교나 회사에서 포트를 허용하지 않았다면 외부망에서는 연결이 안되니 참고하자. 본 방법은 ubuntu 20.04에서 수행되었다. A. IP 고정하기(공인 IP가 아닌 공유기를 사용하고 있을 경우 해당) 먼저 우분투 세팅창에 들어가자. 들어가서 네트워크 탭에 들어가면 이더넷을 설정할 수 있는 설정 버튼(톱니바퀴)이 보인다. 해당 버튼 클릭 Det..