목록분류 전체보기 (115)
ROKO
Out Of Memory killer 의 약자 리눅스에서 시스템 메모리가 부족할때 커널은 사용자 실행 파일 중 메모리를 많이 쓰는 app kill 한다. 이때 kill 기준은 oom_badeness() 메서드에서 nice와 score를 기반으로 하는데 /proc/${pid}/oom_score 위 명령어를 통해 현재 점수를 알 수 있다. 만약 자신의 실행 파일이 Out Of Memory Error 와 함께 Kill 당했을때 사유를 알고 싶다면 이 명령어를 실행해보자. dmesg | grep -E -i -B100 'killed process' 어떤 pid가 어떠한 사유로 kill 당했는지의 정보가 출력된다. (stackoverflow link) OOM Killer log는 /var/log/message 에 ..
numpy array 에서 유용하게 사용할 수 있는 옵션중 하나이다. 식이 갖는 의미는 배열안에서 for문을 실행하는것과 같다. Array[start:end:step] 의 형식으로 아무것도 쓰지 않을때는 전체 해당 열을 전체 출력한다는 것과 같다. import numpy as np #transformer의 positional encoding 수식 def get_sinusoid_encoding_table(n_seq, d_hidn): def cal_angle(position, i_hidn): return position / np.power(10000, 2 * (i_hidn // 2) / d_hidn) def get_posi_angle_vec(position): return [cal_angle(position..
Linear list 선형적인 순서를 가진 항목들의 집합 Commonalities - Linear data structure Differences - List can add and delete item at any index ArrayList Implemenatation #include using namespace std; //Remember : array index starts at 0 ! class ArrayList{ const static int MAX_SIZE = 100; int data[MAX_SIZE]; int length; public: ArrayList(){length = 0;} void insert(int pos,int item){ if(full()) throw 'list is full'..
Deque : abbreviation of double-ended queue front 와 rear에서 양쪽에서 삽입과 삭제가 가능한 queue Necessary components front : 맨 앞 index rear : 맨 뒤 index addFront(item) deleteFront() addRear(item) deleteRear() Additional components empty() full() getFront() : 맨 앞 데이터 값 반환 gerRear() : 맨 뒤 데이터 값 반환 size() Implementaition ArrayDeque #include #include "ArrayQueue.h" using namespace std; class ArrayDeque:public Arrra..
Queue Queue 는 대기줄이라는 의미가 있다. 일상생활에서 생각했을때 대기줄은 먼저 온 사람부터 나가게 되어있는데 그 부분을 그대로 구현한 자료구조이다. FIFO (First-In First_Out) 방식을 따른다. Necessary components front : queue의 맨 앞 index rear : queue의 맨 뒤 index enqueue(item) : item을 queue의 맨 뒤에 추가 dequeue() : 맨 앞의 요소를 삭제하며 반환 Additional operations empty() :queue가 비어있는지 확인 full() : queue가 가득 차있는지 확인 peek() : 맨 앞 부분 삭제하지 않고 반환 size() : queue의 현재 크기 반환 Implementati..
인턴 생활중 GPU 사용을 위해 서버를 접속해 사용하는데, GPU 사용현황을 확인하기 위해 해당 명령어를 입력하였다. nvidia-smi 그러자 아래와 같은 정보가 출력되었는데 각 숫자가 무엇을 의미하는지 몰라 헤멨던 기억에 작성하였다. Category category image를 기반으로 terminal output을 위에서 아래로 왼쪽에서부터 살펴보자. Driver Version : nividia driver version CUDA version : 현재 설치버전이 아닌 현재 driver version에 맞는 cuda 추천 버전 GPU : GPU number, cuda 사용을 위해 device 설정시 해당 index를 참고해야한다. Fan : N/A fan 이 없는 Tesla model, RTX 계열..
Python에는 array 개념이 없어지고 list만 남아있으므로 C++기반으로 알아보자. (이후 자료구조도 동일) C++의 개념을 충분히 알고 있다는 가정하에 설명하므로 모르는 부분은 나의 블로그 페이지나(내가 정리를 해놓았다면?) 구글링을 해보자. Stack 어원은 쌓다라는 의미로 이 의미와 비슷하게 쓰인다. LIFO (Last-in First-out) 의 방식으로 작동한다. Necessary Components push() : 데이터 저장 pop() : 데이터 추출, 저장공간에서도 삭제 top : 현재 데이터 사이즈 크기, 가장 위에 있는 데이터 위치 Addition operations peek() : 가장 위에 있는 데이터 확인 empty() : stack이 비어있는지 확인 full() : sta..
Data Structure a set of data & a set of operations on the data This is a structure that makes easy to access and to use data Appropriate DT(data structure) makes more faster and more efficient program, but inappropriate DT make performance worse ! General Data Structure Program = Data Structure(how easy to treat data) + Algorithm(how easy to solve problem) So be a good programmer, we should sele..
tqdm is very useful library who engage in deep learning research. What is tqdm? tqdm means "progress" in Arabic (taqadum) and is an abbreviation for "I love you so much" in Spanish (te quiero demasiado) We can see progress through progress bar - just wrap any iterable with tqdm! e.g. # python # not just "import tqdm"!!! we use tqdm.tqdm function so "from tqdm import tqdm" from tqdm import tqdm f..
This page is pytorch function summary got used to in paper. Docs will be updated forever. TORCH.TOPK torch.topk(input, k, dim=None, largest=True, sorted=True, *, out=None) - Returns the k largest elements of the given input tensor along a given dimension. Parameters: input (Tensor) – the input tensor. k (int) – the k in “top-k” dim (int, optional) – the dimension to sort along largest (bool, opt..