import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt #시각화를 위한 모듈
1. 데이터 불러오기
Tensorflow의 keras에서 제공하는 MNIST 데이터셋을 불러옵니다.
데이터셋.load__data() 이용
import tensorflow.keras imprt datasets
mnist = datasets.mnist
(X_train, y_train), (X_test, y_test) = mnist.load_data()
2. X__train 데이터 들여다보기 (shape 확인, 시각화 해서 어떤 데이터인지 눈으로 확인해보기)
불러온 데이터에서 이미지 데이터 하나만 뽑아서 시각화까지 확인해봅니다. .shape 사용
image = X_train[0]
image.shape # .shape 를 사용하여 이미지의 (height, width, (Channel)) 확인합니다.
#(28, 28) 이라고 나오면 channel이 없다는 거니까 'gray' scale이구나라는 것을 알 수 있고,
#(28, 28, 3)이라고 나오면 channel이 3. 즉, RGB 값이 있다는 것을 알 수 있습니다.
#데이터 시각화
plt.imshow(image, 'gray')
plt.show()
3-1. X__train 데이터 shape 확인 후 차원 수 늘리기
일반적으로 이미지 데이터셋을 보면 (Batch Size, Height, Width, Channel)의 차원이 들어갑니다.
여기서 Channel이 gray scale이거나 하면 (Batch Size, Height, Width)까지만 나오는데, 이를 (Batch Size, Height, Width, Channel)이렇게바꿔주고 싶을 때 필요합니다.
tf.newaxis 사용
#여러 방식이 있지만 저는 tf.newaxis 방식을 사용해보도록 하겠습니다.
X_train[..., tf.newaxis] #tf.newaxis 로 차원수 늘리기
X_train.shape #차원수 잘 늘어났는지 확인합니다.
3-2. X__train 데이터 shape 확인 후 차원 수 줄이기
matplotlib로 이미지 시각화 할 때는 gray scale의 이미지는 3번 째 dimension이 없으므로, 2개의 dimension으로 차원 조절해 주어야 합니다. .squeeze이용
display = np.sqeeze(new_train_x[0])#.sqeeze 확인
display.shape
'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 |
1. Tensorflow 2.0 기초 사용법 (0) | 2020.03.25 |