전체 글

내공냠냠
· 공부
설명 정적 함수 클래스에서 바로 사용할 수 있는 함수 (인스턴스 선언 없이) 메서드의 실행이 외부 상태에 영향을 끼치지 않는 순수 함수(pure function)를 만들 때 사용 사용 class 클래스이름: @staticmethod def 메서드(매개변수1, 매개변수2): 코드 class Calc: @staticmethod def add(a, b): print(a + b) @staticmethod def mul(a, b): print(a * b) Calc.add(10, 20) # 클래스에서 바로 메서드 호출 Calc.mul(10, 20) # 클래스에서 바로 메서드 호출 References https://dojang.io/mod/page/view.php?id=2379 파이썬 코딩 도장: 35.2 정적 메서..
· 공부
모델이 학습데이터를 입력받으면 forward 연산을 진행시키는 함수 model 객체를 데이터와 함께 호출하면 자동으로 실행된다. References https://wikidocs.net/60036 03-05 클래스로 파이토치 모델 구현하기 파이토치의 대부분의 구현체들은 대부분 모델을 생성할 때 클래스(Class)를 사용하고 있습니다. 앞서 배운 선형 회귀를 클래스로 구현해보겠습니다. 앞서 구현한 코드와 다른 점은 … wikidocs.net
· 공부
개요 등산을 해서 정상에 도착하려고 한다. 어디서 출발하는지에 따라서 보다 쉽게 혹은 어렵게 도착할 수도 있다. 어디서 출발하는지를 정해주는 게 가중치 초기화라고 보면 된다. 설명 가중치를 초기화한다. Glorot initialization 라고도 부른다. 이전 노드와 다음 노드의 개수에 의존하는 방법이다. 비선형함수(ex. sigmoid, tanh)에서 효과적인 결과를 보여주나, ReLU함수에서 사용 시 출력 값이 0으로 수렴하게 되는 현상을 확인 할 수 있다. 사용 torch.nn.init.xavier_uniform_(linear1.weight) References https://supermemi.tistory.com/entry/CNN-%EA%B0%80%EC%A4%91%EC%B9%98-%EC%B4%8..
· 공부
설명 일정 에폭에 도달하기 전까지 learning rate을 점차적으로 증가시킨다. 일정 에폭에 도달하면, 정해놓은 learning rate policy에 따라 동작하도록 한다. 설치 !pip install warmup-scheduler 사용 import torch from torch.optim.lr_scheduler import StepLR, ExponentialLR from torch.optim.sgd import SGD from warmup_scheduler import GradualWarmupScheduler if __name__ == '__main__': model = [torch.nn.Parameter(torch.randn(2, 2, requires_grad=True))] optim = SGD..
두번째 자료부터 시작, 그 앞 자료들과 비교하여 삽입 위치를 지정한 후 자료를 뒤로 옮기고 지정한 자리에 자료를 삽입하여 정렬하는 알고리즘 def insertionSort(arr): for i in range(1, len(arr)): key = arr[i] j = i - 1 while j >= 0 and key < arr[j]: arr[j+1] = arr[j] j -= 1 arr[j+1] = key 시간복잡도 최선: O(n), 평균/최악: O(n^2) 공간복잡도 O(n) 장점 단순 이미 정렬되어 있을 경우 효율적 제자리 정렬 안정 정렬 단점 비효율적 배열의 길이가 길어질수록 비효율적 References https://github.com/GimunLee/tech-refrigerator/blob/master..
해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘 최소값을 찾고 위치 값과 교환. 나머지도 같은 방법으로 교체. A = [64, 25, 12, 22, 11] for i in range(len(A)): min_idx = i for j in range(i+1, len(A)): if A[min_idx] > A[j]: min_idx = j A[i], A[min_idx] = A[min_idx], A[i] 시간복잡도 O(n^2) 공간복잡도 O(n), swap을 주어진 배열 안에서 수행 장점 단순한 알고리즘 제자리 정렬(in-place sorting) 정렬을 위한 비교횟수는 많으나 bubble sort에 비해 실제 교환횟수는 적음 단점 비효율적. 시간 복잡도 O(n^2) 불안정..
서로 인접한 두 원소의 대소를 비교, 조건에 맞지 않으면 자리를 교환하며 정렬하는 알고리즘 void bubbleSort(int arr[], int n) { int i, j; for(i = 0; i arr[j+1]) swap(arr[j], arr[j+1]); def bubbleSort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[i] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] 시간복잡도 모두 O(n^2) 공간복잡도 O(n), 주어진 배열 안에서 swap 사용으로 장점 구현 간단, 직..
3강 Audio Classification & Tagging user 의 맥락을 이해할 때 supervision을 준다 multi-class classification 경쟁 지표 : 레이블 가중치 레이블 순위 평균 정밀도(label-weighted label-ranking average precision, lwlrap) 순서 audio representation feature extraction classifier 4강 CTC - Data augmentation CTC : Conectionist Temporal Classification 둘 사이 가능한 모든 alignment의 가능성을 합산하여 작용 허용된 output에 새로운 토큰(epslion) 도입 input과 같은 길이로 alignment를 진행..
내공얌냠
내공냠냠