분류 전체보기
-
Masking and padding with PytorchNatural Language Processing 2022. 2. 23. 00:25
아래 사이트를 참고하여 정리하는 글입니다. Reference https://www.tensorflow.org/guide/keras/masking_and_padding Introduction NLP 작업에서 텍스트는 모두 같은 길이가 아니므로 batch 처리를 위해 시퀀스의 길이를 같게 만들어야 한다. 컴퓨터는 행렬을 사용해 병렬 연산을 하므로 필수적인 작업이다. 너무 짧은 시퀀스의 경우 정해둔 최대 길이에 맞춰서 padding 처리를 해주고 너무 긴 시퀀스의 경우에는 최대 길이에 맞춰서 truncate 해줘야 한다. Padding은 최대 길이에 맞게 시퀀스의 앞부분 혹은 마지막을 0으로 채우는 방식이다. 이렇게 padding 처리를 한 시퀀스는 아무 의미 없는 0 데이터(더미 데이터)를 포함하게 된다...
-
[백준] 2606번 바이러스 (python 파이썬)Coding Test/백준 2022. 2. 16. 23:42
깊이우선탐색(dfs)로 해결 n_computer = int(input()) # 컴퓨터의 수 n_connection = int(input()) # 연결의 수 # 빈 인접 행렬 생성 # 노드가 1부터 시작하므로 인덱스가 0인 경우 무시하고 1부터 시작하기 위해 +1 해줌 graph = [[] for _ in range(n_computer+1)] # 연결된 컴퓨터의 번호 쌍 입력 받기 for i in range(n_connection): idx, val = map(int, input().split()) # 인접 행렬 생성 graph[idx].append(val) graph[val].append(idx) visited = [False]*(n_computer+1) def dfs(visited, v, graph):..
-
[백준] 2667번 단지번호붙이기 (python 파이썬)Coding Test/백준 2022. 2. 16. 23:32
2667번: 단지번호붙이기 깊이우선탐색(dfs)로 해결 N = int(input()) # 지도의 크기 N 입력 받기 graph = [] for i in range(N): graph.append(list(map(int, input()))) # 0 or 1 입력 받기 # dfs 함수 정의하는 부분 # return은 [단지 내 아파트의 개수, 단지의 경우 True 반환] def dfs(x, y, li): # 지도 범위를 벗어나면 안 되므로 if x=N or y=N: return [0, False] # 1인 경우 아파트이므로 방문 if graph[x][y]==1: # 여기서 li는 단지 내 아파트의 개수를 구하기 위해 사용됨 li.append(1) # 아파트에 방문했으므로 li 리스트에 1을 저장 graph[x..
-
Word2Vec (word embedding)Natural Language Processing 2022. 2. 9. 14:49
강의 보고 공부한 내용을 정리하는 글(문제시 비공개 처리하겠습니다) Reference https://www.youtube.com/watch?v=sY4YyacSsLc Background text는 모델의 입력으로 사용 못 함 그래서 encoding 기법을 사용해 text(I love you)를 숫자(0, 1, 2)로 변환함 encoding 기법 중 one-hot encoding이 있는데 단어 간의 유사도를 구할 수 없음 예를 들어, I(1, 0, 0) love(0, 1, 0) you(0, 0, 1) 인 경우 l2 norm은 1로 모두 같고 cosine 유사도는 벡터 간의 사잇각이 90이 돼버려 유사도가 0이 됨 Embedding 그래서 embedding을 사용함 embedidng은 dense vector로..
-
기초 자료 구조Data Structure 2022. 2. 6. 19:28
Reference 이것이 코딩 테스트다 with 파이썬 스택 선입후출, 후입선출 stack = [] stack.append(3) # 3 stack.append(5) # 3 5 stack.append(7) # 3 5 7 stack.pop() # 3 5 stack.append(4) # 3 5 4 stack.pop() # 3 5 큐 선입선출 재귀 함수 자기 자신을 다시 호출하는 함수 factorial 계산할 때 Graph 그래프는 노드(Node), 간선(Edge) 이 때 노드를 정점(Vertex)라고도 함 두 노드가 간선으로 연결되어 있다면 '두 노드는 입접하다(adgacent)'라고 표현 프로그래밍에서 그래프틑 크게 2가지 방식으로 표현할 수 있음 인접 행렬(adjacency matrix): 2차원 배열로 ..
-
[PyTorch] pack_padded_sequence, pad_packed_sequence 설명Deep Learning 2022. 2. 5. 20:24
Referece https://gist.github.com/HarshTrivedi/f4e7293e941b17d19058f6fb90ab0fec Minimal tutorial on packing (pack_padded_sequence) and unpacking (pad_packed_sequence) sequences in pytorch. Minimal tutorial on packing (pack_padded_sequence) and unpacking (pad_packed_sequence) sequences in pytorch. - pad_packed_demo.py gist.github.com https://simonjisu.github.io/nlp/2018/07/05/packedsequence.html P..
-
seq2seq 그리고 attentionNatural Language Processing 2022. 2. 4. 23:06
Reference https://guillaumegenthial.github.io/sequence-to-sequence.html Seq2Seq with Attention and Beam Search Sequence to Sequence basics for Neural Machine Translation using Attention and Beam Search guillaumegenthial.github.io https://wikidocs.net/24996 1) 시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq) 이번 실습은 케라스 함수형 API에 대한 이해가 필요합니다. 함수형 API(functional API, https://wikidocs.net/38861 )에 대해서 우선 숙 ..
-
batch size vs epoch vs iterationDeep Learning 2022. 2. 4. 18:07
아래 글을 참고한 포스팅 reference https://medium.com/mlearning-ai/difference-between-the-batch-size-and-epoch-in-neural-network-2d2cb2a16734 Difference Between the Batch size and Epoch in Neural Network Have you ever been confused about the conceptualization of batch size and epoch in neural network? Believe me, most enthusiasts often… medium.com https://towardsdatascience.com/epoch-vs-iterations-vs-batch..