1. Tensor 생성
Tensor 클래스로 구현된 tensor 자료형은 NumPy의 다차원 배열 ndarray 클래스와 마찬가지로, 다차원 배열 정보를 다루기 위한 자료형 입니다. 차이점은
- 텐서 자료형은 NumPy와 달리 심볼 연산이 가능한 객체이다.
- 텐서 자료형은 값을 처음부터 저장하는 것이 아니라 연산이 시작되는 시점에 참조 자료로부터 가지고 온다.
출처: https://datascienceschool.net/view-notebook/f818e16082c841a28c0ef5ea896fb39b/
먼저 Tensor를 생성하는 방법을 알아봅니다.
1) .constant사용하면 파이썬 리스트나 NumPy 배열을 상수 Tensor로 만들 수 있습니다.
tf.constant([1, 2, 3]) #파이썬 리스트를 상수 텐서로 만들기
tf.constant((1, 2, 3)) #파이썬 튜플을 상수 텐서로 만들기
arr = np.array([1, 2, 3])
tf.constant(arr) #넘파이 배열을 상수 텐서로 만들기 대부분 이 형태로 쓰입니다.
#보통은 파이썬이 알아서 데이터타임을 판단하지만 확실히 하고 싶거나 데이터 타입에 혼돈을 막고자 한다면, 직접 넣어주는 것도 가능하다.
tf.constant([1, 2, 3], dtype = tf.float32)
2) 난수로 구성된 Tensor 생성도 만들 수 있습니다.
#numpy에서는 normal distribution이 기본적으로 실행된다 그러나
#tensor에서는 normal distribution과 uniform distribution으로 나눠진다.
##numpy에서의 난수 생성
###numpy에서는 normal distribution이 기본적으로 실행된다 그러나
np.random.randn(9) # 0<= ~ <9
##tensor에서의 난수 생성
###normal distribution
tf.random.normal([3, 3])
###uniform distribution
tf.random.uniform([4, 4])
2. Tensor에 담긴 정보 확인
1) Tensord의 shape 확인
tensor.shape
2) Tensor의 datatype 확인
tensor.dtype
3) Tensor의 datatype 변경
: tf.cast(타입 바꾸고 싶은 텐서, dtype = 바꾸고 싶은 데이터 타입) 함수 사용
tf.cast(tensor, dtype = tf.uint8)
3. Tensor에서 Numpy 불러오기
Tensor.numpy() 사용
tensor.numpy() #이렇게 하면 tensor로 바뀌었던 numpy가 변환된다.
'Data Science > Tensorflow2.0, Pytorch' 카테고리의 다른 글
6. Tensorflow2.0 Optimization & Training (Beginner) (0) | 2020.03.25 |
---|---|
5. Tensorflow2.0 Build Model (0) | 2020.03.25 |
4. Tensorflow2.0 Layer Explaination (0) | 2020.03.25 |
3. Tensorflow2.0 (y_train) Data Preprocess (using MNIST) (0) | 2020.03.25 |
2. Tensorflow2.0 (X_train) Data Preprocess (using MNIST) (0) | 2020.03.25 |