전체 글 9

Decorator (데코레이터)

⚠️ decorator에 대해서 알기 위해서는 first class function과 closure를 이해하고 있어야 함! First Class Function 함수를 다른 함수의 인자로 넣기 프로그래밍 언어가 함수를 first-class citizen으로 취급 함수 자체를 argument로써 다른 함수에 전달하거나 다른 함수의 결과값으로 반환할 수도 있고, 함수를 변수에 할당하거나 데이터 구조 안에 저장할 수 있는 함수 def square(x): return x * x print(square(5)) f = square print(square) print(f) (base) jieunpark@MacBook-Air 230220_decorator % python first_class_function.py 25..

Development/Python 2023.02.22

아나콘다 가상환경 설치, 삭제, 복제, 조회 & Jupyter Notebook

가상환경 설치 set CONDA_FORCE_32BIT=1 # 아나콘다 32bit 설정 conda create -n 가상환경이름 python=버전 anaconda # 가상환경 만들기 가상환경 삭제 conda env remove --n 가상환경이름 가상환경 복제 conda create -n 새 가상환경이름 --clone 복제할 가상환경이름 가상환경 조회 conda info --envs conda env list Jupyter Notebook 커널 확인 jupyter kernelspec list 커널 추가 python -m ipykernel install --user --name 가상환경이름 --display-name 표시할 커널이름 커널 삭제 jupyter kernelspec uninstall 가상환경이름 ..

Development/Python 2023.02.21

Conversational Recommender System (대화형 추천시스템)

1. Introduction and Background 1-1. Conversational Recommendation이란? 추천시스템 추천시스템은 상황에 따른 데이터를 토대로 유저가 원하는 아이템을 찾도록 도와주는 시스템입니다. 최근의 연구들은 유저의 과거 행동을 기반으로 선호도를 예측하거나 일련의 제안을 도출하는 일방향의 one-shot interaction paradigm을 가집니다. 그러나 이러한 접근은 잠재적으로 한계가 있습니다. Conversational Recommendation Conversational Recommender System (CRS)는 이와 다르게 접근하여 task-oriented의 지원과 유저와의 multi-turn dialogue를 사용합니다. 이를 통하여 대화 중에 시스템..

ML & DL/NLP 2023.02.20

no_grad vs. requires_grad

torch.Tensor.requires_grad True인 경우 해당 텐서에 대하여 gradient를 계산하여 업데이트 False인 경우 파라미터를 상수 취급하여 업데이트하지 않음 torch.no_grad gradient 계산을 하지 않게 함 inferencing할 때 활용 가능 (torch.Tensor.backward를 활용하지 않을 경우 no_grad vs. requires_grad 모델 일부는 freeze하고 일부에 대해서만 parameter update를 하고싶은 경우 활용 (ex. transfer learning, GAN) 1) 모델 A는 freeze, 모델 B만 학습 B에서 A로 가는 gradient를 막음 detach: z를 static tensor로 만들어, update할 때 z 이전 파라..

ML & DL/PyTorch 2023.02.20

Dataset & DataLoader

PyTorch Dataset torch.utils.data.Dataset 모듈을 상속해 새로운 class를 만듦으로써 우리가 원하는 데이터셋 지정 __len__() 데이터셋의 총 데이터 수 __getitem__() 어떠한 인덱스 idx를 받았을 때, 그에 상응하는 입출력 데이터 반환 from torch.utils.data import Dataset class CustomDataset(Dataset): def __init__(self): self.x_data = [[73, 80, 75], [93, 88, 93], [89, 91, 90], [96, 98, 100], [73, 66, 70]] self.y_data = [[152], [185], [180], [196], [142]] def __len__(self..

ML & DL/PyTorch 2023.02.20

02. 깃으로 버전 관리하기

깃에서는 문서를 수정할 때마다 간단한 메모와 함께 수정 내용을 스냅샷으로 찍어서 저장 ⇒ 버전 1. 깃 저장소 만들기 1-1. 깃 초기화하기 — git init 1) 깃 저장소를 만들 디렉토리 생성 $ mkdir hello-git $ cd hello-git $ ls -la total 0 # 아직 아무 파일도 없음 drwxr-xr-x@ 2 jieunpark staff 64 9 30 11:44 . # 현재 디렉토리 drwxr-xr-x@ 34 jieunpark staff 1088 9 30 11:44 .. # 상위 디렉토리 2) 저장소 생성 디렉토리에 저장소를 만들기 위해 git init으로 디렉토리 초기화 .git 디렉토리가 깃을 사용하며 버전이 저장될 저장소(repository) $ git init /Use..

01. 깃(Git) 시작하기

1. 깃의 핵심 기능 순서대로 이해해야함! 1-1. 버전 관리 문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 편하고 구체적으로 기록하기 위한 버전 관리 시스템 1-2. 백업하기 깃의 원격 저장소 GitHub 1-3. 협업하기 여러 사람이 파일을 주고받으며 함께 일할 수 있음 누가 어느 부분을 어떻게 수정했는지 남기 때문에 나중에 오류가 생겼을 때도 파악하기 쉬움 2. 깃 설치하기 2-1. 깃 환경 설정하기 사용자 정보를 설정하기 위해 git config 명령 사용 —global 옵션을 추가하여 현재 컴퓨터에 있는 모든 저장소에 같은 사용자 정보 사용하도록 설정 $ git config --global user.name "이름" $ git config --global user.email "이메..