반응형

전체 글 1048

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..

U-Boot 네트워크와 OTA 업데이트

U-Boot 네트워크와 OTA 업데이트RK3399 기반 시스템을 예제로 살펴보는 U-Boot 네트워크 구성 및 OTA 업데이트 기법을 소개합니다. 본 글은 실전 환경에서 활용할 수 있는 네트워크 설정, TFTP/NFS 기반 부팅, 보안 부팅 개요, OTA 스크립트 예제까지 포함하며, 결론적으로 “U-Boot는 단순한 부트로더가 아니라 시스템 관리 도구”라는 관점을 설명합니다.1. U-Boot 네트워크 구성 개요RK3399 보드에서 U-Boot는 기본적으로 Ethernet 컨트롤러 드라이버를 탑재하고 있으며, 다음 기능을 제공합니다.DHCP를 통한 자동 IP 획득TFTP를 통한 커널/디바이스트리/루트파일시스템 다운로드NFS 루트 마운트 지원네트워크 진단 명령 (ping, mdio 등)RK3399의 경우 U..

u-boot 2025.12.11

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()를 사용하여 전체 모델을 저장할 수 있습니다. 이 방..

U-Boot 디버깅과 커스터마이징: UART 로그를 이용한 실전 기법

U-Boot 디버깅과 커스터마이징: UART 로그를 이용한 실전 기법본 글은 RK3399 기반 시스템을 예제로 하여, U-Boot 단계에서의 디버깅과 커스터마이징 방법을 상세히 설명드립니다. 특히 UART 로그 활용, CONFIG_DEBUG_UART, CONFIG_CMD_LOG, printf 삽입 디버깅, 부트 로고 커스터마이징, boot delay 변경 등을 중심으로 살펴봅니다.1. UART 로그 기반 디버깅의 기본 개념U-Boot 실행은 SoC 초기화, 메모리 설정, 장치 트리 로드, 커널 부트 등 여러 단계를 거칩니다. 이때 UART 콘솔은 내부 처리 흐름을 직접 보여주는 가장 신뢰도 높은 디버깅 도구입니다.UART 초기 동작 과정 (RK3399 기준)SoC ROM → SRAM 로더 → U-Boot..

u-boot 2025.12.10

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)에서 개발한 오픈 소스 딥러닝 프레임워크로, 동적 연산 그래프와 직관적인 인..

U-Boot에서 커널 및 루트파일시스템 로딩 (RK3399 기준)

U-Boot에서 커널 및 루트파일시스템 로딩 (RK3399 기준)1. 개요U-Boot는 Embedded Linux 시스템에서 가장 먼저 실행되는 부트로더이며, 하드웨어 초기화부터 커널과 루트파일시스템(RootFS) 로딩까지 전체 부팅 과정의 핵심적인 역할을 맡습니다. 본 글에서는 Rockchip RK3399 기반 보드를 기준으로 U-Boot가 커널(zImage, uImage, fitImage)과 RootFS를 어떻게 로딩하고, 어떤 방식으로 커널 커맨드라인을 전달하며, SD/eMMC/NAND/네트워크(TFTP) 부팅 설정을 통해 실제 리눅스 커널을 기동하는지 로그 분석과 함께 정리합니다.글의 마지막에는 “U-Boot의 마지막 임무는 커널을 안전하게 넘겨주는 것이다”라는 결론으로 내용을 정리합니다.2. U..

u-boot 2025.12.09

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

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

Python/SciPy 2025.12.09
반응형