본문 바로가기

Python122

[Python] Streamlit으로 대시보드 만들기 안녕하세요.오늘은 Streamlit을 활용하여 간단하지만 한눈에 보기 좋은 대시보드를 만들어보겠습니다.Streamlit은 데이터 시각화와 대시보드를 쉽게 만들 수 있는 Python 프레임워크로, 몇 줄의 코드만으로도 멋진 결과물을 얻을 수 있습니다. https://streamlit.io/ Streamlit • A faster way to build and share data appsStreamlit is an open-source Python framework for data scientists and AI/ML engineers to deliver interactive data apps – in only a few lines of code.streamlit.io 1. Streamlit이란?Streaml.. 2025. 8. 30.
[Python] 간단한 Attention 메커니즘 구현하기 (Query, Key, Value 이해하기) 안녕하세요 오늘은 딥러닝 모델에서 핵심으로 쓰이는 Attention 매커니즘을 파이썬 코드로 직접 구현해보겠습니다. Attention 이란 "어떤 입력이 현재 상황에서 얼마나 중요한지" 를 계산해 가중치를 주는 방식을 의미합니다. Attention 이란 사람도 문장을 읽을 때 모든 단어를 동일하게 보지 않고 상황에 따라 더 중요하다고 판단되는 단어에 집중(attention) 합니다. 딥러닝에서의 Attention 개념 또한, 현재 생성해야할 출력 (ex. 다음 글자, 다음 음향 프레임 등) 에 맞춰 과거 정보 중에서 관련성이 높은 부분에 더 큰 가중치를 주고, 그 가중치를 활용해 다음 출력을 만듭니다. 즉, Attention은 모델이 ‘모든 입력을 동일하게 보지 않고, 중요한 부분에 집중하게 만드는 장.. 2025. 8. 28.
[Python] 손글씨 숫자 이미지 분류 모델 만들기 (MNIST 데이터셋 활용) 안녕하세요, 오늘은 TensorFlow를 활용해서 손글씨 숫자 이미지 분류 모델을 만들어보겠습니다.대표적인 딥러닝 입문 예제인 MNIST 데이터셋을 활용해, 0부터 9까지의 손글씨 숫자를 인식하는 간단한 신경망 모델을 구현해볼 예정입니다. 1. TensorFlow란?TensorFlow는 구글에서 개발한 오픈소스 딥러닝 라이브러리로, 다양한 신경망 모델을 손쉽게 만들고 학습시킬 수 있게 도와줍니다. GPU 가속 지원도 잘 되어 있어 대규모 연산을 빠르게 처리할 수 있습니다.이번 실습에서는 TensorFlow 안에 포함된 Keras 고수준 API를 사용해 모델을 구현합니다. 2. MNIST 데이터셋이란?MNIST는 28x28 크기의 손글씨 숫자 이미지(흑백) 70,000장으로 구성된 데이터셋입니다.훈련 .. 2025. 8. 27.
[Python] PyTorch 텐서 차원 다루기 딥러닝에서는 차원(Dimension) 개념이 굉장히 중요합니다.배치 크기(batch_size), 채널(channel), 높이(height), 너비(width) 같은 정보들이 모두 차원으로 표현되기 때문이죠.이번 포스팅에서는 파이토치(PyTorch)에서 차원을 다루는 기본 스킬을 예제로 정리해보겠습니다. 전체 코드입니다. import torch# 1. 텐서(Tensor) 만들기# -----------------------------# 1차원 벡터 (길이 4)a = torch.tensor([1, 2, 3, 4])print("a:", a)print("a.shape:", a.shape) # torch.Size([4])# 2차원 행렬 (2행 3열)b = torch.tensor([[1, 2, 3], [4, 5, .. 2025. 8. 26.
[Python] gRPC로 양방향 통신하기 1. gRPC 개요 및 핵심 개념gRPC는 Google에서 개발한 오픈소스 원격 프로시저 호출(RPC) 프레임워크입니다. HTTP/2와 Protocol Buffers(Protobuf)를 기반으로 하며, 마이크로서비스 아키텍처(MSA) 및 분산 시스템 환경에서 고성능·고효율 통신을 위해 설계되었습니다.모든 환경에서 동작: 데이터센터, 클라우드, 엣지, 모바일 등 다양한 환경 지원다국어 지원: Python, Java, Go 등 10여개 이상의 언어 지원자동 코드 생성: .proto 파일만 있으면 서버/클라이언트 코드가 자동 생성됨1.1. RPC란?RPC(Remote Procedure Call)는 클라이언트가 네트워크를 통해 원격 서버의 함수를 마치 로컬 함수처럼 호출할 수 있게 하는 프로토콜입니다.→ 개발자.. 2025. 8. 22.
[Python] 음성 데이터 품질 검사(QC) 자동화 리포트 만들기 안녕하세요 오늘은Python을 이용해서 음성 데이터 QC(품질 관리, Quality Control ) 리포트를 만드는 방법을 소개하려고 합니다.음성 데이터를 TTS(Text-to-Speech)나 ASR(Automatic Speech Recognition) 같은 모델 학습에 활용하려면, 데이터 품질 관리가 필수적입니다.하지만 수천 개에 달하는 오디오 파일을 사람이 직접 일일이 들어보면서 확인한다는 건 사실상 불가능합니다. 그래서 오늘은 Python과 오디오 라이브러리(librosa, soundfile, pandas 등)를 활용해, 자동으로 품질 지표를 추출하고 CSV 리포트로 정리하는 방법을 살펴보겠습니다. 이 방법을 사용하면 대규모 데이터셋도 훨씬 효율적으로 관리할 수 있습니다.즉, 음성 데이터에서의 .. 2025. 8. 20.
[Python] Pytorch에서 벡터 합치기 (임베딩 결합 방식) 안녕하세요딥러닝에서는 여러 임베딩을 결합해서 새로운 입력으로 활용하는 경우가 많습니다.예를 들어 텍스트 임베딩 + 감정 임베딩, 사용자 임베딩 + 아이템 임베딩, 단어 임베딩 + 위치 임베딩 등이 있습니다.이번 포스팅에서는 PyTorch에서 자주 사용되는 벡터(임베딩) 합치기 방식 5가지에 대해서간단한 예제 코드와 실행 결과를 함께 살펴보겠습니다. 우선 터미널을 통해 파이토치를 설치해줍니다.> pip install torch 전체 코드입니다. """PyTorch 벡터 합치기 예제- 덧셈 (Sum)- 평균 (Mean)- Concatenation- 가중합 (Weighted Sum)- Concatenation + Linear (Projection)"""import torchimport torch.nn as n.. 2025. 8. 19.
[Python] JSONL 포맷으로 음성 데이터셋 정리하기 안녕하세요 오늘은 음성 데이터셋을 정리할 때 자주 사용하는 JSONL 포맷에 대해 이야기해보려고 합니다.AI 프로젝트를 하다 보면 오디오 파일과 그에 대응하는 전사(텍스트)를 한꺼번에 관리해야 하는데,이때 단순 CSV보다 확장성과 유연성이 좋은 형식이 바로 JSONL(JSON Lines) 입니다. 특히 최근 많이 쓰이는 허깅페이스(HuggingFace) 라이브러리에서는 JSONL을 사실상 표준처럼 지원하기 때문에,음성 데이터셋을 학습용으로 준비할 때 JSONL 포맷으로 변환해두면 바로 불러와서 사용할 수 있습니다. 오늘 글에서는JSONL이 무엇인지,왜 음성 데이터셋에서 JSONL을 쓰는지,그리고 Python 코드로 직접 변환하는 방법까지 함께 살펴보겠습니다. JSONL 이란? JSON Lines: 한 .. 2025. 8. 18.
[Python] librosa로 WAV 파일 무음 제거하기 안녕하세요 오늘은 파이썬에서 제공하는 오디오 처리 라이브러리인 librosa 를 활용해 wav 파일 앞뒤의 무음 제거를 해보도록 하겠습니다. WAV 파일이란Waveform Audio File Format 의 약자로 무손실(raw) 방식의 오디오 파일 포맷을 의미합니다. 단순한 PCM (펄스 부호 변조) 데이터로 오디오 처리에 작관적이며 원본에 가까운 소리를 보존하고 프레임 단위 접근이 가능하다는 장점이 있습니다. 단점으로는 용량이 일반적인 MP3 파일에 비해 훨씬 큽니다. WAV 파일의 사용 용도 음악 제작/편집: DAW(Logic, Cubase, Ableton 등)에서 작업 시 기본 포맷방송/미디어: 무손실 퀄리티 필요할 때AI/머신러닝:음성 인식(ASR)텍스트-음성 변환(TTS)스피커 인식/.. 2025. 8. 17.