본문 바로가기

전체 글

(39)
Jupyter 가상환경 Kernel 연결하기 ipykernel 설치 pip install ipykernel Jupyter에 가상환경 추가 python -m ipykernel install --user --name [virtualEnvName] --display-name "[KernelName]" (예시) 다음과 같은 환경에서 가상 환경 tf를 jupyter에 추가해보자. 가상 환경 tf를 tf라는 이름으로 jupyter에 추가 python -m ipykernel install --user --name tf --display-name "tf" 다음과 같이 tf라는 이름으로 jupyter에 추가된다.
[강화 학습 PyTorch] Reinforcement Learning Tutorial (Part 2) 강화 학습 (Reinforcement Learning) 에이전트는 주어진 환경에서 행동을 선택하고, 그 환경에서 상태와 보상이 만들어진다. 에이전트의 목표는 주어진 환경에서 상태, 행동을 통해 얻어지는 보상을 최대화 하는 것. 에이전트는 보상을 최대화 하기 위해 어떤 선택이 가장 좋은 선택일지 학습하게 된다. 에이전트가 이런 과정으로 행동을 선택하는 것을 행동 정책(action policy)이라고 한다. 또한 에이전트가 행동을 선택하는 과정과 행동 정책을 구현하는 과정에서 Deep Q Network, epsilon-greedy 정책을 가장 흔히 사용한다. Q-Learning Q-table Q-Learning은 값에 기반하여 어떤 행동을 선택하는 것이 좋을지 에이전트에게 알려주는 방식이다. 행동을 선택하기..
[강화 학습 PyTorch] Reinforcement Learning Tutorial (Part 1) gym library의 CartPole을 사용하여 강화 학습에 입문해보자. CartPole 게임이란? 마찰이 없는 트랙에 카트(cart)하나와 카트에 연결된 막대(pole)가 하나 있다. 막대가 세워진 상태로 게임이 시작되며, 목표는 막대가 넘어지지 않도록 하는 것이다. 막대는 조작할 수 없으며 오직 카트만 조작 가능하고, 막대가 서 있는 매 시간 스텝마다 +1의 보상이 주어진다. 에피소드가 종료되는 조건은 다음과 같다. 막대가 수직으로부터 12도 이상 기울어짐. (-12 ~ 12) 카트가 중심으로부터 2.4이상 벗어남 (-2.4 ~ 2.4) 시간 스텝이 200보다 커짐 (CartPole-v1의 경우 500보다 커졌을 때) 100번의 시도에서 평균 195.0 이상의 보상을 얻으면 게임을 해결했다고 정의..
[Python] Private PyPI Server 구성하기 public으로 올리는 법은 Link 참조. PyPI server 설치 pip install pypiserver private PyPI server 계정 관리 $ pip install passlib $ htpasswd -sc htpasswd.txt {ID} ex) htpasswd -sc htpasswd.txt jinsung htpasswd 명령어 실행 이후 유저에 대한 비밀번호를 설정해준다. 서버 구동 pypi-server -p {PORT} -P htpasswd.txt {PACKAGE_DIRECTORY} ex) pypi-server -p 5000 -P htpasswd.txt ./package_test MacOS Monterey에서 port 5000 사용시 already use 오류가 발생할 수 있는..
[Python] PyPI 패키지 만들기 및 배포 직접 만든 패키지를 PyPI에 업로드하면 "pip install" 로 쉽게 다운로드 할 수 있다. 규칙 패키지명과 모듈명은 동일하지 않아도 된다. PyPI에서 제시하는 규격대로 패키징해야 한다. PyPI에 등록되어 있는 패키지명과 겹치면 안된다. 패키지 폴더 구성 패키지 폴더 안에 setup.py 파일, packageTest 폴더 생성 packageTest 폴더(모듈) 안에는 __init__.py, packageTest.py 파일 생성 setup.py from setuptools import setup setup( name='ssung_package_test', # 패키지 명 version='0.0.1', # 버전 description='Test Package', # 배포할 패키지에 대한 설명 autho..
[Object Detection] 커스텀 모델로 Detection 하기 데이터셋은 다음 링크의 MNIST 데이터를 사용하였다.https://www.kaggle.com/competitions/digit-recognizer/data  Dataset데이터셋이 위와 같은 .csv 파일이므로 이미지 출력을 위해 2차원 array로 만들어 준다. def show_img_from_df(df, index): plt.imshow(np.reshape(np.array(df.iloc[index, 1:]), (28, 28)), cmap="gray") show_img_from_df(train_df, 17) Object Detection 하기 위한 새로운 이미지를 생성한다. 아이디어는 다음과 같다.(90, 90) 사이즈의 새로운 빈 이미지를 생성한다.사이즈 범위 내의 랜덤한 (x, y) ..
[MacOS Monterey] Port 5000 already in use MacOS에서 개발하다 보면 위와 같이 port 5000으로 접근이 안되는 일이 발생한다. port 5000을 사용 하는 놈을 찾아서 kill을 시켜도 계속 다시 살아난다. 원인은 MacOS Monterey 버전에서 AirPlay가 port 5000을 사용해서 계속 다시 살아나는 것이었다. 시스템 환경설정 > 공유 > AirPlay 수신 모드 체크 해제 이제 정상적으로 port 5000을 사용할 수 있게 된다.
[optuna] hyper-parameter 최적화 하기 hyper-parameter 최적화를 도와주는 프레임워크. 매 Trial 마다 parameter를 변경하면서 최적의 parameter를 찾는다. 전체 코드는 첨부파일 참조 optuna 설치 pip install optuna 사용법 Library import import matplotlib.pyplot as plt import optuna from optuna.trial import TrialState import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import Dataset, DataLoader import sklearn.datasets MNIST dataset download mnist = sklea..