분류 전체보기
-
id VS data_ptr()언어/파이썬 2021. 1. 1. 18:44
아이디 연산자(Identity Operators) is : 양쪽 Operand가 동일한 Object를 가리키는지 아닌지를 검사합니다. is not : 양쪽 Operand가 다른 Object를 가리키는지 아닌지를 검사합니다. 동일한 객체 여부를 판별하는 연산자이다. id() 함수는 객체를 입력값으로 받아서 객체의 고유값(레퍼런스)을 반환하는 함수입니다. id는 동일한 객체인지 판별하기 위해서 사용하는 함수 이다. 메모리 주소 연산자(Identity Operators) 변수.data_ptr() 메모리 주소값을 확인하는 함수이다. 결과값으로 메모리 주소가 나온다. 그렇다면 여기서 질문 두 변수 a와 b의 data_ptr()의 값이 같은데 id값이 다를 수 있을까? => 있다. 예를들어 a = torch.ten..
-
NLP 에서의 embedding size머신러닝 및 딥러닝 2021. 1. 1. 15:20
NLP에 대해서 "임베딩"이란 말을 많이 들었는데 "임베딩"이란 무엇일까? 임베딩 : NLP에서 일반적으로 사람들이 쓰는 언어를 기계가 알아들을 수 있게 수치화(벡터화) 하는 것으로 단어나 문장을 벡터 공간에 끼워넣는다(embed)는 의미를 가지고 있다. 이렇게 했을 때 장점이 어떤 것이 있을까? 1. 1.1 코사인 유사도와 같은 방법으로 가장 유사한 문장 또는 단어를 계산 하여 구할 수 있다. 1.2 t-SNE 차원 축소 기법으로 시각화가 가능하다. 2. 단어들 사이의 의미/문법적 정보를 도출 할 수 있다. 단어나 문장 사이의 유사도를 계산 할 수 있다. 코사인 유사도와 가은 방법으로 가장 유사한 문장 또는 단어를 계산 하여 구할 수 있다. t-SNE 차원 축소 기법으로 시각화가 가능하다. 단어들 사이..
-
numpy [...]언어/파이썬 2021. 1. 1. 13:20
파이썬 라이브러리중 하나인 numpy는 가장 많이 사용되는 라이브러리 중 하나이다. (저도 종종 사용합니다.....) 그 중 처음보는게 있어서 정리해본다. class MatMul: def __init__(self , W): self.grads = [np.zeros_like(W)] def backward(self, dout): self.grads[0][...] = dout 과 같은 형태를 보게 되었는데 여기서 [...]를 사용하게 되는 이유는 무엇일까? 사실 이 형태는 전에 포스팅 했던 S = Q[:] 형태와 비슷한 형태이다. 즉 S의 id값은 변경되지 않고 Q의 값을 그대로 취한다. 이게 Numpy 버전으로는 [...]로 생각하면 된다. 이렇게 하는 이유는 무엇일까? 바로 grads의 값을 바꿔도 dou..
-
파이썬에 관한 흥미로운 사실언어/파이썬 2020. 12. 29. 19:33
1. 파이썬 주소 해당 print 문에서 뭐가 나올지 예상이 되는가? 바로 답을 말하자면 첫째로 main에 있었던 id 값은 바뀌지 않는다. 즉 before a 의 id 값이 b's id에도 after a 의 id에도 그대로 나온다. 즉 매개변수로 들어간 a가 단순 값이 복사되어서 do 함수 b에 나오는 것이 아니라 실제로 a의 주소값이 들어가서 b의 값을 바꾸어도 a에 영향을 미치게 된다. 2. 파이썬 파일명 파이썬 파일명은 import 한 파일이름으로 만들지 않아야 한다. 아니면 계속 오류가 난다. 예를들어 오늘 나는 sentencepiece를 하려고 google에서 만든 sentencepiece를 import 했는데 해당 코드를 실행한 파일의 이름이 sentencepiece.py였다. 그래서 계속 ..
-
leetcode 5번 Longest_palindrom알고리즘 2020. 12. 29. 18:14
해당 문제는 문자열 s가 들어왔을때 가장 긴 palindrom을 찾는것이다. palindrom이란 회문으로 "토마토" , "기러기" 처럼 거꾸로해도 같은 말을 의미한다. 해당문제는 이번주 leetcode를 풀면서 가장 어려웠던 문제다 각설하고 해설해보겠다. 항상 느끼는 거지만 남의 코드가 제일 어렵다. 이번에도 천천히 해보자. 첫째로 예외처리이다. 만약 애초부터 입력 s가 회문구조이면 이것은 그냥 리턴하는 것이다. 이렇게 되면 s의 길이가 1일때 2일때도 다 처리할수 있다. 내가 현재 사용하려는 방법은 어떤 글자를 기준으로 왼쪽 한글자와 오른쪽 한글자를 포함하여 회문이면 더 넓혀서 또 회문인가를 찾는것이다. 그럼 회문의 구조는 어떻게 생기는 것일까? case1 : bb (길이가 짝수인 경우) case2 ..