본문 바로가기

전체 글

(159)
Flow Matching 설명 Introduction 디퓨전 계열이 생성 모델에서 엄청난 성능을 보여주며 주류가 되어 버린지는 한참 되었다. 그러나 여러 번에 걸친 샘플링이 디퓨전 모델의 좋은 성능을 만들어 주는 것처럼 보이지만 이는 동시에 추론 속도가 느려진다는 뜻이다. 그래서 디퓨전 모델보다 더 빠르고, 더 좋은 모델을 만들어 보려는 연구는 꾸준히 존재했고 Flow Matching은 그런 연구 중 하나다. Flow Matching을 제안하는 논문은 동 시기에 여러개가 등장했으며 Flow Matching for Generative Modeling 논문은 그 중의 하나이다. 추가로, 최근 Stable Diffusion3가 Flow Matching 기반의 모델이라고 해서 좀 더 관심을 한번 더 모으고 있는 것 같다. 이 글은 Flow ..
so-vits-svc 구조 정리 2023년 7월 1일의 svc-develop-team/so-vits-svc v4.1 기준으로 쓴 글입니다. https://github.com/svc-develop-team/so-vits-svc/tree/76128e95ec09a5adcf4d6b233bc5c8ef78cce377 GitHub - svc-develop-team/so-vits-svc: SoftVC VITS Singing Voice Conversion SoftVC VITS Singing Voice Conversion. Contribute to svc-develop-team/so-vits-svc development by creating an account on GitHub. github.com 소개 중국 쪽 커뮤니티에서 시작된 프로젝트로 Singi..
Soft-VC 테스트중 2022.11.14 Discrete Unit으로 KSS 어쿠스틱모델은 훈련시켰는데 그리 만족스럽지가 않다. Vocoder 훈련하려니까 CUFFT가 4090은 cuda 11.8에서만 돌아가는거 같다. 토치가 아직 11.8 compatible이 아니다. ngc에다 torchaudio를 직접 빌드해야할까... 2022.11.20 Hubert Soft 모델로 새로 acoustic model을 훈련시켰다. 공개되어 있는 base vocoder로 cross lingual을 해봤으나 마음에 들지 않는다. 일단 보코더를 Finetuning하려고 했으나 hifigan의 generator만 공개되어 있고 discriminator가 없어서 바로 파인튜닝을 할수가 없다. 새로 학습시키려면 내 로컬에서 돌리기에는 1주일정도 걸..
WSL에서 GPU를 쓰면 우분투보다 느려질까? WSL 2랑 우분투에서 https://github.com/pytorch/benchmark 이 곳의 코드를 돌린 결과 비교글입니다. 환경 통제를 정확히 한게 아니라 성능 차이가 있긴 하구나 정도로 봐주세요. 결과만 보려면 바로 스크롤 내리시면 됩니다. 잡설 GPU를 사용해서 딥러닝 학습 환경을 구축 한다면 기본은 리눅스를 사용한다. 그것도 보통 ubuntu에서 진행할 것이다. 이게 마음에 안들어도 어쩔 수 없다. CUDA와 cuDNN 버전에 쳐맞고 드라이버 버전에 쳐맞고 하다보면 도커를 찾게 되며, GPU와 도커를 같이 쓰려면 리눅스 네이티브를 써야했다. 이런 상황에 WSL 2에서 GPU를 지원하고 심지어 도커랑 물려서 사용이 가능해졌다. 지원을 시작한지 아직 2년도 안됐던거 같다. 윈도우에서 이 세팅을 ..
fastapi에서 mongo db 사용할 때 _id 처리하기 fastapi는 pydantic을 사용하여 데이터 모델을 정의한다. mongo db의 경우 object id가 _id로 정의된다. 그래서 정수 a, b, c를 가지는 mongo db의 모델을 pydantic으로 정의한뒤 fastapi에서 쓴다고 치면 아래와 같이 정의를 해볼 수 있을 것이다. from pydantic import BaseModel class DataModel(BaseModel): _id: str a: int b: int c: int 아마 _id를 str이 아닌 objectID 같은 타입으로 선언할 거 같긴 한데 일단 str이라고 하자. 여기서 문제가 발생하는데 pydantic의 데이터 모델은 언더스코어(_)로 시작하는 변수를 private으로 간주하고 접근할 수 없게 해놓는다. 그래서 데..
연구프로젝트 샘플 데이터셋은 카이스트오디오북데이터셋(링크)을 사용했습니다. 모델의 학습은 ESPNet(링크)와 ParallelWaveGAN(링크)을 사용했습니다. 학습이 제대로 되진 않았지만 학습이 완료된 모델을 다운 받으시려면 여기서 확인해주세요. Tacotron2와 HiFiGAN, Finetuned HiFiGAN입니다. Ground Truth, baseline, augment 순입니다. 생성된 음성은 15 db씩 볼륨을 키운 상태입니다. Seen Speaker Same Utterance Text : 혼자 노래하면서 언덕에 올라서서 땀을 닦고 있을 바로 그때였어요. Text : 더 생동감 있는 표현이 됩니다. Text : 위태로운 상태에 있었다. Text : 해당 시민단체 측이 폭행을 가한 이들을 경찰에 고소한 사실이 ..
본선대비 연습 1, 2, 3일차 포기했던 본선에 예상치 못하게 올라가게 되가지고 최대한 PS에 시간을 투자하고 있다. 1일차는 선린 가을맞이 알고리즘 대회 셋이 있길래 이걸 3시간 잡고 돌았다. Celebrity는 이전에 비슷한 문제에서 비트마스킹 써서 그래프 나타내는 풀이를 몰랐다면 시간 내에 못풀고 저기서 막혔을거 같다. 구름다리 같이 서로 다른 걸 고르는 게 루트개 이하로 떨어진다는 걸 사용하는 풀이는 이제 많이 익숙해진거 같다. 2일차는 구사과님 run@kaist 연습 게시글을 토대로 셋을 짜고 외계 미생물이란 문제를 풀었다. 네시간 잡고 돌렸는데 D에서 트리 DP 생각하다가 시간을 많이 쓰고 마지막엔 C를 쭉 고민하다가 끝났다. C는 x축에 수직인 직선을 그으면 만나는 원이 얼마 안된다는 것이 제일 중요한 관찰이었다. 문제는 ..
파이썬 f-string 템플릿으로 쓰기 파이썬에서 f-string 쓰는법 파이썬에서 f-string은 바로 evaluation이 이루어지기 때문에 템플릿처럼 사용이 불가능하다. 정 사용하려면 아래처럼 람다로 사용해야 한다. f-string을 raw text로 저장해두고 이를 사용해서 포매팅을 하는 것은 불가능해보인다. template = lambda name, handle : f'Current name is {name}, handle is {handle}' DB 서버가 죽었는지 체크하는 방법 지금 하고 있는 프로젝트에서 파이썬에서 MySQLdb를 이용해서 Mysql 서버에 요청을 보내는데 연결이 살아있는지, 쿼리가 이상한지를 체크해야 한다. 일단 쿼리가 이상한가를 체크하는 데에는 서버에 쿼리 날린 다음에 MySQLdb.ProgrammingEr..