분류 전체보기
-
Apache license 2.0에 대해 알아보자.기타 2020. 1. 21. 16:25
CRNN을 이용한 speech emotion recognition 코드를 작성하고 있는데 github에 업로드할 예정이다. Naver의 Speech AI hackathon 코드를 참고 중인데 코드에 적용된 license가 Apache license 2.0이어서 공부하였다. 1. 요약 Apache license는 원 저작물을 어떠한 방식으로 사용하든지 상관이 없다. 2차 저작물은 소스 코드를 공개할 의무가 없으며, Apache license를 사용하지 않아도 된다. 사용 결과에 대해서 원 저작자가 책임을 지지 않는다. 2. 사용법 1. code에 저작권 명시 아래에 원 저작자를 코드 맨 처음에 명시하면 된다. """ Copyright 2017- IBM Corporation Licensed under the..
-
Python과 Scipy 이용해서 FIR filter 만들기ML/Audio Signal Processing 2020. 1. 21. 16:19
Filtered-X LMS 알고리즘을 검증하는 과정에서 추정한 secondary path 대신 내가 임의로 만든 FIR filter를 넣으려고 한다. 그래서 FIR filter를 구현해야할 필요가 있었고 python과 scipy를 이용해 구현하였다. 사실 코드는 전부 참고하고 스펙만 변경하였다. 1. 함수 선언 from pylab import * import scipy.signal as signal #Plot frequency and phase response def mfreqz(b,a=1): w,h = signal.freqz(b,a) h_dB = 20 * log10 (abs(h)) subplot(211) plot(w/max(w),h_dB) ylim(-150, 5) ylabel('Magnitude..
-
gdb 사용해서 C 디버깅하기언어/C 2020. 1. 21. 16:17
C를 개발하는데 디버깅 안할 수는 없다. vim을 이용해 gcc로 C 개발을 시작했고, 드디어 디버깅이 필요한 시점이 왔다. 1. 디버깅 시작 gdb ./main 실행파일을 gdb로 연다. output: GNU gdb (Ubuntu 8.1-0ubuntu3.1) 8.1.0.20180409-git Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying"..
-
gdb에서 fopen 함수 디버깅시 step을 사용했을 때 에러언어/C 2020. 1. 21. 16:14
gdb를 이용해 step 명령어를 사용해 디버깅시 fopen에서 파일을 찾을 수 없다며 에러가 나는 것을 확인하였다. Breakpoint 1, main () at main.c:24 24 file_sp.err_sp = fopen("out/han/SP/error.csv", "wt"); // save error of estimating secondary path (gdb) s _IO_new_fopen (filename=0x555555556383 "out/han/SP/error.csv", mode=0x555555556380 "wt") at iofopen.c:88 88 iofopen.c: 그런 파일이나 디렉터리가 없습니다. 찾아보니 step과 next 명령어의 차이점에서 나타나는 문제였는데 영어로는 설명이 이렇다..
-
Vim 고수가 되어보자!개발 환경/Ubuntu 2020. 1. 16. 16:39
고급 개발자가 되기 위해서는 vim을 잘 쓰는 능력도 중요하다고 생각한다. (무엇보다 간지가 난다.) 그래서 이리저리 글을 찾아보던 중 좋은 글이 있어서 따라해보려고 한다. [번역] Vim 정복하기: 4주 계획 1. Vimtutor 이 글에서 첫 주 동안은 vim에서 제공하는 vimtutor를 매일 연습하라고 한다. 그래서 오늘 처음으로 한번해봤는데 거의 2시간은 걸린 것 같다... 시간 소요가 크지만 첫날이라 오래 걸린 것 같고, 연습하면서 많이 배웠다. 이런 기능이 있었구나 싶었고 앞으로도 많이 이용하게 될 것 같다. vimtutor 라고 명령어를 치면 vim tutorial이 뜬다. 이후 차례대로 읽으면서 시키는 대로 연습하면 된다! 또한 저 글에서 초보자는 플러그인 등 편하게 해주는 것들을 사용하..
-
tmuxinator custom layout 만들기개발 환경 2020. 1. 15. 13:26
주로 나는 서버에 접속해서 딥러닝 코드를 돌리기 때문에 htop과 nvidia-smi를 자주 사용한다. 한 창에 깔끔하게 다 띄우고 싶었다. 하지만 tmuxinator의 기본 layout인 main-vertical을 사용하면 nvidia-smi가 짤려서 제대로 확인할 수 없다. 그래서 layout custom에 대해 알아보았고 결국 해결했다! 1. 기본 layout - main-vertical windows: - process: layout: main-vertical panes: - ssh -p 1234 hanseokhyeon@223.123.12.12 - pane_with_multiple_commands: - ssh -p 1234 hanseokhyeon@223.123.12.12 - htop - pane_..
-
tmux와 tmuxinator 사용법개발 환경 2020. 1. 14. 19:13
터미널을 효율적으로 이용하기 위해서는 tmux를 써야한다. 또 tmux를 효율적으로 이용하기 위해서는 tmuxinator를 써야한다. tmux는 터미널을 window와 pane으로 나누어 한 화면에서 여러 터미널을 사용하게 만들어주는 패키지다. tmuxinator는 window와 pane으로 나누는 tmux의 설정을 기록해두고 편하게 불러서 사용하는 그런 툴이다. 1. tmux 설치 및 zsh 플러그인 추가 brew install tmux설치 후 zsh 플러그인에 추가해주자. vim ~/.zshrcoutput: ... plugins=( ... ... tmux ) ... 2. tmux 테마 변경 기본 테마 대신 다른 테마를 사용해보자. cd ~/ git clone https://github.com/gpak..
-
SSH key 사용하기개발 환경/Ubuntu 2020. 1. 13. 18:41
ssh를 통해 서버에 자주 접속하는데 비밀번호로만 보안을 하기에는 보안성이 떨어진다. 그래서 많이들 사용하는 SSH key를 사용해보았다. 1. key 존재여부 확인 cd ~/.ssh ls output: known_hosts 아마 키가 없으면 위의 결과를 볼 수 있을 것이다. 2. private key와 public key 생성하기 public key는 서버에 두는 것이고 private key는 로컬에 가지고 있는 것이다. private key를 가지고 있는 로컬 사용자만이 서버의 응답을 받을 수 있다. ssh-keygen -t rsa -b 4096 -C "sah0322@naver.com" 여기서 -t는 복호화 방식을 말하며 가장 많이 사용되는 rsa를 사용하였다. -b는 key를 만드는데 사용하는 비트..