tensorflow v1 : Classification

km-ji·2024년 1월 30일

tensorflow

목록 보기
2/9

placeholder() ?

개념

test(X_test, y_test) 데이터랑 train(X_train, y_train) 데이터를 학습 시킬 때마다 len(~~) 값을 써주기에는 너무 버거움.
=> tf.placeholer() 사용!!

  • 실제 데이터가 담길 일종의 접시
  • 용도에 따라 data type과 shape을 설정해서 선언하고 사용
X = tf.placeholder(tf.int64, shape = (None, 10))

배치사이즈가 달라지는 경우 (minibatch)가 있어서 행의 수를 none으로 만들어 두는 경우가 많다

feed_dict

  • sess.run() 함수에게 전달하는 Placeholder와 실제 data의 쌍 (딕셔너리)
X = tf.placeholder(tf.float32, shape=[None])
train = X*3 + 5

X_data = np.array([2,3])
print(sess.run(train, feed_dict={X: X_data}))

feed_dict={키 값, value 값}
여기서

<키 값 = 접시>
<X_data value 값 = 접시 위에 어떤 게 올라갈 지 정해주는 것>

test 데이터로 하고 싶을 경우

X_test = np.array([10,15])
print(sess.run(train, feed_dict={X: X_test}))

MNIST 데이터 셋으로 실습

데이터 준비

from tensorflow.keras import datasets 

(train_data, train_label), (test_data, test_label) = datasets.mnist.load_data()

데이터 차원 확인

print(train_data.shape) # # of training data == 60000, each data = 28px * 28px
print(test_data.shape)
train_data[0].shape
import matplotlib.pyplot as plt

plt.imshow(train_data[0], cmap='gray') 

그 후,, 정규화 하고.. 원핫 인코딩도 하고~

인코딩

utils.to_categorical() 쓰면 원핫 벡터로 변환 가능
profile
I'm mz. Do you want to try mzing?

0개의 댓글