[Tensorflow 2.0] 기초 사용법IT/AI2022. 9. 6. 22:16
Table of Contents
반응형
Load Packages
import numpy as np
import tensorflow as tf
Tensor 생성
list -> Tensor
tf.constant([1, 2, 3])
# Out
<tf.Tensor: shape=(3,), dtype=int32, numpy=array([1, 2, 3])>
tuple -> Tensor
tf.constant(((1, 2, 3), (1, 2, 3)))
# Out
<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
array([[1, 2, 3],
[1, 2, 3]])>
Array -> Tensor
arr = np.array([1, 2, 3])
tf.constant(arr)
# Out
<tf.Tensor: shape=(3,), dtype=int32, numpy=array([1, 2, 3])>
Tensor에 담긴 정보 확인
shape 확인
tensor = tf.constant(arr)
tensor.shape
# Out
TensorShape([3])
Data Type 확인
- 주의: Tensor를 생성 할 때 Data Type을 정해주지 않기 때문에 혼동이 올 수 있습니다.
- Data Type에 따라 모델의 무게나 성능 차이에 영향을 줄 수 있습니다.
tensor.dtype
# Out
tf.int32
Data Type 정의
tf.constant([1, 2, 3], dtype=tf.uint8)
# Out
<tf.Tensor: shape=(3,), dtype=uint8, numpy=array([1, 2, 3], dtype=uint8)>
Data Type 변환
tf.cast(tensor, dtype=tf.uint8)
# Out
<tf.Tensor: shape=(3,), dtype=uint8, numpy=array([1, 2, 3], dtype=uint8)>
Tensor에서 Numpy 불러오기
tensor.numpy()
# Out
array([1, 2, 3])
Numpy로 변환된 것 확인
type(tensor.numpy())
# Out
numpy.ndarray
난수 생성
Numpy에서는 난수 생성 시 기본적으로 Normal Distribution을 생성합니다.
- Normal Distribution은 중심 극한 이론에 의한 연속적인 모양
- Uniform Distribution은 중심 극한 이론과는 무관하며 불연속적이며 일정한 분포
Numpy에서 사용법
np.random.randn(9)
# Out
array([ 0.53020669, 0.65508422, -0.59177912, 1.16459962, -1.05122869,
0.08080872, 0.17245994, 0.08721459, -0.69788519])
TensorFlow에서 사용법
tf.random.normal([3, 3])
# Out
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[ 0.46394104, -0.8973731 , -0.1977468 ],
[-1.6685097 , -0.8181516 , -1.8963411 ],
[ 0.5654544 , 0.13616897, -1.7370273 ]], dtype=float32)>
tf.random.uniform([3, 3])
# Out
<tf.Tensor: shape=(3, 3), dtype=float32, numpy=
array([[0.7996844 , 0.05048668, 0.7060809 ],
[0.9390234 , 0.29056323, 0.33341527],
[0.4387114 , 0.13688791, 0.12659645]], dtype=float32)>
반응형
'IT > AI' 카테고리의 다른 글
[TensorFlow 2.0] Optimizer 및 Training (Keras) (0) | 2022.09.08 |
---|---|
[TensorFlow 2.0] 각 Layer별 역할 및 파라미터 (0) | 2022.09.07 |
[TensorFlow 2.0] 예제 데이터셋 (MNIST) 사용 (0) | 2022.09.07 |
Tensorflow 2.0과 PyTorch 소개 (0) | 2022.09.06 |
인공지능 개발준비 - 개발환경 구축(Windows) (0) | 2022.09.04 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!