본문 바로가기

분류 전체보기209

주피터 노트북 문서(.ipynb) 커맨드로 실행하기 (nbconvert, nohup, &) 목차 배경 파이썬을 사용하여 데이터를 분석하거나 모델링을 할 때 주피터 노트북 문서인 ipynb 확장자의 파일을 흔하게 사용한다. 이 파일은 vscode나 jupyter server를 띄우면 파이썬 코드를 셀(cell) 단위로 실행하고, 실행 결과가 문서에 기록되어 데이터를 다룰 때에 매우 편리하다는 장점이 있다. 하지만, 네트워크가 끊기거나, 문서를 닫으면 문서의 실행이 중단된다는 단점이 있다. 나는 이 때문에 모델을 학습하다가 중단되어 눈물을 흘린 적이 한 두 번이 아니다....! 잘 작성해둔 주피터 노트북의 특정 파라미터만 변경하여 여러 실험을 할 때에 유용한 방법을 소개한다. 이 방법은 간단히 말하면 주피터 커맨드와 리눅스 커맨드 몇 가지를 조합하여, ipynb 파일을 CLI로 실행하면서도, 문서.. 2023. 9. 1.
pandas data shuffle # shuffle data df = df.sample(frac = 1) 참고: https://www.geeksforgeeks.org/pandas-how-to-shuffle-a-dataframe-rows/ 2023. 8. 30.
이항 분포, 다항 분포, 베타 분포, 디리클레 분포 요약 비교 목차 우도, 사전확률, 사후확률 1. Likelihood (우도) - 주어진 데이터가 특정한 모델 파라미터 집합 아래에서 발생할 확률을 말함 - 가정된 모델에서 관찰된 데이터가 얼마나 적합(가능)한지를 나타내는 지표 - 수학적으로는 P(X|θ)로 표기 2. Prior (사전확률 또는 사전분포) - 데이터를 관찰하기 전, 우리가 가지고 있는 모델 파라미터에 대한 믿음이나 정보를 나타냄. - 사전분포는 데이터 없이 모델의 파라미터에 대한 가정을 정의하며, 이를 통해 추론을 시작. - 주로 사전지식, 경험, 도메인 지식 등을 통해 설정됨 P(θ) 3. Posterior (사후확률 또는 사후분포) - 데이터를 관찰한 후에 모델 파라미터의 확률 분포 - 수학적으로는 P(θ|X)로 표기 이항 분포, 다항 분포, 베.. 2023. 8. 30.
파이썬 백준 이유모를 에러 발생 (input -> sys.stdin.readline() 으로 해결) 나의 경우 11724번 문제와 1260번 문제를 해결하는데, 코드는 문제 없이 동작하는 것 같은데 자꾸 에러가 발생한 적(시간초과 등)이 있다. 확인해보니, python에서 input을 사용해 입력을 받을 때, 입력의 개수가 매우 많아지면 input() 함수로는 커버가 안되는 듯하다. 이러한 경우 input을 sys.stdin.readline으로 대체하여 받아야 한다. (참고 링크) input = sys.stdin.readline() 나는 위 코드를 맨 윗 줄에 추가한 뒤, input을 사용할 때와 동일하게 코드를 구성하였더니, 오류 나던 것들이 문제 없이 해결되었다! 2023. 8. 29.
PyTorch GPU 메모리 해제하기 (PyTorch OOMError) Pytorch로 모델을 학습하다보면 GPU 메모리가 꽉 차서 inference 등의 다른 작업이 안되는 경우가 있다. 기본적으로 메모리에 아무것도 올라가지 않은 상태에서 모델을 메모리에 올려 학습하려 할 때 나는 OOM은 배치 사이즈를 작게 조절하거나, 모델의 크기를 줄이는 등의 근본적인 문제를 해결해야 한다. 허나, 동일 조건에서 학습은 충분히 잘 되는데도 불구하고, 다른 작은 작업이 안되는 경우, 다음과 같은 방법을 통해 문제를 해결해볼 수 있다. https://github.com/pytorch/pytorch/issues/16417 를 참고하였다. Python Garbage Collection 기능 및 토치 캐시 비우기 기능을 사용한다. (참고 위치) 나의 경우, 아래 코드만 가지고 추론에 성공하였는.. 2023. 8. 28.
datasets.load_metric ModuleNotFoundError (해결) 오류 상황 오류가 발생한 작업 from datasets import load_metric 오류 메시지 --------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) ... ImportError: cannot import name 'COMMON_SAFE_ASCII_CHARACTERS' from 'charset_normalizer.constant' ([가상환경경로]/lib/python3.10/site-packages/charset_normalizer/constant.py) 해결 방법 1. 라이브러리 설치 (참고: https://stackov.. 2023. 8. 28.