나는 python을 할 줄 모르므로
https://www.tensorflow.org/versions/r0.7/tutorials/mnist/beginners/index.html
를 따라해보기로 했다. 기계학습 초보자 소리는 안들을 수 있을 것 같긴하지만 모 기초를 탄탄하게 하는건 언제나 좋다. 역시나 MNIST가 나온다!
MNIST 데이터는 르쿤 옹의 홈페이지에서 받을 수 있다.
http://yann.lecun.com/exdb/mnist/
트랙픽이 엄청날것으로 예상되는 홈페이지다. 광고하나 걸면 때돈 벌듯.
일단 파이썬을 실행해야 한다.
python
을 키고, MNIST를 받는다. 이는
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
를 치면된다.
그러면 아래와 같이 나온다.
Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Extracting MNIST_data/train-images-idx3-ubyte.gz
Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Extracting MNIST_data/train-labels-idx1-ubyte.gz
Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Extracting MNIST_data/t10k-images-idx3-ubyte.gz
Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting MNIST_data/t10k-labels-idx1-ubyte.gz
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
와 같이 변수를 할당하자. 여기서 None은 길이를 지정해주지 않는 것이다.
y = tf.nn.softmax(tf.matmul(x, W) + b)
와 같이 연산을 할 수도 있다. 물론 아직 W가 학습되지 않았으므로 아무런 의미가 없는 연산이다.
학습은 간단하다.
y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
init = tf.initialize_all_variables()
와 같이 하면 학습이 된다.
실제 수행을 하려면 다음과 같이 하면 된다.
sess = tf.Session()
sess.run(init)
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
자 이제 학습이 되었다. 결과를 확인해보자.
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
일단 console에서 계속 작업을 하니 매우 귀찮다.
이제 에디터를 써보자. 형주가 추천을 해준 Spyder를 사용하기로 했다.
https://github.com/spyder-ide/spyder
에 들어가니
pip install spyder
를 치니 몬가 설치가 되긴 하는데, 에러가 한 줄 났다. 불안하다.
PyQt5 를 설치하라고 한다.
근데 Anaconda를 설치하면 다 있다고 한다.
https://www.continuum.io/downloads#_unixc
에 가자.
python -V
를 치니 파이썬 버젼이 나온다.
Python 2.7.6
yes
를 치니까 설치가 된다. (왠지 설치되는 내용 중에 spyder가 있는 것 같은데..) 그리고선
sudp apt-get install spyder
를 치니까 막 설치가 된다. 파일 목록에 들어가서 spyder 아이콘을 더블 클릭하니까 열렸다! 유레카.
다시 돌아오자 .
'Enginius > Python&TensorFlow' 카테고리의 다른 글
JupyterHub on AWS EC2 (0) | 2016.04.08 |
---|---|
딥러닝 강의 1주차 + VirtualBox에 Ubuntu + Anaconda (4) | 2016.04.08 |
AWS EC2 Ubuntu 사용하기 + Jupyterhub 써보기 (0) | 2016.04.07 |
Basic Python Usage (0) | 2016.04.06 |
TensorFlow 설치하기 (3) | 2016.03.02 |