본문 바로가기

분류 전체보기25

[Tensorflow]tensor란? Tensor는 multi-dimensional array를 나타내는 말로, TensorFlow의 기본 data type이다. 보통 1차원은 vector, 2차원은 metrix, 3차원 그 이상부터는 tensor 라고도 하지만 tensorflow에서 tensor는 vector랑 metrix를 합쳐서 multi-dimensional array를 지칭하는 용어로서 쓰인다. tensor를 간단하게 불러와서 확인해보면 (tf.constant method를 이용하여 tensor를 간단하게 생성할 수 있다.) hello = tf.constant([3,3], dtype=tf.float32) print(hello) # 출력 tf.Tensor([3. 3.], shape=(2,), dtype=float32) 이전 포스팅했던.. 2022. 9. 13.
[Numpy]넘파이 shape 변경 Numpy array의 차원을 변경 및 재구조화할 때 reshape()의 함수를 사용하게 된다. reshape외에도 차원을 변경하기 위한 다양한 함수가 존재한다. 따라서 차원 재구조화를 위한 다양한 함수를 포스팅 해볼까한다. 먼저, 임의의 numpy array를 만든다. a = np.arange(24).reshape(2,3,4) print(a, a.shape) # 출력 [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]] (2, 3, 4) reshape() 함수 a = a.reshape(4, -1) print(a, a.shape) # 출력 [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11] [12 13 .. 2022. 8. 30.
[Numpy]넘파이 연산(Broadcasting) Broadcasting은 numpy가 산술 연산을 수행 할 때 다른 모양의 배열로 작업 할 수있게 해주는 메커니즘이다. 더 작은 배열과 더 큰 배열이 있을 때 즉, 작은 배열을 여러 번 사용하여 더 큰 배열에서 연산을 수행하고자 할 때 사용한다. 그러나, broadcasting을 인지하지 못한 경우에도 사용될 경우 연산에 큰 오류를 범할 수 있다. 연산 자체는 가능하지만 원하는 값을 도출해낸 것이 아니고 원하는 값을 명확하게 알지 못할 때는 오류값임을 인지하기 어렵기 때문이다. Broadcasting은 어떤 원리도 작동이 되는지 아래의 코드로 확인해보자. 먼저, 행렬의 각 행에 상수 벡터를 추가하려 한다고 가정해보자. x = np.array([[1,2,3], [4,5,6], [7,8,9], [10,11,.. 2022. 8. 30.
[Numpy]넘파이 연산(sum) 넘파이 연산 중 sum 함수에서 axis 파라미터의 default 값은 None 이다. 그 의미는 axis를 지정하지 않으면 numpy array 안의 모든 요소를 더한 값이 나온다는 것이다. sum 함수(default) z = np.arange(1, 11).reshape(2, 5) print(z) # 출력 [[ 1 2 3 4 5] [ 6 7 8 9 10]] 먼저, 1부터 10까지 2행 5열의 2차원 배열을 가진 z를 생성한다. 생성된 z에 sum 함수를 적용해 그 출력을 확인하면 print(np.sum(z)) # 출력 55 모든 요소의 값을 더하여 출력값이 나온다. sum 함수(axis=n) 이제, axis 파라미터를 적용한 값을 확인해보자. sum1 = np.sum(z, axis=0) sum2 = n.. 2022. 8. 29.