반응형

Python 266

SciPy 볼록 껍질(Convex Hull)

SciPy 볼록 껍질(Convex Hull)1. 개요공간 데이터 처리에서 볼록 껍질(Convex Hull)은 주어진 점 집합을 둘러싸는 가장 작은 볼록 다각형을 의미합니다. 이는 2차원에서는 다각형 형태로, 3차원에서는 다면체 형태로 나타납니다. SciPy의 scipy.spatial 모듈을 이용하면 쉽게 볼록 껍질을 구하고 시각화할 수 있습니다.이 글에서는 볼록 껍질의 개념, 활용 사례, 그리고 SciPy를 활용한 구현 방법에 대해 자세히 알아보겠습니다.2. 볼록 껍질의 정의볼록 껍질(Convex Hull)은 다음과 같이 정의됩니다.수학적 정의: 점 집합 $ S $에 대해, $ S $를 포함하는 가장 작은 볼록 다각형을 의미합니다.기하학적 정의: 고무 밴드를 점 집합 주위에 감아 고무 밴드가 수축된 상태..

Python/SciPy 2025.12.12

딥러닝 프레임워크에서 GPU 가속 사용법

딥러닝 프레임워크에서 GPU 가속 사용법딥러닝 모델을 학습할 때 GPU(그래픽 처리 장치)를 활용하면 속도를 획기적으로 개선할 수 있습니다. 특히 대량의 행렬 연산을 수행하는 딥러닝 모델에서는 GPU를 효과적으로 사용하면 수 시간에서 수 일 걸리던 학습을 몇 분 또는 몇 시간으로 단축할 수 있습니다. 본 포스팅에서는 주요 딥러닝 프레임워크에서 GPU를 활용하는 방법을 설명하겠습니다.1. GPU 가속이 필요한 이유CPU와 GPU는 서로 다른 아키텍처를 가지고 있습니다. CPU는 직렬 연산에 강점을 보이지만, GPU는 대량의 병렬 연산을 효과적으로 수행할 수 있습니다. 딥러닝 모델의 주요 연산은 행렬 곱셈과 같은 대규모 연산이므로, GPU를 사용하면 학습 및 추론 속도를 획기적으로 향상시킬 수 있습니다.GP..

SciPy KD-Tree와 최근접 이웃 탐색

SciPy KD-Tree와 최근접 이웃 탐색1. 개요공간 데이터는 여러 차원에서 좌표를 기반으로 표현되는 데이터를 의미합니다. 예를 들어, 2차원 평면에서는 점의 좌표가 (x, y) 형태로 나타나며, 3차원 공간에서는 (x, y, z) 형태로 표현됩니다. 이러한 공간 데이터에서 특정 점과 가장 가까운 다른 점을 찾는 문제는 다양한 분야에서 활용됩니다. 대표적인 예로는 다음과 같은 상황이 있습니다.지도에서 가장 가까운 상점을 찾는 기능이미지에서 유사한 색상을 탐색하는 과정기계 학습에서 k-NN(최근접 이웃) 알고리즘 수행 시 유사한 샘플 찾기이러한 최근접 이웃 탐색 문제를 효율적으로 해결하기 위한 방법 중 하나가 KD-Tree(K-Dimensional Tree)입니다. Python의 SciPy 라이브러리에..

Python/SciPy 2025.12.11

모델 저장 및 로드 방법 (TensorFlow & PyTorch)

모델 저장 및 로드 방법 (TensorFlow & PyTorch)딥러닝 모델을 학습하고 난 후 이를 저장하고 불러오는 과정은 매우 중요합니다. 학습된 모델을 재사용하거나 배포할 때 필요한 과정이며, 훈련을 중단한 후에도 모델을 다시 불러와 이어서 학습할 수 있습니다. 본 포스팅에서는 TensorFlow와 PyTorch에서 모델을 저장하고 로드하는 방법을 설명하겠습니다.1. TensorFlow에서 모델 저장 및 로드TensorFlow에서는 tf.keras.Model을 이용하여 모델을 저장할 수 있습니다. TensorFlow에서 제공하는 모델 저장 방법은 크게 두 가지로 나뉩니다.1.1 전체 모델 저장 및 로드TensorFlow에서는 model.save()를 사용하여 전체 모델을 저장할 수 있습니다. 이 방..

SciPy 적분 결과 시각화

SciPy 적분 결과 시각화1. 서론적분은 수학과 과학의 여러 분야에서 중요한 역할을 하는 연산입니다. 특정 구간에서의 면적을 구하거나, 변화하는 양을 누적하는 데 사용됩니다. SciPy의 integrate 모듈은 다양한 수치 적분 방법을 제공하며, 이를 통해 복잡한 함수의 적분을 효율적으로 수행할 수 있습니다.하지만 적분 결과를 수치로만 확인하는 것보다 그래프를 통해 시각적으로 분석하면 이해가 훨씬 쉬워집니다. 이번 포스팅에서는 SciPy와 Matplotlib를 활용해 적분 결과를 시각화하는 방법에 대해 살펴보겠습니다.2. 적분 대상 함수 정의먼저 적분할 함수를 정의하고, 이를 시각화해 보겠습니다. 예제에서는 다음과 같은 함수 $ f(x) = x^2 \times e^{-x} $를 사용하겠습니다.impo..

Python/SciPy 2025.12.10

PyTorch와 TensorFlow 비교: 어떤 프레임워크를 선택할까?

PyTorch와 TensorFlow 비교: 어떤 프레임워크를 선택할까?1. 서론딥러닝을 공부하거나 프로젝트를 진행하다 보면 자연스럽게 선택해야 하는 것이 바로 딥러닝 프레임워크입니다. 현재 가장 널리 사용되는 딥러닝 프레임워크는 PyTorch와 TensorFlow입니다. 두 프레임워크 모두 강력한 기능을 제공하지만, 사용 목적과 필요에 따라 더 적합한 프레임워크가 다를 수 있습니다. 이번 포스팅에서는 PyTorch와 TensorFlow를 다양한 측면에서 비교하여 어떤 프레임워크를 선택하는 것이 적절한지 살펴보겠습니다.2. PyTorch와 TensorFlow 개요2.1 PyTorch란?PyTorch는 Facebook(현재 Meta)에서 개발한 오픈 소스 딥러닝 프레임워크로, 동적 연산 그래프와 직관적인 인..

SciPy ODE(상미분 방정식) 풀이

SciPy ODE(상미분 방정식) 풀이상미분 방정식(Ordinary Differential Equation, ODE)은 미지의 함수와 그 함수의 도함수 간의 관계를 나타내는 수학적 방정식입니다. 과학, 공학, 경제학 등 다양한 분야에서 시스템의 동적 거동을 설명하는 데 사용되며, 미분 방정식을 푸는 과정은 이러한 시스템을 이해하고 예측하는 데 핵심 역할을 합니다.Python의 SciPy 라이브러리는 scipy.integrate 모듈을 통해 ODE를 효과적으로 풀 수 있는 다양한 방법을 제공합니다. 이 포스팅에서는 SciPy의 solve_ivp 함수를 중심으로 상미분 방정식을 푸는 방법을 단계별로 설명하겠습니다.1. 상미분 방정식(ODE)란 무엇인가?상미분 방정식(ODE)은 하나의 독립 변수에 대해 한 개..

Python/SciPy 2025.12.09

PyTorch란? 설치 및 기본 사용법

PyTorch란? 설치 및 기본 사용법1. PyTorch란?PyTorch는 Facebook(현 Meta)에서 개발한 오픈소스 딥러닝 프레임워크로, 유연한 동적 계산 그래프(dynamic computation graph)와 직관적인 사용성을 제공하여 연구 및 실무에서 널리 사용되고 있습니다. 특히, PyTorch는 연구자와 개발자에게 친숙한 Pythonic한 API를 제공하며, Tensor 연산을 GPU에서 가속할 수 있도록 지원합니다.PyTorch는 다음과 같은 특징을 갖고 있습니다:동적 계산 그래프(Dynamic Computation Graph): 그래프를 실행 시점에서 구성할 수 있어 디버깅과 실험이 용이합니다.자동 미분(Autograd): 역전파(Backpropagation)를 자동으로 수행하여 딥..

SciPy 정적분과 동적분 (quad, dblquad) 이해하기

SciPy 정적분과 동적분 (quad, dblquad) 이해하기1. 서론적분은 수학과 과학의 다양한 분야에서 널리 사용되는 중요한 도구입니다. 특히, 신호 처리, 물리학, 생물학, 경제학 등 여러 분야에서 어떤 함수의 면적, 길이, 부피 등을 구하는 데 필수적인 역할을 합니다. Python에서는 SciPy 라이브러리를 통해 간편하게 수치적분을 수행할 수 있습니다. 이번 포스팅에서는 SciPy의 integrate 모듈을 활용해 정적분과 동적분을 수행하는 방법에 대해 알아보겠습니다.2. 적분의 기본 개념적분은 함수의 그래프 아래에 있는 면적을 구하는 과정입니다. 크게 다음과 같이 두 가지로 나눌 수 있습니다.정적분 (Definite Integral): 주어진 구간$[a, b]$ 내에서 함수 $f(x)$의 면..

Python/SciPy 2025.12.08

Keras를 이용한 딥러닝 모델 빌딩 기초

Keras를 이용한 딥러닝 모델 빌딩 기초1. Keras란?Keras는 Python 기반의 딥러닝 프레임워크로, TensorFlow 위에서 동작하는 고수준 API입니다. 직관적인 인터페이스를 제공하여 딥러닝 모델을 쉽고 빠르게 구축할 수 있습니다. Keras의 주요 특징은 다음과 같습니다.간결한 API: 직관적인 코드로 신경망을 쉽게 설계할 수 있음백엔드 엔진: TensorFlow, Theano, CNTK를 백엔드로 사용 가능모듈형 설계: 레이어, 손실 함수, 활성화 함수, 최적화 알고리즘 등을 독립적으로 구성 가능GPU 지원: TensorFlow를 백엔드로 사용할 경우 GPU 가속을 활용할 수 있음2. Keras 설치 및 환경 설정Keras는 TensorFlow 2.x에 기본 포함되어 있습니다. 따라서..

반응형