전체 글

내공냠냠
· 공부
모델이 학습데이터를 입력받으면 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를 진행..
B-Tree의 노드의 추가적인 생성관 연산을 최소화하기 위해 삽입, 삭제 시 발생하는 노드 분리를 줄이려고 고안됨 노드가 가득찰 경우 분열 대신 형제 노드로 재배치 정렬되어있고 중복 X 모든 leaf node는 같은 레벨 root node는 leaf node가 아닌 경우 적어도 2개 이상의 자식 노드를 가짐 root node, leaf node 가 아닌 내부 노드는 2((M-2)/3) + 1 ~ M 개의 자식 노드를 가지고 있음 References https://ssocoit.tistory.com/217 [자료구조] 간단히 알아보는 B-Tree, B+Tree, B*Tree 위 글을 보고 정리를 하지 않을 수 없었습니다. 가슴이 시키네요;; 그렇다면 바로 B-Tree, B*Tree, B+Tree의 특징에 ..
내공얌냠
내공냠냠