'분류 전체보기' 카테고리의 글 목록
JH'S AI Insight
[Python] Code
[Python] 자료구조
2025.02.10
자료구조(Data Structure)란?자료구조는 데이터를 저장하고 관리하는 구조적 방법을 의미합니다. 이를 통해 효율적인 데이터 처리 및 연산 수행이 가능합니다.1. 선형 자료구조 (Linear Data Structure)1.1 배열 (Array)배열은 같은 타입의 데이터를 연속된 메모리 공간에 저장하는 구조입니다.Index 0 1 2 3 4Data 10 20 30 40 50배열의 특징:탐색: O(1) - 인덱스를 통해 빠르게 접근 가능삽입/삭제: O(n) - 중간 데이터를 추가/삭제할 때 뒤 데이터를 이동해야 함1.2 연결 리스트 (Linked List)연결 리스트는 노드(Node)와 포인터(링크)로 연결된 자료구조입니다.[HEAD] → [10 | O] → [20 |..
[Python] Code
[Python] Numpy 소개
2025.02.09
NumPy 개요 및 사용법1. NumPy란?NumPy(Numerical Python)는 Python에서 수학적 연산과 다차원 배열 연산을 수행하는 대표적인 라이브러리입니다.빠르고 효율적인 다차원 배열(ndarray) 연산C 기반 구현으로 높은 성능 제공벡터화 연산을 통해 반복문 최소화선형 대수, 난수 생성, 푸리에 변환 등 다양한 기능 포함Pandas, SciPy, PyTorch 등의 여러 라이브러리의 기반 역할2. NumPy 배열(NDArray)NumPy의 핵심 데이터 구조는 ndarray (N-dimensional array) 입니다.(1) 배열 생성import numpy as nparr = np.array([1, 2, 3, 4, 5])print(arr)print(type(arr))(2) 다차원 배열..
[Python] Code
[Python] PyTorch 소개
2025.02.09
1. PyTorch란? PyTorch는 Facebook AI Research(FAIR)에서 개발한 Python 기반 오픈소스 딥러닝 프레임워크입니다. NumPy와 유사한 텐서 연산 지원 GPU 가속(CUDA)로 빠른 연산 가능 동적 연산 그래프(Dynamic Computation Graph) 사용 사용이 직관적이고 디버깅이 쉬움 딥러닝, 자연어 처리(NLP), 컴퓨터 비전(CV) 등에 폭넓게 활용됨 2. PyTorch 주요 개념 (1) 텐서(Tensor) PyTorch에서 가장 기본적인 자료형은 Tensor입니다. import torcha = torch.tensor([1, 2, 3])b = to..
[Python] Code
[Python] Einops
2025.02.09
einops 개념 및 사용법 einops는 배열 및 텐서를 직관적으로 변환할 수 있도록 설계된 Python 라이브러리입니다. 간결한 문자열 기반 표기법을 통해 reshape, transpose, reduce 등의 연산을 쉽게 수행할 수 있습니다. 지원 프레임워크: numpy, torch, tensorflow, jax 1. einops가 필요한 이유 기존의 numpy, torch, tensorflow 등의 텐서 조작(reshape, permute, transpose)은 복잡하고 가독성이 떨어질 수 있습니다. import torchx = torch.randn(16, 3, 64, 64) # (batch, channel, height, width)x = x.permute(0, ..
[Python] Code
[Python] Einsum
2025.02.09
einsum 개념 및 사용법numpy.einsum()은 아인슈타인 합(아인슈타인 표기법)을 이용하여 다차원 배열의 연산을 간결하게 수행할 수 있는 함수입니다.1. 기본 개념: 아인슈타인 합 표기법아인슈타인 합 표기법은 반복되는 인덱스를 축소(합산)하는 방법입니다. 예를 들어, 두 벡터 a, b의 내적(dot product)은 다음과 같이 표현됩니다.$$ c = \sum_{i} a_{i} b_{i} $$이 수식을 einsum으로 표현하면:import numpy as npa = np.array([1, 2, 3])b = np.array([4, 5, 6])c = np.einsum('i,i->', a, b)print(c)결과: \( 32 \) (벡터 내적 결과)2. einsum의 주요 연산 예제(1) 행렬 곱셈행..