본문 바로가기

텐서플로4

tf.reduce_sum 함수 tf.reduce_sum 은 텐서의 모든 성분의 총합을 계산하는 함수다. 예를 들어 다음과 같은 \(2 \times 1 \times 3\) 텐서 \(A\)를 구성하는 모든 성분의 총합을 구하기 위해서 tf.reduce_sum(A) 하면 21 이 나온다. 이 때 모든 차원(dimension)은 사라진다. import tensorflow as tf A = tf.constant([[[1, 2, 3]], [[4, 5, 6]]]) print("A=", A) print(tf.reduce_sum(A)) Output: A= tf.Tensor( [[[1 2 3]] [[4 5 6]]], shape=(2, 1, 3), dtype=int32) tf.Tensor(21, shape=(), dtype=int32) 텐서 \(A\)의.. 2021. 3. 12.
Model Subclassing API로 간단한 CNN 구현해 보기 Sequential API와 Functional API에 이어서 이번에는 Model Subclassing API를 이용하여 CNN을 구현해 보자. Model Subclassing API는 자유도가 제일 높은 모델 구축 방법으로서 사용자 자신의 방법으로 신경망을 학습시킬 수도 있다. 딥러닝을 깊게 공부하려면 반드시 알아야 할 API다. MNIST 숫자 분류 대신에 Fashion_MNIST 데이터셋을 이용해 보기로 한다. MNIST는 손글씨였지만 Fashion_MNIST는 신발, 가방, 옷 등의 흑백 그림을 모아 놓은 데이터셋이다. 텐서플로2에서는 Fashion_MNIST 데이터셋도 쉽게 다운로드할 수 있다. fashion_mnist = tf.keras.datasets.fashion_mnist (x_trai.. 2021. 1. 11.
Sequential API로 간단한 CNN 구현해 보기 TensorFlow2에서 제공하는 모델 구현 API는 크게 3가지 종류가 있다. 신경망 레이어를 순차적으로 쌓아 나가는 방식의 Sequential API, 레이어를 함수형태로 정의하는 Functional API, 그리고 클래스 형으로 모델을 만들 수 있는 Model Subclassing API다. Sequential API는 간단한 모델을 쉽게 구축할 수 있으며, 빈 깡통 모델을 만들어 놓고 순차적으로 레이어를 추가하거나 한꺼번에 순차적인 모델을 구축할 수 있다. Functional API는 복잡한 모델을 구축할 때 유리하며 ResNet과 같이 순차적이지 않은 모델도 구축할 수 있다. Model Subclassing API는 자유도가 제일 높은 모델 구축 방법으로서 사용자 자신의 방법으로 신경망을 만들고.. 2020. 7. 17.
행렬과 벡터의 정의 행렬(matrix)과 벡터(vector)는 많은 양의 데이터와 함수 등을 간결하고 체계적으로 표현해 주는 수학적 도구다. 행렬은 함수나 숫자를 직사각형 형태로 배치하고 대괄호(또는 소괄호)로 묶은 배열로 정의한다. 다음은 행렬의 예다. \[ \begin{align} & \begin{bmatrix} 1 & 2 \\ -3.1 & 5 \\ 0 & -0.5 \end{bmatrix} , \ \ \ \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} , \\ \\ & \begin{bmatrix} e^x & x^2 & 2x \\ 4 & 0 & \sin(x) \end{bmatrix} , \ \ \ \begin{bmatrix} 3 \\ 2 \\ 1 \end.. 2020. 7. 15.