CS
-
Harmonizers Transformer 'process_data.py' 코드 분석CS/논문 리뷰 2024. 4. 17. 23:14
메인 코드 : 위 코드가 process_data --dataset CMD 등의 명령어를 실행했을 때 제일 처음 실행되는 코드이다. 1. 크게 데이터셋을 파싱하는 파트와, 2. 데이터셋의 batch를 저장하는 부분으로 나뉜다. 데이터를 파싱하는 부분에서는 CMD_parser_features.py를 호출해서 진행한다. 이 코드부터 살펴보도록 하자. 1. xml파일로부터 데이터 파싱 CMD_parser_features.py는 위 코드로부터 시작한다. save_feature()함수를 살펴보자. 일단 dataset에 저장된 데이터들을 불러와서, output파일에 파싱한 형태를 저장하는것 같다. files라는 객체에 데이터셋에 있는 xml 형식의 데이터들이 저장된다. 이 파일들을 순회하면서, 각 곡별로, 또 그 곡..
-
Harmonizers Transformer 논문 코드 재현CS/논문 리뷰 2024. 4. 14. 19:33
지난번에 Translating Melody to Chord: Structured and Flexible Harmonization of Melody with Transformer라는 논문을 살펴보면서 공부했는데, 코드를 직접 돌려보면서 구조를 봐야 더 잘 알것같아 깃허브에 있는 코드를 가지고 전체적인 구조를 살펴보았다. 코드는 다음링크에서 볼 수 있다. https://github.com/rsy1026/harmonizers_transformer
-
Translating Melody to Chord: Structuredand Flexible Harmonization ofMelody With TransformerCS/논문 리뷰 2024. 4. 11. 03:36
장르를 반영한 멜로디에서 코드 생성 관련 연구를 하고있는데, 모델을 설계할때 참고하면 많은 도움이 될 만한 논문을 발견하여 리뷰하고자 한다. 제목 - Translating Melody to Chord: Structured and Flexible Harmonization of Melody With Transformer 저자 - Seungyeon Rhyu, Hyeonseok Choi 논문 게시일 - 2022.02 영문으로 작성된 논문이고, 번역 / 요약하여 정리해보았다. https://ieeexplore.ieee.org/document/10096458 Music Mixing Style Transfer: A Contrastive Learning Approach to Disentangle Audio Effect..
-
Transformer-Based Seq2Seq Model for Chord Progression GenerationCS/논문 리뷰 2024. 4. 10. 23:16
제목 - Transformer-Based Seq2Seq Model for Chord Progression Generation 저자 - Shuyu Li(1), Yunsick Sung(2) 논문 게시일 - 2023.02.02 Abstract 음악 관련 연구에서 RNN 네트워크가 Trasnformer로 대체되고 있다. RNN을 사용하는 전통적인 접근방식에서는 입력 시퀀스의 길이가 제한되지만, 이 논문에서는 Pre train된 인코더와 디코더로 구성된 트랜스포머 기반의 Seq2seq 모델을 이용하여 멜로디에 대한 코드 진행을 생성하는 방법을 제안한다. 인코더는 멜로디에서 상황별 정보를 추출하고, 디코더는 이 정보를 사용하여 비동기적으로 코드를 생성하여 최종적으로 코드 진행을 출력한다. Introduction 언..
-
데이터 크롤링(with Mechanize)CS/Data Science 2024. 3. 31. 19:03
데이터를 수집하는 방법에는 여러가지가 있는데, 오늘은 크롤링 도구를 이용한 웹스크랩핑 방법에 대해 알아보고자 한다. 많은 데이터를 제공하는 기상청 사이트에서 기상 정보를 수집해보자! 아래 페이지에서 데이터를 수집할것이다. https://www.weather.go.kr/w/obs-climate/land/past-obs/obs-by day.do?stn=108&yy=2012&mm=4&obs=1 과거관측 - 일별자료 - 기상청 날씨누리 개편된 날씨누리 홈페이지 첫 화면에서 지도를 통한 실시간 기상정보와 레이더영상, 전국 특보 현황을 조회할 수 있으며, 내 지역의 현재 기상상황과 대기질 상태, 일출/일몰 시각을 확인할 수 www.weather.go.kr 데이터 크롤링의 큰 구조는 아래와 같다. 'Mechanize..
-
Regression - 회귀 모델CS/ML 2023. 10. 10. 21:11
지도 학습에 종류에는 회귀(Regression)와 분류(Classification)가 있는데, 이 둘은 '출력값의 종류'에 있어 차이가 있다. 이산적인 값, 즉 연속적이지 않은(Discrete) 예측값을 출력하는 모델이 분류모델이고, 연속적인 예측값(Continuous)을 출력하는 모델이 회귀모델이다. 회귀 모델 중, 가장 기본적인 선형 회귀 모델에 대해 알아보겠다. 선형 회귀(Linear Regression) 선형 회귀 분석은, 단순 선형회귀와 다중 선형회귀로 구분할 수 있는데, 사실 구분에 큰 의미는 없다. 독립변수(Feature)가 1개이냐, 2개 이상이냐 딱 그 차이 뿐이다. 독립변수가 1개이면, 1차원적인 직선의 형태로 그래프가 나타날 것이고, 2개면 평면으로 나타날 것이다. 위의 그림은 단순 ..
-
구문 분석CS/Compiler 2023. 10. 7. 15:17
컴파일러의 전반부 구조를 3단계로 나눈다면, 1. 어휘(lexical) 분석 2. 구문(syntax) 분석 3. 의미(Semantic) 분석 으로 구분할 수 있다고 하였다. 오늘은 두 번째 단계인 구문 분석에 대해 알아보자. 어휘분석 단계에서는 정규표현식으로 기술하고, 상태전이도를 따라가며 판별하여 토큰을 구분하였다. 구문분석 단계에서는, 이 토큰들을 파스트리로 나타내고자 하는 것이 목표이다. CFG(Context Free Grammar) CFG는 언어의 문법을 정의하는 일반적인 방법으로, 표현된 문법으로 인식기를 손쉽게 구현할 수 있게된다. CFG의 문법은 아래와 같이 네 종류의 집합으로 표현할 수 있다. G(문법) = (N,T,P,S) 1. N : non terminal 심벌 집합 중간과정 심벌이다...
-
Http 서버 부하 테스트CS/컴퓨터네트워크 2023. 10. 5. 17:44
오늘은 Http 서버의 부하 테스트(load test)를 해보려고 한다. 나는 테스팅 대상 서버로 저번 포스팅에서 구현했던 tcp_http_server를 이용하겠다. 테스트를 위한 도구로는, 오픈소스 로드 테스트 도구인 Locust를 사용할 것이다. 그 전에, Load test가 무엇인지부터 알고 들어가보자. Stress test / Load test stress test : 극한의 환경에서 시스템이 에러 컨트롤을 할 수 있는지 테스트하는 것 - 극한 조건에서 시스템의 동작을 모니터링 하기 위한 것이다. 스트레스 테스트는 압도적인 데이터나 리소스를 사용하여 테스트함으로써, 시스템을 '중단'시키려 한다. 에러 메세지, 시스템 복원 등을 측정한다. load test : 정상적인 작업 부하 조건에서 장치의 작..