12.2 넘파이처럼 텐서플로 사용하기
기본적으로 텐서플로는 텐서(tensor)를 사용한다. 텐서는 차원에 따라 스칼라 혹은 배열이 될 수 있다. 그리고, 텐서는 넘파이 배열(ndarray)과 유사하기 때문에 넘파이 패키지가 익숙하면 좋다. 텐서의 생성 텐서를 생성하기 위해 tf.constant() 함수에 텐서로 만들기 원하는 값을 인자로 전달하면 된다. import tensorflow as tf tf.constant([1, 2, 3]) >>> # 다차원 배열 tf.constant([[1, 2, 3], [4, 5, 6]]) >>> # 데이터 타입 명시 tf.constant([1, 2, 3, 4, 5, 6], dtype=tf.float32) >>> 텐서의 인덱싱 텐서는 넘파이 배열 혹은 파이썬의 리스트처럼 대괄호를 통해 인덱스 참조가 가능하다...
2022. 3. 21.
# 6. np.meshgrid
이번 포스트에서는 격자형 그리드를 생성하는 방법에 대해 포스팅한다. 격자형 그리드란 공간에서 일정한 간격으로 포인트를 찍은 것을 말한다. 격자형 그리드를 통해 특정 데이터 공간을 명확하게 그릴 수 있다. 이를 테면 아래와 같이 그릴 수 있다. x = np.linspace(-3, 3, 7) # array([-3., -2., -1., 0., 1., 2., 3.]) y = np.linspace(-2, 2, 5) # array([-2., -1., 0., 1., 2.]) x, y = np.meshgrid(x, y) print(x.shape, y.shape) >>> (5, 7) (5, 7) x와 y를 일정한 간격으로 포인트를 찍는 함수인 np.linspace를 호출하여 구성했다. 주어진 x, y에 대하여 np.me..
2022. 3. 17.
# 5. Universal functions
이번 포스트에서는 universal function에 대해 알아볼 것이다. 넘파이에서는 np.sin, np.cos, np.exp와 같은 친숙한 수학적 함수들을 제공한다. 넘파이에서는 이러한 함수들을 universal function(범용 함수)이라고 부른다. 이러한 함수들은 피연산자 배열의 원소 단위로 연산이 수행되며, 결과를 새로운 행렬로 반환한다. B = np.arange(3) B >>> array([0, 1, 2]) np.exp(B) >>> array([1. , 2.71828183, 7.3890561 ]) np.sqrt(B) >>> array([0. , 1. , 1.41421356]) C = np.array([2., -1., 4.]) np.add(B, C) >>> array([2., 0., 6.])..
2022. 2. 25.
# 4. Basic Operations
이번 포스트에서는 기본적인 넘파이 연산들에 대해 다뤄볼 것이다. a = np.array([20, 30, 40, 50]) b = np.arange(4) c = a - b # 1 Operation print(b) >>> array([0, 1, 2, 3]) # 2 Operation print(c) >>> array([20, 29, 38, 47]) # 3 Operation print(b**2) >>> array([0, 1, 4, 9]) # 4 Operation print(10 * np.sin(a)) >>> array([ 9.12945251, -9.88031624, 7.4511316 , -2.62374854]) # 5 Operation print(a >> array([ True, True, False..
2022. 2. 19.