2021.12.11
1. 바보같은 실수
오류가 났는데 너무 당황해서 mate를 불렀는데 괄호를 제대로 안닫은 것이었다.
부끄럽고 창피하고.. 잊을만하면 하는 바보같은 실수. 언제쯤 잘 할 수 있을까?
2021.12.12
1. 코드 실패
어제 돌리고 잔 코드는 다 돌리지 못했다.
RuntimeError: CUDA out of memory.
런타임 에러가 나 있었다. 어제 batch size를 64에서 한 번 더 줄여 32로 돌렸는데도 그렇게 된 것이다.
코드를 수정할 엄두가 나지 않아서 mate가 사용하고 있는 코드를 받아 돌려 보기로 햇다.
2. 이상한 data들
선배가 이상한 음성 목록을 주었다.
목록에 있는 음성들을 확인해보니 파일이 존재하고 제대로 열리긴 하지만 아무 정보가 없는 이상한 음성들이었다.
그래서 data_list에서 제거해 주었다.
이제 대회 측 제공 data는 이쯤하면 전처리가 얼추 완성된 것 같다.
3. 궁금한 점
선배가 data를 cmd의 scp로도 파일을 받을 수 있다고 한다.
그렇게 하면 온전한 재택을 할 수 있을 것 같은데.
제대로 알아봐야겠다.
4. 오늘의 목표
원래는 내가 대회 측 제공 data를, mate가 추가로 구한 AIHub data를 pretrained하여 성능을 비교하기로 했었다.
하지만 우리의 속도가 생각보다 더뎌서 우선 더 중요한 대회 data를 함께 돌리기로 했다.
AIHub data의 전처리가 시간이 걸리기 때문이다.
2021.12.13
1. 코드 잘 진행 중
다행히 어제 새로 돌린 코드는 잘 돌아간다.
학습 진행률도 나쁘지 않아서 꾸준히 착착 돌리면 좋을 것 같다.
2. 지겨운 data전처리
AIHub data에 손을 대야겠지. 유아 음성에 대해
AIHub에서 구한 유아 dataset은 8살부터 10살까지라서 우리의 목표인 13살까지인 data도 AIHub에서 구해보자는 의도로 건들인 것이다.
그런데 논의 끝에 30대까지 포함하기로 했다. \(〇_o)/
그 이유는 여성의 경우 목소리 톤이 높아 유아 목소리와 유사할 것이라는 다른 이의 조언 덕분이었다.
3. 알아 볼 것
PyTorch model주고받는 것,
4. 새로 세운 목표
밤을 한 번 샜는데도 진도가 더뎌서 불안해 했는데 나쁘지 않게 진행되는 것 같다.
우리가 가진 data는 총 3가지인데 이들을 어떻게 학습시킬지에 대해 갑론을박을 펼쳤다.
(공교롭게도 나는 대화에 거의 끼지 못했다... 공부 열심히 해야겠다.)
아무튼 결론은 하나로 모아졌다.
대회에서는 대회 data에 대한 학습이 가장 중요하니, data를 한데 섞는 것이 아니라 pretrained하여 마지막에 대회 data를 학습시키는 것이다.
앞으로 data들을 합칠 예정이라 data 주소를 보다 자세하게 적어 csv에 저장해야겠다.
5. csv파일 주소를 더 자세하게 적어 저장하는 코드
기쁘게도 간단한 일이라 하루 만에 완성했다.
오래 걸린 이유는 data type 이해가 안돼서 print로 하나하나 확인해가며 돌렸기 때문이다.
중간에 꼼수로 다른 사람 코드를 차용해오려고 했는데 다른 부분을 차용해서 전혀 다른 결과를 뽑았다.
wr.writerow([file_names[i],labels[i]])
위 코드는 덮어 쓰이는 코드라 주의할 것.
2021.12.14
1. 모델공부
모델을 이해하는 건 기본 중의 기본이지만 이제야 본격적으로 시작...
선배가 편의를 봐줘서 다행이다.
아마도 내가 큰 도움이 되지 않을것을 감사하게도 일찍이 감안하고 대회 제안 하신 듯 하다.
마음과 달리 잠이 너무 쏟아져서 손을 놀리며 겨우 깔짝거릴 수 있었다.
2. 지겨운 전처리
지난번까지는 Token화 한 다음 빈도수가 적은 음절을 대상으로 오타를 수정하는 노가다를 주로 했지만
오늘은 다른 dataset인 성인남여에 대하여 노가다 했다.
AIHub의 구축 활용 가이드라인을 확인해 보니 아래 전사 규칙을 따르고 있었기에
이들을 구분해주는 코드를 이용하여 깨끗하게 정리했다.
당연하게도 여러 오타가 있었기 때문에 코드 외의 것들은 수작업으로 일일히 고쳐주었다.

3. 오늘의 느낀 점
선배가 문득 대회에 대해 어떻게 생각하는지 물어보았다.
그러나 워낙에 빠듯한 일정에 대회에 대해 시간을 갖고 관철해본 적은 없었다.
답변을 하며 내 생각이 한 차례 정리가 되었는데, 한 마디로 표현하면 '고마운 기회'라는 것이다.
정확히 종강 후에 시작하여 나만을 위한 일주일 단기 특강을 듣는 것 같다.
이 귀한 기회를 알려준 것도 무척 고맙지만,
무엇보다 먼저 이끌어주기로 마음먹고 최대한 가르쳐주려고 하는 선배에게 고마웠다.
다만 아쉬운 점은 혼자 했더라면 아무것도 못했을 것 같다는 생각을 지울 수 없었다.
베이스라인도 없어서 더더욱 그랬다.
그렇다고 한들 현재 내 위치에서는 선배가 주는 것을 열심히 받아 먹고 소화하는 것 뿐.
그것만이라도 잘 해내고 싶다.
선배에게는 model에 대해 너무 몰라서 걱정한 것보다 code는 만질 수 있어서 다행이라고 말했다.
4. 잊혀지고 있는 wandb
리눅스 버전과의 호환성 문제로 나는 서버1번만 다루기로 했다.
서버 2와 3을 다루기에는 위험하다고 판단했다.
하지만 서버1에는 13일부터 대회 data로 model이 무진장 열심히 돌아가고 있다.
model사용 전에 코드를 입력했어야 하는데, 어쩔 수 없이 wandb는 생략하기로 했다.
분명 아쉬워야 하는데 오히려 좋은 것 같기도...
5. detail의 중요성
max_len = 150으로 설정했는데 정말 그런지 확인하는 디테일.
각 에폭에서 최적값이 도출되면 해당 모델을 수시로 저장하는 디테일.
data가 정말 처음부터 끝까지 load되는지 체크해보는 디테일.
이런 디테일이 없다고 큰 일이 나는 것은 아니겠지만 삐끗하여 생기는 치명상을 줄이는 디테일들이다.
독학으로 배울 수 없었을 이런 디테일들을 옆에서 배울 수 있어서 좋다.
'추가 활동' 카테고리의 다른 글
[교육] RC CAR 자율주행 교육 프로그램 (0) | 2021.12.31 |
---|---|
[대회] 2021 AI 데이터 해커톤 대회 타임라인식 보고서 3 (0) | 2021.12.16 |
[대회] 2021 AI 데이터 해커톤 대회 타임라인식 보고서 (0) | 2021.12.12 |
[대회] 2021 AI 데이터 해커톤 대회: 시작 전 목표 설정 (0) | 2021.12.12 |
2021 AI 데이터 해커톤 대회 (0) | 2021.12.12 |
댓글