DL in Python/Tensorflow2.x 기초
[tensorflow2.x 기초 - 1] tensorflow의 가장 기본적인 함수들 - .constant / .shape / .dtype / .cast / .numpy / tf.random.normal / tf.random.uniform
SuHawn
2020. 8. 30. 14:49
- TensorFlow 2.0 간단 사용법
In [2]:
import numpy as np
import tensorflow as tf
Tensor 생성¶
- []
- List 생성
In [3]:
[1,2,3]
Out[3]:
In [4]:
[[1,2,3], [4,5,6]]
Out[4]:
Array 생성¶
- tuple이나 list 둘 다 np.array()로 씌어서 array를 만들 수 있음
In [5]:
arr = np.array([1,2,3])
In [6]:
arr.shape
Out[6]:
In [7]:
arr = np.array([[1,2,3],[4,5,6]])
In [8]:
arr.shape
Out[8]:
Tensor 생성¶
- tf.constant()
- list -> Tensor
In [9]:
tf.constant([1,2,3])
Out[9]:
- tf.constant()
- tuple -> Tensor
In [10]:
tf.constant(((1,2,3),(4,5,6)))
Out[10]:
- tf.constant()
- Array -> Tensor
In [11]:
arr = np.array([1,2,3])
arr
Out[11]:
In [12]:
tensor = tf.constant(arr)
tensor
Out[12]:
Tensor에 담긴 정보 확인¶
- shape 확인
In [13]:
tensor.shape
Out[13]:
- data type 확인
- 주의: Tensor 생성 할 때도 data type을 정해주지 않기 때문에 data type에 대한 혼동이 올 수 있음
- Data Type에 따라 모델의 무게나 성능 차이에도 영향을 줄 수 있음
In [14]:
tensor.dtype
Out[14]:
- data type 정의
In [15]:
tf.constant([1,2,3], dtype = tf.uint8)
tensor = tf.constant([1,2,3], dtype = tf.float32)
- data type 변환
- Numpy에서 astype()을 주었듯이, TensorFlow에서는 tf.cast를 사용
In [16]:
arr = np.array([1,2,3], dtype = np.float32)
In [17]:
arr.astype(np.uint8)
Out[17]:
In [18]:
tensor
Out[18]:
In [19]:
tf.cast(tensor, dtype = tf.uint8)
Out[19]:
- Tensor에서 Numpy 불러오기
- .numpy()
In [20]:
tensor.numpy()
Out[20]:
- Tensor에서 Numpy 불러오기
- np.array()
In [21]:
np.array(tensor)
Out[21]:
type()를 사용하여 numpy array로 변환된 것 확인
In [22]:
type(tensor.numpy())
Out[22]:
In [23]:
type(tensor)
Out[23]:
난수 생성¶
- Normal Distribution은 중심극한 이론에 의한 연속적인 모양
- Uniform Distribution은 중심 극한 이론과는 무관하며 불연속적이며 일정한 분포
- numpy에서는 normal distribution을 기본적으로 생성
- np.random.randn()
In [24]:
np.random.randn(9)
Out[24]:
- tf.random.normal
- TensorFlow에서 Normal Distribution
In [25]:
tf.random.normal([3,3])
Out[25]:
- tf.random.uniform
- TensorFlow에서 Uniform Distribution
In [26]:
tf.random.uniform([4,4])
Out[26]:
In [ ]: