전체 글 85

numpy 공부: [Indexing] (3)

7. Structural indexing tools 저번 글에 이어서 np.newaxis에 대한 내용인데 일단 보기 쉽게 저번 출력값을 먼저 적어놓자면:x = np.arange(12).reshape(4, 3) # [[ 0 1 2] # [ 3 4 5] # [ 6 7 8] # [ 9 10 11]] y = x[np.newaxis, :] # [[[ 0 1 2] # [ 3 4 5] # [ 6 7 8] # [ 9 10 11]]] z = x[:, np.newaxis] # [[[ 0 1 2]] # # [[ 3 4 5]] # # [[ 6 7 8]] # # [[ 9 10 11]]] 참고로 x의 차원은 2차원, y는 (1, 4, 3)형태 3차원 텐서, z는 (4, 1, 3)형태의 3차원 텐서이다. np.newaxis가 행을..

파이썬3 노트 2018.08.09

numpy 공부: [Indexing] (2)

5. Boolean or "mask" index arrays y = np.arange(35).reshape(5, 7) # y = [[0, 1, 2, 3, 4, 5, 6], # [7, 8, 9, 10, 11, 12, 13], # [14, 15, 16, 17, 18, 19, 20], # [21, 22, 23, 24, 25, 26, 27], # [28, 29, 30, 31, 32, 33, 34]] b = y > 20 print(y[b]) #[21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34] boolean을 인덱스에 사용하는 것도 가능하다. 대신 정수로 인덱싱하는 것과 다르게 출력값은 1차원이 된다.참고로 print(y[b])와 print(y[np.nonzero..

파이썬3 노트 2018.08.08

numpy 공부: [indexing] (1)

방학이 끝나기 전 까지는 딥 러닝 모델을 구현하고 싶어 선배에게 상담하니 일단 넘파이-파이토치 순으로 공부해야 된다고. 그래서 넘파이 퀵 튜토리얼부터 보는데 정말 인덱싱 부분은 이해가 빨리 빨리 안되어서 적으면서 좀 외워야겠다. 일단 순서는 SciPy.org - NumPy v1.15 - Indexing 에 나와있는 순서대로. 1. Single element indexing x = np.arange(10) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(x[2]) #2 print(x[-2]) #8x[2]는 인덱스 2에 들어있는 값을 나타내고 x[-2]는 뒤에서 2번째 값을 나타낸다. x.shape = (2, 5) #x.reshape((2, 5)) # x = [[0, 1, 2, 3, 4]..

파이썬3 노트 2018.08.07

모듈/함수 공부: [데이터 모델] ①

벡터 클래스를 만들면서 일단 알려줬으니까 __add__, __sub__ 라는 형식을 계속 쓰긴 했지만 뭔지는 모르는 상태로 썼다.그래서 제대로 찾아봤다.일단 __어쩌구__ 라는 식으로 언더 바 2개로 메소드를 묶는 이유는 다른 파일에서 import로 메소드를 호출하게끔 할 수 있도록 해당 파일에서 생성한다는 표식인 것 같다. 일단 내 이해로는 그렇다.간단히 말하자면: __repr__(self)를 Vector라는 class 안에 생성해 놓으면 다른 파일에서 import Vector를 해서 repr(객체)라는 식으로 사용할 수 있는 말인 것 같다. 그리고 산수 연산자의 경우, 예를 들어, __add__의 경우 class 밖에서 +라는 연산자 기호를 사용해서 계산을 할 수 있게 된다. (혹시 틀렸다면 댓글로 ..

파이썬3 노트 2018.06.15

모듈/함수 공부: [typing] [@property] [[int, ...]]

현재 연구실에서 참가하고 있는(강제 참가) 공부회에서 내 준 과제가 numpy를 쓰지 않고(정확히 말하자면 inner product만은 사용해도 됨) 로지스틱 회귀 2진 분류기를 만들어 오는 것. 하필 연구실에서 프로그래밍 가장 못하는 내가 걸려서 끙끙대다 결국엔 선배가 대신 코드를 짜줬다. 코드를 읽으면서 이해는 할 수 있도록 하는 것이 나의 이번 목표. (랄까 내일까지 해야됨) [typing/type alias]from typing import List, Tuple, Union class Vector(object): def __init__(self, data: List[float]): self.data = data @property def shape(self) -> Tuple[int, ...]: r..

파이썬3 노트 2018.06.13