본문 바로가기

Python147

[Python] nn.Embedding 사용해보기 이번 포스팅에서는 PyTorch의 nn.Embedding 모듈을 사용하여 정수 인덱스를 임베딩 벡터로 변환해보도록 하겠습니다.nn.Embedding은 텍스트 처리에서 자주 사용되는 모듈입니다.앞으로 자연어처리(NLP), 감정 분석, TTS(음성 합성) 등 다양한 딥러닝 프로젝트에 활용될 수 있습니다. 우선 터미널에서 PyTorch를 다운로드 받아줍니다. > pip install torch 전체 코드입니다. embedding_example.pyimport torchimport torch.nn as nn# 임베딩 정의: 총 10개의 단어, 각 단어를 3차원 벡터로 임베딩embedding = nn.Embedding(num_embeddings=10, embedding_dim=3)# 임베딩할 입력 (정수 인덱스).. 2025. 8. 7.
[Python] 폴더 안 이미지 자동 리사이즈 하기 ( WebP 변환 후 일괄 저장) 안녕하세요.오늘은 특정 폴더 내에 있는 이미지 파일들을 원하는 사이즈로 일괄 리사이즈하고,이미지 포맷인 WebP 형식으로 자동 변환해 저장하는 방법을 소개하려고 합니다.이 작업은 블로그, 앱 썸네일, 웹 최적화 이미지 등을 준비할 때 매우 유용하게 쓰일 수 있습니다. 먼저 아래와 같은 준비물이 필요합니다. Python 3.x 이후 버전Pillow 라이브러리 (pip install pillow 로 설치 가능합니다)리사이즈하고 싶은 이미지 파일들 (예: .jpg, .png, .jfif 등) 전체 코드입니다. from PIL import Imageimport os# 현재 스크립트 실행 위치 기준 상대 경로# 원본 이미지 디렉토리 경로(inuput) 와 변환된 이미지가 저장된 디렉토리(output)경로입니다.. 2025. 7. 10.
[Python] 티스토리 웹 크롤링하기 (requests, BeautifulSoup) 안녕하세요 오늘은 티스토리 특정 블로그 게시글의 제목, 작성일자, 내용을 가져오는 웹 크롤링을 해보겠습니다. Python의 requests와 BeautifulSoup 라이브러리를 이용해, 웹 페이지의 HTML을 파싱하고 필요한 정보를 추출할 예정입니다. 크롤링 과정은 아래와 같은 순서로 이루어집니다:URL 요청 및 응답 받기HTML 파싱제목, 작성일, 본문 정보 추출결과 출력 1. 웹 페이지 요청 및 파싱 response = requests.get(url)response.raise_for_status()soup = BeautifulSoup(response.text, 'html.parser')입력된 URL에 요청을 보내고, 응답이 정상인지 확인합니다 (raise_for_status()).HTML 내용을.. 2025. 7. 10.
[Python] NumPy를 이용한 간단한 행렬 연산 및 TensorFlow로 선형 회귀 모델 구축 오늘은 딥러닝의 가장 기본적인 개념인 "선형회귀(Linear Regression)"를 이해하고자 파이썬 데이터 처리 라이브러리 NumPy 와 딥러닝 프레임워크 TensorFlow 를 사용해 간단한 딥러닝 학습 예제를 만들어보겠습니다. 딥러닝 프로젝트에서 Python은 거의 필수적이라고 할 수 있을 정도로 광범위하게 사용됩니다.딥러닝의 핵심 라이브러리들이 대부분 Python을 기반으로 하고 있기 때문입니다! 선형회귀 (Linear Regression) 란 - 선형 회귀는 데이터들 사이의 "선형적인 관계"를 가장 잘 나타내는 "직선"을 찾아내는 통계/머신러닝 기법. 여기서 선형적인 관계란 변수들(X와 Y)이 직선 형태로 증가하거나 감소하는 경향을 보이는 관계를 말합니다. 예시1) 공부 시간에 따른 시험.. 2025. 7. 2.
[Python] 음성 데이터를 Mel 스펙트로그램과 PyTorch 텐서로 변환해보기 딥러닝 모델은 음성 데이터를 직접 이해하지 못합니다. 따라서 음성은 숫자 배열, 즉 ‘텐서(Tensor)’ 형태로 변환되어야 합니다.이 글에서는 음성 파일을 불러와 Mel 스펙트로그램을 추출하고, 이를 PyTorch 텐서로 변환하는 전처리 과정을 실습해봅니다. 1. 라이브러리 설치 pip install librosa torch matplotlibLibrosa 는 오디오 데이터를 분석하고 처리할 수 있게 해주는 라이브러리입니다. 특히 음성이나 음악을 딥러닝에 넣기 전에 전처리하는 데에 최적화 되어 있습니다. 앞서 언급했듯이 TTS 에서 "음성 파일(wav)" 을 바로 모델에 넣을 수 없기 떄문에 사람의 말소리를 "배열"로 바꾸는 전처리 단계가 필요합니다. Librosa 라이브러리에는 오디오 파일 불러.. 2025. 6. 25.
[Python] tkinter으로 GUI 프로그램 만들기 : Todo 리스트 안녕하세요!이번 글에서는 파이썬의 표준 GUI 라이브러리인 tkinter를 이용해 간단한 Todo 리스트 프로그램을 만들어보겠습니다. 1. 준비물Python 설치Python 3.x 버전이 설치되어 있어야 합니다.tkintertkinter는 파이썬에서 그래픽 사용자 인터페이스(GUI) 프로그램을 만들 수 있게 해주는 표준 라이브러리입니다. 복잡한 설정 없이 간단하게 윈도우, 버튼, 입력창 등을 만들 수 있습니다.대부분의 Python 배포판에는 tkinter가 기본 포함되어 있습니다.만약 아래 코드에서 오류가 난다면, 아래 명령어로 설치해주세요.pip install tk 2. Todo 리스트 프로그램 만들기import tkinter as tk # tkinter 모듈을 불러옵니다.f.. 2025. 6. 19.
[Python] 파이썬으로 TTS(Text-to-Speech) 변환하기 - gTTS 활용 안녕하세요 오늘은 . 파이썬으로 TTS(Text-to-Speech) 변환해보도록 하겠습니다. gTTS는 Google의 Text-to-Speech API를 파이썬에서 간단하게 쓸 수 있게 해주는 라이브러리입니다. 1. gTTS 설치 pip install gTTS 2. gTTS 사용하기. from gtts import gTTS# 1. 텍스트 정의text = "안녕하세요. 파이썬으로 TTS 음성을 만들어 봅시다."# 2. TTS 객체 생성 (한국어 설정)tts = gTTS(text=text, lang='ko')# 3. 파일로 저장tts.save("output.mp3")print("✅ 음성 파일이 'output.mp3'로 저장되었습니다!") 같은 폴더에 output 이라는 이름을 가진 mp3 파일이 생성.. 2025. 6. 18.
[Python] FastAPI 에서 HTTPS 설정하기 안녕하세요.오늘은 FastAP에서 HTTPS 설정을 해보겠습니다. 1. HTTPSHTTPS(HyperText Transfer Protocol Secure)는 HTTP 프로토콜에 SSL/TLS 암호화 계층을 추가한 보안 통신 프로토콜입니다.즉, 웹 브라우저와 서버 사이의 모든 데이터가 암호화되어 전송됩니다.HTTP vs HTTPSHTTP: 평문(암호화되지 않은) 데이터 전송HTTPS: 암호화된 데이터 전송 (SSL/TLS 사용)SSL/TLSSSL(Secure Sockets Layer)와 TLS(Transport Layer Security)는 인터넷에서 데이터를 암호화해 안전하게 전송하기 위한 표준 프로토콜입니다.SSL은 원래 넷스케이프에서 개발된 보안 프로토콜이고, 이후 더 강력하고 안전한 TLS로 발전했.. 2025. 6. 12.
[Python] JSON 구조 데이터 전처리 하기 (필드 정리) 오늘은 JSON 구조로 되어있는 데이터를 파이썬으로 전처리하는 과정을 다뤄보겠습니다. TTS 전사 데이터, 크롤링 데이터, 로그 파일 등 다양한 곳에 활용할 수 있습니다. JSON 데이터 JSON(JavaScript Object Notation)은 사람도 읽기 쉬우면서, 기계도 쉽게 파싱 가능한 데이터 포맷입니다.웹 API, AI 학습 데이터, 설정 파일 등 거의 모든 분야에서 표준처럼 사용되고 있습니다. 가장 큰 특징으로는 key-value 구조라는 점입니다.딕셔너리처럼 "key": value 쌍으로 구성되어 있으며, 값으로는 문자열, 숫자, 리스트, 객체 등 다양한 타입이 들어갈 수 있습니다. 또한 텍스트 기반 데이터이기 때문에 `.json`, `.jsonl` 파일 형태로 저장되며, 텍스트 에디.. 2025. 6. 11.