본문 바로가기

반응형

전체 글

파이토치 모델 저장; pytorch model save 모델을 저장하는 방법은 2가지가 있다. 1. 모델의 state dictionary를 저장하는 방법 2. 모델을 통째로 저장하는 방법 모델의 state dictionary를 저장하는 방법 torch.save(model.state_dict(), './mode.pth') 모델을 통째로 저장하는 방법 torch.save(model, './model.pth') 더보기
우분투 버전 정보 출력 명령어; Ubuntu Version Display Command 우분투 버전을 콘솔창에 출력하기 위한 명령어입니다. 명령어는 lsb_release 입니다. 이것은 Linux Stadard Base (LSB) release의 약자입니다. 의미를 해석하면 '리눅스 표준의 배포본' 이라는 뜻입니다. 이 명령어는 여러 개의 옵션들과 조합해서 사용이 가능합니다. -a 옵션: all 뜻으로 모든 정보를 표시하므로, 간단히 이것만 사용해도 충분합니다. lsb_release -a 출력결과는 아래와 같습니다. 더보기
우분투 엔비디아 드라이버 업데이트 업그레이드 Ubuntu Nvidia Driver Update Upgrade Ubuntu 18.04에서 Nvidia 그래픽스 카드의 디바이스 드라이버를 업데이트하는 과정입니다. 1단계. 사용 가능한 드라이버를 체크합니다. 아래 명령어를 실행합니다. ubuntu-drivers devices 출력 결과는 아래와 같습니다. 'recommended'로 표시된 드라이버를 설치하는 것이 좋습니다. 2단계. 드라이버를 설치합니다. 설치 명령어는 아래와 같습니다. sudo ubuntu-drivers autoinstall 특정 드라이버를 선택해서 설치할 수도 있습니다. sudo apt install nvidia-driver-470 3단계. 시스템을 재시작합니다. sudo reboot 더보기
파이토치(Pytorch) Distributed Data Parallel (DDP)사용하기 DDP를 사용하려면 다음과 같은 설정단계를 거쳐야 합니다. 첫 번째 단계는 초기화 단계입니다. 전체 GPU의 개수가 몇 개인지를 설정합니다. 그리고 현재 프로세스가 사용하는 GPU 번호를 정합니다. 이것을 위해서 아래 코드를 이용하면 됩니다. # 1번 dist_url = 'env://' rank = int(os.environ['RANK']) world_size = int(os.environ['WORLD_SIZE']) local_rank = int(os.environ['LOCAL_RANK']) # 2번 torch.distributed.init_process_group(backend='nccl', init_method=dist_url, world_size=world_size, rank=rank) torch... 더보기
Decision Tree; 결정트리; 의사결정트리 Decisioni tree를 이해하기 위해서는 먼저 몇 가지 이해해야 하는 것들이 있습니다. 엔트로피 (entropy) 개념부터 설명하겠습니다. 상상을 해 봅시다. 주머니가 1개 있고, 그 안에 두 가지 종류의 구슬들이 섞여 있다고 합시다. 구슬의 색깔을 빨간색과 흰색으로 상상해 봅시다. 빨간 색과 흰 색의 구슬이 반반씩 섞여있는 경우, 주머니 안을 들여다보면 알록달록해 보일겁니다. 이번에는 빨간 색만 있는 경우를 상상해 보면, 전혀 알록달록 하지 않을 겁니다. 흰 색만 있는 경우도 아주 차분하게, 알록달록 하지 않을 겁니다. 이제 이런 현상에 조금 전문적인 용어를 붙여 봅시다. 알록달록한 정도를 엔트로피 (entropy)라고 합시다. 그러면, 구슬이 반반씩 섞인 경우는 엔트로피가 높다고 할 수 있고, .. 더보기
파이토치 모델 로딩, pytorch model loading 파이토치로 학습시킨 모델의 파라미터들을 파일로 저장해 두었다면, 다시 그 파일을 모델에 읽어들여서 사용할 필요가 있습니다. 여기서는 파일로부터 모델 파라미터들을 읽어서 모델에 로딩시키는 과정을 설명합니다. 1단계 파일로 저장된 모델을 dictionary로 읽어들여야 한다. 파일 확장자는 .pth, .pt를 사용합니다. 모델 읽기를 위해서 파이토치에서는 torch.load( )라는 함수를 제공합니다. _state_dict = torch.load('saved_model.pth') _state_dict는 Python dictionary type으로, keyd와 value 쌍으로 이루어져 있습니다. 2단계 Dictionary에 읽혀진 파라미터들의 이름을 바꾸어야 할 때가 있습니다. 아래 설명한 경우가 아니라면,.. 더보기
Python dictionary unpacking 딕셔너리 언팩킹 ** Dictionary: unpacking 2개 dictionary를 unpacking해서 1개 dictionary로 합치기 d1 = {'a': 2, 'b': 3} d2 = {'c': 4, 'd': 5} res = {**d1, **d2} Dictionary를 unpacking하려면 ** 사용 res는 새롭게 만들어진 dictionary res 안에는 d1과 d2가 합쳐진 것이 들어간다. 중복된 key를 가지는 dictionary들의 unpacking 후 합치기 d1 = {'a': 2, 'b': 3} d2 = {'b': 4, 'c': 5} res = {**d1, **d2} d1과 d2는 서로 같은 key 'b'를 가지고 있음 res에는 1개의 key 'b'만 존재 'b' : 4 값을 가져서, 나중에 들어온 k.. 더보기
Python tuple unpacking 파이썬 튜플 언팩킹 Python에서 tuple 만드는 방법 Tuple은 만들어진 후 수정할 수 없는 리스트 Comma (콤마)를 사용해서 숫자들을 나열하면 tuple (튜플)이 된다. t = 1, 2 숫자 2개로 이루어진 tuple t = 1, 숫자 1개로 이루어진 tuple. 반드시 comma 끝에 있어야 한다. t = () Empty tuple을 만든다. Unpacking tuple (언팩킹 튜플) Tuple의 값들을 개별 변수에 할당: 이 작없을 unpacking이라고 한다. a, b, c = 1, 2, 3 Tuple (1,2,3)에 대해서, a, b, c에 각각 1, 2, 3을 할당한다. 왼쪽에는 tuple 표시 ( )를 하지 않아도 된다. t = 1, 2, 3 a, b, c = t Tuple t를 만들고, unpa.. 더보기
파이썬 Python 정규식 regular expression 개요 문자열에서 내가 원하는 정보만을 추출해 낼 때, 정규식 (regular expression)을 사용하면 편리하다. 문제 다음과 같은 문자열 S가 있다고 하자. 2022-07-28 14:06:24;[DEBUG] Epoch 9 학습시작. LR=[2.4471741852423235e-05] S에는 epoch에 대한 정보와 LR에 대한 정보가 담겨있다. 즉, epoch=9, LR=2.44... 이다. S를 파싱해서 이 정보들만을 추출해 보도록 하자. 구현 - 정규식을 이용하려면 모듈 re가 필요하다. import re - 정보를 담고 있는 문자열 S를 만든다. S = '2022-07-28 14:06:24;[DEBUG] Epoch 9 학습시작. LR=[2.4471741852423235e-05]' - 추출하고 .. 더보기
유용한 단축키 모음: 윈도우즈, Visual studio code 윈도우즈 Windows_key + D : 모든 창 최소화 Windows_key + SHIFT + 화살표 좌우 : 선택된 윈도우를 좌우 스크린으로 이동 (멀티 스크린 사용할 경우) Visual Studio Code CTRL + ALT + 마이너스 키: 이전 위치로 이동 CTRL + SHIFT + 마이너스 키: 이전 위치로 이동 후 다시 원위치 이동 CTRL + W : 윈도우창 닫기 F12 : 함수, 변수 정의로 이동 선택한 영역에서만 Find/Replace Ctrl-H : Find/Replace 실행 Alt-L 혹은 Find in selection 선택 이미지출처: https://post.naver.com/viewer/postView.nhn?volumeNo=27467939&memberNo=22846622 더보기
C++ 프로그래밍 강좌를 올렸습니다. C++ 프로그래밍 기초부터 완성까지 69개 강좌를 유튜브에 올렸습니다. 요즘 Python을 많이 사용하고는 있지만, 개발경력에 있어서 C++는 여전히 사랑받는 언어입니다. C++를 처음부터 차근차근 배워보고 싶은 분을 강좌입니다. 더보기
HTML,CSS, Javascript 강좌를 유튜브에 올렸습니다. 백엔드를 목표로 공부할 때, 프론트엔드 쪽을 속성으로 공부하고 싶은 분들을 위해서 간단한 속성강좌를 올렸습니다. HTML과 CSS 쪽 내용은 굉장히 짧고, Javascript 내용이 대부분입니다. 백엔드에 Node.JS를 이용하는 강좌를 조만간 올릴 예정이기에, Javascript를 이용해서 Node.JS로 서버 구현하는 것 공부하는 분을 위한 선행 강좌 성격입니다. 더보기
데이터베이스 강좌를 유튜브에 신설했습니다. 유튜브에 MySQL 데이터베이스 강의 동영상을 몇 개 올렸습니다. MySQL Workbench를 이용해서 테이블 만들고, select query, join, 등등의 내용을 담았습니다. 백엔드 쪽에 관심있는 분들, 데이터베이스에 대해서 속성으로 배워보고 싶은 분들을 위한 강좌입니다. 더보기
Pytorch Simple - 1. Autograd 딥러닝 라이브러리 중에서 Tensorflow보다 좋은 (개인적으로 생각하기에) Pytorch에 대해서 간단한 예제 위주로 핵심개념을 설명하는 동영상 강좌입니다. 우선, auto-grad가 어떻게 동작하는지 아주 간단한 예제를 만들어서 설명했습니다. 유튜브 동영상 더보기
OpenCV in Python - part 1 Python에서 OpenCV 라이브러리를 이용하여 영상처리하는 과정에 대한 동영상 강좌입니다. 이제 시작으로, 가끔씩 천천히 업로드됩니다. 우선 1편은 이미지를 읽어서 화면에 표시하는 간단한 과정을 보여줍니다. 유튜브 동영상 더보기

반응형