StoryCode

MNST-input data 로 기본적 트레이닝 테스트

인공지능,AI,학습,ML,Tensorflow, Cafee2,MLFlow/Tensorflow
반응형

[ 참조 : MNST ] 


import tensorflow as tf


# input_data 가 [ 0, 0, 0, 1, 0 ] 가 [0, 0, 0, 1, 0] 이 다섯클래스다라는 것을 트레이닝

# 추후에 input_data 를 data set 으로 확장하면 됨.

input_data = [1, 5, 3, 7, 8 ,10, 12]

lable_data = [0, 0, 0, 1, 0] // 5 class




INPUT_SIZE = 7

HIDDEN1_SIZE = 10

HIDDEN2_SIZE = 8

CLASSES = 5




# input_data 와 lable_data 를 텐서로 바꾸기.

# shape=[X, Y], 

#           X = input_data set 의 개수, set이 100개면 100, 하지만 보통은 모르기때문에 None

#           Y = input_data 의 class 개수, 7

x = tf.placeholder(tf.float32, shape=[1, INPUT_SIZE])

y_ = tf.placeholder(tf.float32, shape=[1, CLASSES])





# 모델설계

# 신경망은 매트릭스연산 => Weight Matrix 설계 => Input data X Weight= 결과노드 => 결과 X Weight =결과노드 의 반복

# Weight 설계는 Variable로 제작

# truncated_normal = normal distribution,  디폴트평균 mean = 0.0, stddev = 1.0 사용 https://www.tensorflow.org/api_docs/python/tf/truncated_normal

# matmul : Matrix 곱셈


feed_dict = {x : input_data, y_ : lable_data}

W_h1 = tf.Variable(tf.truncated_normal(shape=[INPUT_SIZE, HIDDEN1_SIZE]), dtype=tf.float32)

b_h1 = tf.Variable(tf.zeros(shape=[HIDDEN1_SIZE]), dtype=tf.float32)



hidden1 = tf.matmul(x, W_h1) + b_h1


# 한번 더 반복

W_h2 = tf.Variable(tf.truncated_normal(shape=[HIDDEN1_SIZE, HIDDEN2_SIZE]), dtype=tf.float32)

b_h2 = tf.Variable(tf.zeros(shape=[HIDDEN2_SIZE]), dtype=tf.float32)

hidden2 = tf.matmul(hidden1, W_h2) + b_h2



# Output Layer


W_o = tf.Variable(tf.truncated_normal(shape=[HIDDEN2_SIZE, CLASSES]), dtype=tf.float32)

b_o = tf.Variable(tf.zeros(shape=[CLASSES]), dtype=tf.float32)


# Output 까지 아래와 같은 레이어로 그려진것.

# Hidden Layer 는 바꿔가며 트레이닝 테스트해야 함.

# 그래프는 아래와 같다.




# 트레이닝을 시키지 위해서는 Cost Function을 작성해야 한다.




반응형