Python
-
[Transformers] 음성 텍스트 변환 모델 whisper 알아보기 (Automatic Speech Recognition)Python/Transformers 2024. 5. 9. 14:26
음성 텍스트 변환 모델 알아보기 (Automatic Speech Recognition)딥러닝 기술 중 상업적으로 자주 사용되는 모델은 대표적으로 음성 인식 모델을 꼽을 수 있습니다. 음성 인식 모델, 혹은 음성 텍스트 변환 모델이라고 부르는 Automatic Speech Recognition(ASR)은 옛날에는 Speech to Text라는 이름으로 알려졌던 모델입니다. 이 모델은 우리가 일상생활에서 말하는 ARS, 홈쇼핑 전화의 주소 인식 모델, 장애인을 위한 자동 자막 생성 기술 등 여러 분야에서 이미 활용되고 있지요. 이번에는 OpenAI에서 제작한 whisper 모델을 활용해 파이썬으로 음성 텍스트 변환 프로그램을 구현해 보도록 하겠습니다. OpenAI whisperwhisper 모델은 대표적인..
-
[pipreqsnb] 파이썬 requirements.txt 파일 생성하는 방법 알아보기Python/개발환경 2024. 5. 9. 09:57
파이썬 requirements.txt 파일 쉽게 생성하는 방법 알아보기파이썬(Python)으로 프로젝트를 배포할 때, 다른 컴퓨터에서도 동일한 실행 결과를 생성할 수 있도록 해야 합니다. 이를 재현성이라고 하며, 파이썬은 같은 버전의 파이썬과 패키지들을 설치한 경우 대부분 재현성을 확보할 수 있습니다.이번에는 파이썬 프로젝트를 배포할 때, 재현성을 확보하기 위해서 설치해야 하는 패키지의 이름과 버전을 나열한 requirements.txt 파일을 생성하는 방법을 알아보도록 하겠습니다. requirements.txt파이썬은 버전에 따라서 지원하는 패키지의 종류, 그리고 패키지의 버전이 다릅니다. 이 때문에 어떤 버전의 패키지를 설치해야 하는지를 명시한 문서가 필요한데요, 대부분의 경우에는 requireme..
-
[wordpress-xmlrpc] 파이썬으로 워드프레스 자동 포스팅 구현해보기Python/WebApp 2024. 4. 30. 10:12
파이썬으로 워드프레스 자동 포스팅 구현해보기많은 분들이 업무 자동화에 관심을 가지는 이 시기에, 문서 작성까지도 자동화를 구현하려는 분들도 덩달아 늘어나고 있습니다. 이번에는 파이썬으로 워드프레스 설치형 블로그에 자동으로 포스팅할 수 있는 시스템을 구현해 보겠습니다. 워드프레스는 XML-RPC 프로토콜을 지원하고 있는데, 이를 이용하면 인터넷 창을 켜지 않고도 간편하게 포스팅을 할 수 있지요. 파이썬을 이용해서 해당 규격을 만족하는 코드를 작성해 둔다면, 자동으로 포스팅을 할 수 있는 시스템까지도 구현할 수 있습니다. python-wordpress-xmlrpc 포스팅파이썬에서는 XML-RPC 규격을 외워두지 않고도 워드프레스 자동 포스팅을 구현할 수 있도록 하는 python-wordpress-xmlrp..
-
[Selenium] 파이썬 셀레니움으로 웹사이트 캡쳐하기Python/크롤링 2024. 4. 19. 16:17
셀레니움으로 웹사이트 캡쳐하기 파이썬(Python)의 웹크롤링(Web Crawling) 작업을 위한 패키지 하면 가장 먼저 떠올릴법한 셀레니움(Selenium)은 단순 크롤링 이외에도 웹사이트 테스트, 자동화 업무 등 폭넓게 활용되고 있습니다. 이번에는 셀레니움을 이용해서 웹사이트의 특정 영역을 캡쳐하는 작업을 구현해 보도록 하겠습니다. 해당 기능은 screenshot_as_png 기능을 이용하면 간단합니다. 이번에는 구글 검색창을 png 파일로 저장하는 기능을 만들어보겠습니다. 위 화면에서 빨간색 네모로 표시된 부분을 캡쳐하고 싶다고 가정한다면, 셀레니움에서 흔히 사용하는 find_element 기능을 이용해서 영역을 선택해 주면 됩니다. 해당 영역은 XPATH가 /html/body/div[1]/div..
-
[VSCode] 비주얼 스튜디오 코드로 파이썬 개발환경 구성하기Python/개발환경 2024. 3. 27. 09:12
비주얼 스튜디오 코드(VSCode)로 파이썬 개발환경 구성하기 요즘 프로그래머들 사이에서 인기 있는 통합 개발 환경(IDE)이라고 하면 비주얼 스튜디오 코드(Visual Studio Code)를 빼놓을 수 없습니다. 엄밀히 말해서 VSCode는 개발환경보다 단순 에디터 쪽으로 분류해야 하지만, 강력한 확장기능을 이용하면 메이저한 IDE보다 더욱 편한 개발환경 구성이 가능하지요. 이번에는 VSCode를 이용해서 파이썬(Python) 개발환경을 구현하는 방법에 대해 살펴보도록 하겠습니다. VSCode 설치 [그림 1] VSCode 공식 웹사이트 VSCode는 공식 홈페이지에서 손쉽게 다운로드할 수 있습니다. 다운로드 버튼만 누르면 설치 파일을 받을 수 있는건 물론이고, 많은 패키지 관리자에서 명령어만 입력하..
-
[scikit-learn] 의사결정나무(Decision Tree) 모델로 데이터 분류하기Python/scikit-learn 2024. 3. 18. 09:00
의사결정나무(Decision Tree) 모델로 데이터 분류하기 대표적인 기계학습 모델인 사이킷런(scikit-learn)에서는 데이터 분류를 위한 트리 모델을 지원하고 있습니다. 트리 모델이란, 의사결정나무에 기반한 비모수적 지도 학습 방법으로 다양한 if-else 조건문이 마치 나무처럼 배치되어 실제 데이터의 분류 기준을 정의할 수 있도록 구성하는 방식입니다. 의사결정나무 이번에는 트리 모델 중에서 의사결정나무 모델을 이용해 보려 합니다. 의사결정나무는 트리 모델의 가장 단순한 구현으로, 해당 모델의 장단점은 아래와 같습니다. 간단히 정리하자면, 직관적이라는 장점과 과적합에 취약하다는 단점이 있지요. [장점] 사람이 이해하기 간단하며, 모델을 시각화할 수 있습니다. 덕분에 화이트 박스 모델을 적용할 수..
-
[imbalanced-learn] 기계학습에서 불균형 데이터를 처리하는 샘플링 알아보기Python/scikit-learn 2024. 3. 15. 13:28
기계학습에서 불균형 데이터를 처리하는 imbalanced-learn 기계학습(Machine Learning) 작업을 진행하다 보면, 불균형 데이터(Imbalanced Data) 문제에 맞닥뜨리는 일이 종종 생깁니다. 예를 들어, 강아지와 고양이를 구분하는 모델을 구현한다고 하면 항상 강아지와 고양이 사진이 1:1 비율로 확보되지는 않습니다. 이 때 기계학습 모델이 한쪽의 클래스 정보에 편향된 학습을 하는 문제가 발생하는데, 문제는 이런 모델이 분류나 예측 등의 결과마저도 편향되는 상황이 일어납니다. [그림 1] 의사결정나무 모델의 불균형 데이터 학습 결과 차이 (출처) 그래서, 이런 문제를 해결하기 위해 데이터 샘플링(Data Sampling) 과정을 거칩니다. 데이터 샘플링은 특정 편향 문제를 해결할 ..
-
[scikit-learn] 머신러닝 최적화를 위한 GridSearch, RandomSearch CV 알아보기Python/scikit-learn 2024. 3. 14. 14:17
기계학습 모델 최적화를 위한 GridSearch, RandomSearch Cross Validation 알아보기 파이썬(Python)으로 기계학습을 구현할 때 고려해야 할 사항은 아주 많습니다. 이번에는 GridSearch, RandomSearch Cross Validation를 이용해서 기계학습 모델을 최적화하는 작업을 GridSearch, RandomSearch Cross Validation을 이용해서 알아보도록 하겠습니다. 두 교차검증 역시 사이킷런에서 sklearn.model_selection 모듈에서 지원하고 있습니다. 최적화(Optimization) 기계학습 모델을 만들 때는, 모델 종류 및 입력 데이터만 선정하는게 아니라 초매개변수(하이퍼파라미터, Hyper-parameter)를 설정하는 작..