前面几天中断了好几天,装了个linux,搭建了一下深度学习环境。入坑tensorflow,算是目前相当方便的一个平台了。环境的搭建我有单独写了个博客。
我搭建的环境
ubuntu16.04LTS + python3.6+tensorflow1.2
我的硬件环境:
i7-4720HQ @2.60ghz*8 + 950m
直接上手tensorflow的入门教程,mnist手写字符的识别,tensorflow的官方文档写了一个手写字符识别的入门CNN网络,但是没有画出网络结构,相信对于初学者还是有点难以理解的。
我这里画了一个草图
总的来说就是两层卷积(第一层包括一个卷积(32个5×5的kernel)+一个池化,第二层包括一个卷积(64个5×5的kernel)+一个池化)两层全连接,前面3层的激活函数都是采用了relu:max(0,x),最后一层用softmax输出10类目标
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Jun 25 11:59:53 2017
@author: matthew
"""
import input_data
import tensorflow as tf
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
sess = tf.InteractiveSession()
# build softmax
x = tf.placeholder("float",shape = [None,784])
y_ = tf.placeholder("float",shape = [None,10])
#initialize weights and bias
def weight_variable(shape):
initial = tf.truncated_normal(shape,stddev = 0.1)