목록AI (114)
기록하는삶
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/I55dg/btrqwtKzjui/L6rSmu4OApAO07FFpkOb60/img.png)
보통 os 모듈을 사용해서 폴더나 파일 등을 다루는 일이 많은데, pathlib을 사용하면 운영 체제간 호환이 가능한 경로가 지원되고 경로를 객체 자체로 다룰 수 있어 편하다. 아래처럼 어떤 os 환경인지를 포함한 경로가 구해짐을 알 수 있다. import pathlib # 현재 디렉토리 cwd = pathlib.Path.cwd() # 지정된 디텍토리의 부모 디렉토리 cwd.parent # 모든 부모 디렉토리 리스트화 list(cwd.parents) # 지정된 디렉토리의 모든 파일 경로 리스트화 list(cwd.glob('*'))
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/YLpmd/btrqAbCeIOG/S8X66ARKcmJydBuF7XIR8k/img.png)
코드를 짜다보면 사용자의 예상치 못한 사용이나, 예상되는 실수들로 인한 오류 및 예외들에 대해 처리해 줄 필요가 있다. 이런 예외들을 exception이라 하며, 보통 아래의 두 가지 경우를 포함한다. 1) 예상 가능한 예외 개발자가 코드 상에서 해결할 수 없는 문제로, 발생했을 때 비정상적인 종료에 앞서 진행 상황을 저장하거나, 오류의 원인을 고지하는 등 추가적인 조치가 필요하다. try-except 구문의 사용이 권장된다. Ex) - 함수의 변수를 입력하지 않거나, 잘못된 형식의 변수를 사용하는 경우 - 사용자의 입력에 오류가 있는 경우 - 파일 호출 시 파일이 존재하지 않는 경우 2) 예상 불가능한 예외 개발자의 실수로 인한 문제. 수행 불가능한 코드를 던지는 경우, 인터프리터가 자동으로 예외에 대..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cntog0/btrp54RRgxJ/RrPJ0xUk6rJSvhwRaokFT1/img.png)
Window 노트북을 사용하면서 아이패드를 사용하기 시작했다. 백준 문제를 풀 때나 두 가지 페이지를 동시에 보며 작업할 때, 듀얼 모니터의 필요성을 정말 많이 느끼고 있던 터라 무료 앱을 찾고 있던 중 spacedesk를 발견했다. https://www.spacedesk.net/#download spacedesk | Multi Monitor App | Virtual Display Screen | Software Video Wall The spacedesk Video Wall Software Engine enables convenient and inexpensive setup of display walls using a single PC www.spacedesk.net 일단 PC/노트북에 이걸 깔아준다...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/v0iT9/btrpBBpfnBy/SEpm5k8SkKIYCXHboITYKk/img.png)
지난 글: https://mingchin.tistory.com/230 [파이썬/Python] 한국어 STT, kospeech 활용기(4) _ 코랩&구글 드라이브 활용해 모델 학습하기 지난 글: https://mingchin.tistory.com/222 [파이썬/Python] 한국어 STT, kospeech 활용기(3) _ 학습을 위한 코드 수정, configs 변경 지난 글: https://mingchin.tistory.com/221 [파이썬/Python] 한국어 STT, k.. mingchin.tistory.com kospeech가 제공하는 inference.py는 하나의 음성 파일에 대해 텍스트로 변환한 결과를 출력하도록 지원하는 모듈이다. 지난 글까지 학습시켜 얻은 model.py를 이용해 예측을 ..
음성 인식에서 WER과 CER은 정확도를 판별하는 지표이다. 계산 방법과 코드는 각각 아래와 같다. ① WER(Word Error Rate) D : 음성 인식된 텍스트에 잘못 삭제된 단어 수 S : 음성 인식된 텍스트에 잘못 대체된 단어 수 I : 음성 인식된 텍스트에 잘못 추가된 단어 수 N : 정답 텍스트의 단어 수 단어 에러 비율(WER) = (S+D+I)/N ② CER(Chatacter Error Rate) D : 음성 인식된 텍스트에 잘못 삭제된 음절 수 S : 음성 인식된 텍스트에 잘못 대체된 음절 수 I : 음성 인식된 텍스트에 잘못 추가된 음절 수 N : 정답 텍스트의 음절 수 음절 에러 비율(CER) = (S+D+I)/N import Levenshtein as Lev def wer(ref..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bpc5Pg/btrpfgMtZEY/M92bn0sLXxWJINuKW7O9mK/img.png)
지난 글: https://mingchin.tistory.com/222 [파이썬/Python] 한국어 STT, kospeech 활용기(3) _ 학습을 위한 코드 수정, configs 변경 지난 글: https://mingchin.tistory.com/221 [파이썬/Python] 한국어 STT, kospeech 활용기(2) _ 폴더 위치 변경 및 모듈 설치 지난 글: https://mingchin.tistory.com/201 [파이썬/Python] 한국어 STT, kospeech.. mingchin.tistory.com 지난 글까지의 작업이 끝나면 데이터 상황에 맞게 configs들을 조정하고, augmentation 여부를 정하고, pre-process 과정에서 생성한 글자 사전을 사용하도록 지정하여 학..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/KdXkM/btro7g59HJl/wW6sGkWAuEVMzi4jkt2Kpk/img.png)
지난 글: https://mingchin.tistory.com/221 [파이썬/Python] 한국어 STT, kospeech 활용기(2) _ 폴더 위치 변경 및 모듈 설치 지난 글: https://mingchin.tistory.com/201 [파이썬/Python] 한국어 STT, kospeech 활용기(1) _ 단어 사전 및 transcript.txt 생성하기 오늘부터 몇 개로 나누어 작성할 글은 kospeech가 제공하는 모델 중 deepsp.. mingchin.tistory.com ① 데이터 갯수 설정 (+ augmentation 여부 선택) 필요한 모듈들을 모두 설치하고 나니, 학습 실행 과정에서 다음과 같은 오류를 만날 수 있었다. 마찬가지로, 가장 아래 에러의 발생지를 찾아가 코드를 뜯어봐야한다..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/X4ANK/btro07IGV4l/5SSBKm6XUl4496kixDY47K/img.png)
지난 글: https://mingchin.tistory.com/201 [파이썬/Python] 한국어 STT, kospeech 활용기(1) _ 단어 사전 및 transcript.txt 생성하기 오늘부터 몇 개로 나누어 작성할 글은 kospeech가 제공하는 모델 중 deepspeech2 기반 & 3가지 방법 중 character unit의 전처리를 가지고 진행했던 프로젝트를 복기하고 정리하는 글이다. 혹여나 나의 글 mingchin.tistory.com 지난 글에서 kospeech를 활용하기 위한 전처리, 글자 사전 만들기 및 transcript.txt 파일 만들기를 진행했다. 이제 베이스 모델 중 deepspeech2를 이용해 모델을 학습시키는 절차까지 정리해보려고 한다. 0) 학습 준비 원 저자의 깃허..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dcELdx/btroJjbJoyt/kGtOUskpdOMAheFv4k3iLk/img.png)
1) 그래프 데이터의 다양한 표현 방법 중 하나로, 꼭짓점(vertex) 혹은 노드(node)와 변(edge)으로 구성된 한정된 자료구조를 말한다. 데이터 간의 연결성을 표현하는 데에 그 장점이 있는 자료구조로, 지도나 도로 등의 경로에서의 최단거리 문제 등에서 활용된다. 코딩 테스트에서 그래프 탐색 문제는 자주 출제되는 유형이기도 하다. 경우에 따라 노드 간의 연결(간선_edge)에 방향성이 있기도, 없기도 하다. 즉 단방향 연결과 양방향 연결이 모두 가능하다. 간선에 가중치가 존재하기도 하며(ex_ 도로의 통행료, 도로 선택시 걸리는 시간 등), 순환이 가능한지 여부나 모든 노드가 연결되어있는지 여부에 따라 그 종류를 구분하기도 한다(사이클 vs 비순환 그래프, 완전 그래프). 구현은 아래의 두 가지..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nolCh/btrolUKrq7D/k90x3guKjfIHdMK7tnDjtK/img.png)
오늘부터 몇 개로 나누어 작성할 글은 kospeech가 제공하는 모델 중 deepspeech2 기반 & 3가지 방법 중 character unit의 전처리를 가지고 진행했던 프로젝트를 복기하고 정리하는 글이다. 혹여나 나의 글이 참고가 될 분들을 위해, 그리고 나 스스로의 복습을 위해 최대한 꼼꼼히 다루어보려고 한다. kospeech는 아주 훌륭한 오픈 소스임에는 틀림없지만, 생각보다 많은 디버깅이 필요했기 때문에 분명 사용하려는 경우에 공통분모가 있을 것이라 생각한다. 0) 환경, 기술 스택 나는 Window 10에서 anaconda prompt를 활용했고, 파이썬 3.8 기반의 가상환경에서 프로젝트를 진행했다. gpu를 가지고 있지 않아 로컬 환경에서 모델 학습이 가능한 것을 확인한 후 실제 학습의 ..