본문 바로가기

분류 전체보기

(29)
Tensorboard와 OSError: [Errno 12] Cannot allocate memory 에러 Project를 하면서 여러 변수를 바꿔보고 모델도 바꿔보고 꽤 많은 것을 시각화 하고 있다. 그랬더니 Tensorboard가 memory를 85% 잡아먹으면서 swap memory까지 꽉차서 모델 inference 시에 "OSError: [Errno 12] Cannot allocate memory" 에러가 났다. Swap memory를 늘릴까도 했지만 이미 59G인데 그렇게까지 해야하나 싶어서 tensorboard를 잠시 중단하고 inference함으로써 문제를 해결했다. 이 문제로 성가신 일이 또 발생하면 swap memory를 늘려야지. 아래는 swap memory 늘리는 방법을 자세히 적은 블로그 글이다. https://www.digitalocean.com/community/tutorials/ho..
shutil 패키지를 이용해서 python에서 파일 복사/이동/삭제하기 Shell command Python method cp src dst shutil.copy(src, dst) mv src dst shutil.move(src, dst) cp -r src dst shutil.copytree(src, dst) rm -r src shutil.rmtree(src) rm src os.remove(src) shutil에 rm은 없어서 os.remove()를 써야 함. src나 dst가 상대경로이거나 dir이거나 file이거나 등등의 상황들은 shell command에서 사용하는 방법과 동일해서 적지 않았음. 이 글은 shell command에 익숙한 사람(나)을 위해 썼음.
E2E TTS에서 postnet이 필요한 이유 처음에 Tacotron에서는 griffin-Lim vocoder를 사용했으니, postnet을 써서 mel spectrogram을 linear spectrogram으로 바꿨지만, 그 이후에 Grifiin-Lim vocoder를 안쓰는 시스템에서도 대부분 postnet을 쓴다. 그 이유는! decoder가 프레임 예측을 causal하게 했기 때문에! non-causal하게 convnet을 사용해 backward context까지 반영하려고 postnet이 필요한 것이다.
Japanese/Korean/Vietnamese Corpus http://www.hieuthi.com/blog/2018/04/22/speech-japanese-korean-vietnamese.html 불러오는 중입니다...
특정 git branch만 clone하기 git clone -b {branch_name} --single-branch {저장소 URL} 예시. git clone -b relative_f0 --single-branch http://github.com/hash2430/mellotron
git rest을 이용해 unstage하거나 unroll하기 1. Stage되지 않은 변경 사항들을 날리기 git checkout -- . 2. Unstaging git reset HEAD {file_name} 3. Unroll soft git reset HEAD~1 --soft 방금 전 커밋을 unroll하되 그 커밋에 해당하는 변경 사항은 local directory에 남겨 둔다. HEAD~1의 자리에 특정 리비전을 명시하면 그 커밋으로 돌아감. 4. Unroll hard git reset HEAD~1 --hard 방금 전 커밋을 unroll하고 그 커밋에 해당하는 변경 사항도 local directory에서 날려 버린다. HEAD~1의 자리에 특정 리비전을 명시하면 그 커밋으로 돌아감.
Bytes are all you need #1. 일단,, Grapheme과 byte representation으로 합성기의 text 단위를 어느것을 쓰는게 나은지 비교 실험한 것이 나오는데, phoneme까지 비교를 했어야 유의미하고 흥미로운 비교라고 생각한다. phoneme을 고려하면 음질 측면에서는 byte이 phoneme보다 이득이라고 할 수 없겠지만, byte representation만이 갖는 절대적인 이득은 기존 TTS에 언어 추가가 용이하다는 점이다. => 왜냐면 byte representation을 예측하는 문제는 사전에 정의된 음소 집합에서 예측하는 문제와 달리 확장성이 무한하기 때문이다. 이 세상 어떤 언어도 256가지의 byte의 조합으로 표현 가능하니까. (이 점은 IPA도 해당되지만 IPA는 비싸다) => 그런데 lang..
Global style token [1] Reference embedding: Skerry-Ryan, RJ, Battenberg, Eric, Xiao, Ying, Wang, Yux- uan, Stanton, Daisy, Shor, Joel, Weiss, Ron J., Clark, Rob, and Saurous, Rif A. Towards end-to-end prosody transfer for expressive speech synthesis with Tacotron. arXiv preprint, 2018. [2] Global style token: Y. Wang et al., “Style Tokens: Unsupervised Style Modeling, Control and Transfer in End-to-End Speech Synt..