분류 전체보기
-
Coqui TTS (XTTS-v2) 한국어 Fine-Tuning논문 후기와 구현 2024. 9. 3. 10:45
Coqui TTS (쿠키 TTS)일단 Coqui TTS로는 다음을 할 수 있다:- 음성 생성- 음성 클로닝 (커스텀 TTS)- 음성 Conversion (커스텀 TTS) 그런데 황망한 소식부터 전하자면, Coqui TTS는 24년 1월 운영중단되었다. GitHub에서 clone해와서 쓸 수는 있지만, 모델이 더 이상 업데이트되지는 않을 것이다. 이제 쓸만한 오픈소스 TTS는 OpenVoice 밖에 남지 않았다. 사실 굳이 AI 공부를 하려는 것이 아니고, 그저 고성능 Voice Cloning TTS(특히, 한국어)가 필요할 뿐이라면 Elevenlabs에서 유료로 사용하는 것을 추천한다. 한국어 성능도 이미 굉장히 좋아서, 한국어 Fine-tuning이고 나발이고 그냥 서비스를 갖다 쓰기만 하면 되니 이보..
-
고등학생도 하는 GPT Fine-Tuning (AI-Hub 방언 데이터셋 활용해서 fine-tuning해보기)논문 후기와 구현 2024. 9. 2. 23:33
PrerequisiteVisual Studio Code 설치 (데이터셋 용량이 커서 Google Colab에서 구현 힘듭니다)10기가 정도의 충분한 여유공간OpenAI 가입 및 금액 충전 (ChatGPT 구독과 별개) GPT Fine-Tuning작년(2023년) 하반기에 독일에서 일할 때만 하더라도, 굉장히 어렵게 코딩를 짰어야지 겨우 fine-tuning을 할 수 있었는데, 2024년 상반기부터 굉장히 편해졌다. 데이터셋만 있으면, 누구나 fine-tuning을 할 수 있다. 늘 생각하지만 GPT의 fine-tuning이 가장 쉽기를 바라는 곳이 다름아닌 OpenAI이기 때문에, 그런 걸 할 줄 안다는 것에 자신의 가치를 두어서는 안 된다. Fine-tuning의 역할과 한계인공지능을 과대평가하는 것은..
-
[Python] 프로그래머스 / 전화번호 목록 - 뻘짓한 풀이와 완전 짧은 풀이코딩테스트 2024. 8. 7. 15:38
문제링크 Trie 자료구조란 Trie(트라이)는 문자열을 저장하고 효율적으로 탐색하기 위한 트리 기반 자료구조이다. 일반적으로 문자열이나 단어의 집합을 처리하는 데 유용하다. 주로 자동완성, 사전 등과 같은 목적으로 해당 자료구조를 사용한다. 가장 기초적인 코드는 다음과 같다:class TrieNode: def __init__(self): self.children = {} self.is_end_of_word = Falseclass Trie: def __init__(self): self.root = TrieNode() def insert(self, word): node = self.root for char in word: ..
-
[Python] 프로그래머스 / 붕대 감기코딩테스트 2024. 8. 5. 15:13
문제 링크단순한 구현 문제이다. 정답 코드from collections import dequedef solution(bandage, health, attacks): # [5, 1, 5], 30, [[2, 10], [9, 15], [10, 5], [11, 5]] #시전 시간, 초당 회복량, 추가 회복량 T = deque(map(lambda x : x[0], attacks)) P = deque(map(lambda x : x[1], attacks)) fht = bandage[0] hps = bandage[1] sh = bandage[2] conti = 0 blood = health for t in range(1,..
-
[Python] 프로그래머스 / 네트워크코딩테스트 2024. 8. 5. 14:45
문제링크 Floyd-Warshall Dijkstra, Bellman-Ford와 함께 그래프에서 최적의 경로를 찾는 알고리즘으로는 Floyd-Warshall이 있다.이중 Bellman-Ford는 사실 거의 쓸 일이 없고, 보통은 Dijkstra를 이용할 때가 많다. 일단 시간복잡도도 O(n^2)로 낮은 편이기 때문이다. 그러나 모든 i to j에 대한 정보가 필요하다면, Dijkstra를 n번 돌려 O(n^3)을 구현하는 것보다, Floyd-Warshall로 한큐에 O(n^3)로 끝내는 게 더 간결한 코드이다. Floyd-Warshall 코드는 극도로 단순하다. k(경유지), i(출발지), j(종착지) 순으로 for문 돌리기만 하면 끝. 실전 코테에서 최적 경로 뿐만이 아니라 생각보다 다양한 용도로 Flo..
-
[Python] 프로그래머스 / 공원 산책코딩테스트 2024. 8. 3. 09:27
문제링크 정답 코드def solution(park, routes): n = len(park) m = len(park[0]) d = {'E' : (0, 1), 'W' : (0, -1), 'N' : (-1, 0), 'S' : (1, 0)} for i in range(n) : for j in range(m) : if park[i][j] == 'S' : x = i y = j break for route in routes : direction, distance = route.split() distance = int..
-
[Python] 프로그래머스 / 추억 점수코딩테스트 2024. 8. 3. 09:23
문제 링크 아이디어 1 : defaultdict활용일반적인 딕셔너리는 키가 존재하지 않을 때 에러를 발생시키지만, defaultdict로 하면 어떤 키를 호출하더라도 "기본값"을 반환하여 에러를 피할 수 있다. 다만 어떤 기본값을 반환할지 지정해줘야 한다. (int, list, set, labmda 등)가장 많이 쓰이는 것은 int, list인 것 같다.from collections import defaultdicta = defaultdict(list)a[2].append(3)print(a[2])# [3] lambda도 기본값으로 설정 가능하다:from collections import defaultdict# 기본값을 0으로 설정하는 lambda 함수 사용student_scores = defaultdic..
-
코드 돌려보기 - Hallo: Hierarchical Audio-Driven Visual Synthesis for Portrait Image Animation (Talking Head Generation)논문 후기와 구현 2024. 8. 3. 08:12
Talking Head Generation미국 대선이 다가오고 있다. 트럼프가 될지 해리스가 될지보다도 사실 내가 궁금한 것은, 이번 대선에서 Diffusion 기술이 어떤 위력을 발휘할 것인가이다. 24년 6월 15일 GitHub에 공개된 Hallo도 Diffusion을 활용한 Talking Head Generation 기술을 다룬다. Hallo: Hierarchical Audio-Driven Visual Synthesis for Portrait Image AnimationFlamingo라고, 투고되자마자 ChatGPT가 공개되어 어마어마한 결과물에 비해 주목을 많이 받지는 못한 불운의 논문이 있었는데, 하여튼 저때부터 뭔가 저런 억지 backronym으로 논문 이름을 짓는 게 아주 유행을 하는 것 같..