반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

bro's coding

tensorflow.분류.mnist 본문

[AI]/python.tensorflow

tensorflow.분류.mnist

givemebro 2020. 5. 12. 15:50
반응형
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import tensorflow as tf

 

from tensorflow.examples.tutorials.mnist import input_data

mnist=input_data.read_data_sets('./mnist/data/',one_hot=True)

 

# mnist 분류
# RMSPropOptimizer
X=tf.placeholder(tf.float32,shape=(None,784))
y=tf.placeholder(tf.float32,shape=(None,10))

w=tf.Variable(tf.random.normal([784,10],0,0.1))
b=tf.Variable(tf.random.normal([10],0,0.1))
pred_y=X@w+b

##
entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(labels=y,logits=pred_y))
##

optimizer=tf.train.RMSPropOptimizer(learning_rate=0.01)
train_op=optimizer.minimize(entropy)

costs=[]
sess=tf.InteractiveSession()
tf.global_variables_initializer().run()

from sklearn.model_selection import train_test_split
X_trian,X_test,y_train,y_test=train_test_split(iris.data,np.eye(3)[iris.target])

for i in range(300):
    entropy_val,_=sess.run([entropy,train_op],feed_dict={X:mnist.train.images,y:mnist.train.labels})
    costs.append(entropy_val)
import matplotlib.pyplot as plt    
plt.plot(costs)


entropy_val,_=sess.run([entropy,train_op],feed_dict={X:mnist.test.images,y:mnist.test.labels})
pred_yyy=pred_y.eval(feed_dict={X:mnist.test.images,y:mnist.test.labels})
score=(pred_yyy.argmax(axis=1)==mnist.test.labels.argmax(axis=1)).mean()
score
0.9235

 

ww=w.eval()
plt.figure(figsize=[10,10])
for i in range(10):
    plt.subplot(2,5,i+1)
    plt.title(i)
    plt.imshow(ww[:,i].reshape(-1,28))

반응형

'[AI] > python.tensorflow' 카테고리의 다른 글

tensorflow.AUTOTUNE  (0) 2020.06.15
tensorflow.mnist.초급  (0) 2020.06.12
tensorflow.distinguish mnist  (0) 2020.06.11
tensorflow.mnist  (0) 2020.05.12
tensorflow.분류(중간층)  (0) 2020.05.12
tensorflow.분류(중간층).relu,sigmoid 비교  (0) 2020.05.12
tensorflow.분류(중간층X)  (0) 2020.05.12
tensorflow.placeholder  (0) 2020.05.11
Comments