1. hardware specific optimization deep learning model의 compile과정에서 backend단에서 target hardware에 맞춰가는 optimization을 위해 여러가지 방법들이 사용 hardware intrinsic mapping, memory allocation & fetching, loop oriented optimization techniques, parallelization 등등 loop oriented optimization technique는 직관적으로 이해하기 쉬운데 loop fusion은 겹치는 loop를 하나로 합치는 것일테고 reordering은 loop 순서를 바꾸는 것일테고 unrolling은 loop를 풀어서 하나하나 실행되게 ..
D - Cheating Gomoku Narabe (atcoder.jp) D - Cheating Gomoku Narabe AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp . o x로 이루어진 2차원 배열에서 .을 o로 바꿀 수 있다. 이 때 행이나 열로 연속한 o의 개수가 k개가 되도록 최소로 바꾸는 횟수 처음에 DFS로 o의 좌표에서 시작해서 .을 o로 바꿔서 해보다가 당연히 시간초과났고 그러다가 행이나 열 각각에서 모두 조사해보면 된다는 생각이 들었다 여기까지는 좋았음 행 한줄에서 어떻게 .을 o로 바꿔야 연속한 o의 ..
1. sound representation 기본적으로 sound data는 1d signal waveform으로 주어짐 waveform에서 점을 임의로 뽑아 다음과 같이 1d tensor로 만듦 시간축에 따른 waveform을 그대로 사용하기는 어려워서 주파수 축에 옮기기 위해 Fourier transform을 이용 근데 그냥 전부 옮기는 것이 아니고 시간에 따른 변화를 파악하기 위해 굉장히 짧은 구간에서 변형시키는 short time Fourier transform을 사용 시간에 따른 변화를 구할려면 sliding window방식으로 구간을 옮겨가면서 변화시켜야함 짧은 구간인 A(20~25로 hyperparameter)에서 가운데 부분을 강조시키면서 boundary는 약하게 만들어서 spectrum으로..
1. idea I study math라는 입력문장을 unique한 단어들의 vocabulary로 변환하면 {‘I’, ‘study’,’math’} 사전의 각 단어는 vocab size만큼 차원을 갖는 one hot vector이다. ‘I’는 [1,0,0] ‘study’는 [0,1,0] ‘math’는 [0,0,1] sliding window라는 기법은 한 단어를 중심으로 앞 뒤로 나타난 단어들과 (중심단어,주변단어) 입출력쌍을 구성하는 기법이다. 이 단어 쌍에서 중심단어를 input으로 두고 주변단어를 output으로 두는 예측 task를 수행하는 2-layer neural network를 구성한다. one hot vector의 차원이 3차원이니 input과 output layer의 차원은 3차원 hidde..