인공지능 개발자 수다(유튜브 바로가기) 자세히보기
반응형

python 28

[파이썬] 병렬처리(multi-threading, multi-processing)

1. 병렬처리를 하는 이유 프로그램의 실행 속도를 향상 여러 작업을 동시에 처리할 수 있음 2. 멀티스레딩 (Multi - Threading) 2.1. 쓰레드 설명 쓰레드는 프로세스 내에서 실행되는 실행 단위 같은 메모리 공간을 공유 입출력 작업이 많은 시나리오에서 유리 파이썬에서는 `threading` 모듈 사용 멀티스레딩은 자원을 공유해야 하거나 I/O 바운드 작업(I/O-intensive tasks)이 중심이 될 때 효과적. (대량의 데이터를 디스크에서 읽거나 쓰거나, 네트워크를 통해 데이터를 송수신하는 작업을 포함합니다.) 메모리 공유로 인해 데이터 동기화 문제가 발생할 수 있다. 한 스레드의 실패가 전체 프로세스에 영향을 줄 수 있습니다. 2.2. threading 모듈 사용법 쓰레드 생성과 실..

MLflow 처음 시작하기

1. 설치 anaconda 설치 conda install conda-forge::mlflow pip 설치 pip install mlflow 2. MLflow로 할 수 있는 일 요약 실험 추적(MLflow Tracking): MLflow Tracking을 사용하면 머신러닝 실험의 매개변수, 코드 버전, 메트릭 및 결과 파일(예: 모델)을 기록하고 비교 프로젝트(MLflow Projects): MLflow Projects는 머신러닝 코드를 패키징하고 재사용할 수 있는 방법을 제공 모델 관리(MLflow Models): MLflow Models는 머신러닝 모델을 다양한 ML 라이브러리에서 사용할 수 있는 표준 포맷으로 패키징 모델 서빙(MLflow Model Serving): MLflow를 사용하면 학습된 모..

MLOps 2024.03.12

[파이썬] 매직메소드(Magic Methods)

1. 개요 파이썬의 매직 메소드(Magic Methods)는 특별한 의미를 가지는 메소드로, 언더스코어(__)로 시작하고 끝나는 특별한 이름을 가지고 있습니다. 매직 메소드는 사용자 정의 객체들이 내장 타입처럼 자연스럽게 행동하도록 만들어 줍니다. 즉, 개발자가 만든 객체가 자동으로 가지게 되는 함수들을 뜻합니다. 2. 상세 내용 2.1. 객체 초기화 및 소멸 __init__(self, ...): 객체 생성 시 초기화를 위해 호출됩니다. 필요한 초기 설정을 수행합니다. __del__(self): 객체가 소멸될 때 호출됩니다. 필요한 정리 작업을 수행합니다. 2.2. 문자열 표현 __str__(self): 객체의 비공식적이고, 사용자가 이해하기 쉬운 문자열 표현을 위해 사용됩니다. print() 함수 호출..

[파이썬] 제너레이터(Generators)와 이터레이터(Iterators)

1. 설명 제너레이터는 yield 키워드를 사용 이 키워드는 함수의 실행을 일시 중지하고 값을 반환한 다음, 다음 호출 때 실행을 재개할 수 있게 합니다. 제너레이터 함수는 호출될 때 함수 내의 코드를 실행하기 시작하는 것이 아니라, 이터레이터 객체를 반환합니다. 이 이터레이터는 .next() 메서드를 사용하여 값을 요청할 때마다 제너레이터 함수 내의 코드를 실행합니다. 2. 특징 지연 실행 제너레이터는 필요할 때까지 값을 계산하지 않습니다. 즉, 반복의 각 단계에서 다음 값이 필요할 때만 그 값을 생성합니다. 이러한 '지연 실행' 방식은 메모리 사용을 최적화하고, 특히 크거나 무한한 데이터 시퀀스를 다룰 때 유용합니다. 상태 유지 제너레이터는 현재 위치(상태)를 기억합니다. 즉, yield 키워드를 통..

FastAPI의 특징과 장단점

FastAPI는 2024년 현재 인공지능 분야에서 널리 사용되는 백엔드 프레임워크입니다. 최근에는 많은 서비스들이 마이크로 서비스 방식으로 서버를 구축하는 경향이 있는데, 특히 인공지능 분야에서는 파이썬을 사용하여 개발하는 경우가 많습니다. 이러한 맥락에서, 인공지능 서버를 별도로 구축하여 서비스에 통합하는 데 적합한 백엔드 프레임워크로서 FastAPI의 사용이 증가하고 있습니다. 1. 특징 및 장점 빠른 성능 Starlette (비동기 Python 웹 프레임워크): 비동기 프로그램이란, 특정 작업의 완료를 기다리지 않고 다른 작업을 동시에 수행할 수 있는 프로그래밍 방식 Pydantic: 효율적인 데이터 검증과 타입 변환, 고급 문자열 포매팅, 변수 어노테이션, 데이터 클래스 등을 효율적으로 사용 쉬운..

Fastapi 2024.01.14

[ChatGPT API] 파이썬으로 실습하기

참조 글: openai 홈페이지, Quickstart (링크) 1. 개요 ChatGPT API를 사용해 ChatGPT를 파이썬에서 사용하는 방법을 안내 하겠습니다. 2. 개발 환경 Python 3.7.1 버전 이상 (2024.01 기준) openai 라이브러리 설치 pip install --upgrade openai 3. API 키 발급받기 openai 홈페이지에 들어가서 로그인을 한 이후, API Keys 로 들어가 발급 받을 수 있다. (링크) Create new secret key 버튼을 눌러 발급받는다. 발급 받은 키는 복사해서, python 코드에서 사용하면 된다. - 추가 팁 api key를 소스코드에 올리는 것은 보안상 좋지 않다. mac 유저의 경우 `nano ~/.bash_profile`..

자연어처리 2024.01.01

[강화학습] Reinforcement Learning 기초 요약

기본개념 https://keraskorea.github.io/posts/2018-10-25-Keras%EB%A5%BC%20%ED%99%9C%EC%9A%A9%ED%95%9C%20%EC%A3%BC%EC%8B%9D%20%EA%B0%80%EA%B2%A9%20%EC%98%88%EC%B8%A1/ A) 기초통계¶ A-4) 조건부 확률¶$$P(Y|X) = \frac{P(X) \cap P(Y)}{P(X)}$$$$ P(Y,X) = P(Y|X) P(Y)$$응용 $$P(Y|X, Z) = \frac{P(Y,X|Z)}{P(Y|Z)}$$$$ P(Y,X|Z) = P(Y|X, Z) P(Y|Z)$$A-2)조건부 기대값¶$$E[Y|X=x] = \sum_{i} p(Y = y_i| X=x)y_i$$설명 : 각 사건이 일어날 확률과 각 사건의..

[Logistic Regression] 설명과 실습

In [5]: import numpy as np from sklearn.datasets import make_classification import statsmodels as sm from statsmodels.discrete.discrete_model import Logit from scipy import stats import matplotlib.pyplot as plt import matplotlib as mpl import seaborn as sns 1. 이론¶ 1.1. Logistic Regression 언제 사용하는가? 독립변수가 연속형 데이터 (수치) 독립변수 범위: $-\infty$ ~ $\infty$ 종속변수가 Binary (0 or 1로 표현 할 수 있는 데이터 일 때) 예: 남/여, ..

Machine Learning 2021.05.12
반응형