본문 바로가기

분류 전체보기175

[Deep Learning] 활성 함수(activation function) 정리 딥러닝에서 여러가지 활성함수를 사용하게 되는데 그에 따라 활성함수를 정리하고자 한다. Linear 선형 활성함수이다. 특징으로 두 가지 문제점을 갖는다. 첫 번째로는 보이는것과 같이 선형의 구조를 가지기 때문에 미분 값은 항상 같은 상수 값이다. 그래서 활성함수의 미분하는 과정을 통해 손실을 줄이는 역전파(backpropagation)를 할 수 없다. 두 번째로는 Hidden Layer를 무시한다. 다시 말해 Layer를 Deep하게 쌓아도 결국 Weigt * X + Bias 로 치환된다. example) ((ax +b)*c+ d)*e + f ... = W * X + B Sigmoid Sigmoid는 output을 0과 1사이로 만들어 준다. 데이터는 평균 0.5를 갖게 된다. 식은 다음과 같다. 장점으.. 2021. 7. 28.
[Python] numpy 패키지를 이용하여 FFT 하기 Numpy에 내장함수를 이용하여 간단하게 FFT를 해보자. 다음과 같은 음원 중 일부를 가지고 FFT를 진행한다. # linear scale import matplotlib.pyplot as plt import librosa import numpy as np wav_file = '파일경로/파일명' wav, sr = librosa.load(wav_file,sr=16000) # 음원에서 FFT 시작점, N-point는 320 start = int(sr * 0.3) end = start + 320 wav = wav[start:end] signal = np.fft.fft(wav) signal = signal ** 2 / len(signal) plt.plot(abs(signal)) plt.xlabel("bin").. 2021. 7. 28.
Pycharm으로 원격 서버 SSH 연결하기 Pycharm에서 원격 서버 SSH를 통해 연결하고자 한다. 먼저 Local에서 연결하고자 하는 디렉토리를 생성한다. Pycharm을 실행하고 [File]-[New project]를 선택한다. [Location]에서 아까 만든 디렉토리의 위치로 선택한다. 그리고 interpreter에서 더보기 박스를 클릭한다. [SSH interpreter]에서 연결을 원하는 서버의 [Host], [Username], [Port]를 입력한 후 [Next]로 넘어간다. 다음은 서버의 [Password]를 입력하고 [Next]로 넘어간다. [interpreter]에 기본으로 /usr/bin/python 이라고 입력되어있는데 해당 서버의 인터프리터는 /usr/bin/python3 이므로 알맞게 입력 후 [Finish]를 클릭.. 2021. 7. 28.
[Pytorch] Custom dataset & dataloader 만들기 custom dataset / dataloader가 필요한 이유 점점 많은 양의 data를 이용해서 딥러닝 모델을 학습시키는 일이 많아지면서 그 많은 양의 data를 한번에 불러오려면 시간이 오래걸리는 것을 넘어서서 RAM이 터지는 일이 발생한다. 데이터를 한번에 다 부르지 않고 하나씩만 불러서 쓰는 방식을 택하면 메모리가 터지지 않고 모델을 돌릴 수 있다. 그래서 모든 데이터를 한번에 불러놓고 쓰는 기존의 dataset말고 custom dataset을 만들어야할 필요가 있다. 또한 길이가 변하는 input에 대해서 batch를 만들기 위해서는 dataloader에서 batch를 만드는 부분을 수정해야할 필요가 있어 custom dataloader를 사용해야 한다. 그래서 dataset과 dataload.. 2021. 6. 21.