手写数字识别代码,可以跑通

来源:

https://github.com/caicloud/tensorflow-tutorial/tree/master/Deep_Learning_with_TensorFlow/1.0.0/Chapter05/

源文件在Python3有问题,无法解决

#来自实战谷歌深度学习框架126页,5.5章节示例代码

 

运行条件:

Python2.7

TF ==1.4

 

运行方法:

运行文件2,然后运行文件3,注意修改模型保存路径,

模型下载地址:链接:https://pan.baidu.com/s/1aXLv3K1agYUUZbtGlXTgHg  密码:x5jc

模型解压后文件夹是这样,就可以运行了

 

文件1:mnist_inference.py

# -*- coding:utf-8 -*-  

#来自实战谷歌深度学习框架126页,https://github.com/caicloud/tensorflow-tutorial/tree/master/Deep_Learning_with_TensorFlow/1.0.0/Chapter05/5.%20MNIST%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5
#此文件定义神经网络前向传播过程和神经网络中的参数,无论训练还是测试都可以直接调用inference这个函数

import tensorflow as tf

#神经网络结构相关参数
INPUT_NODE = 784 #输入层节点个数等于图片像素个数
OUTPUT_NODE = 10 #输出层节点个数,分类的种类数 
LAYER1_NODE = 500  #隐藏层节点个数

'''
tf.get_variable()获取变量
训练时会创建变量;
测试时候通过保存的模型加载这些变量;

'''
def get_weight_variable(shape, regularizer):
    weights = tf.get_variable("weights", shape, initializer=tf.truncated_normal_initializer(stddev=0.1))
    if regularizer != None: tf.add_to_collection('losses', regularizer(weights))
    return weights

#定义神经网络前向传播过程
def inference(input_tensor, regularizer):
    #声明第一层神经网络的变量并完成前向传播过程
    with tf.variable_scope('layer1'):

        weights = get_weight_variable([INPUT_NODE, LAYER1_NODE], regularizer)
        biases = tf.get_variable("biases", [LAYER1_NODE], initializer=tf.constant_initializer(0.0))
        layer1 = tf.nn.relu(tf.matmul(input_tensor, weights) + biases)
    #声明第二层神经网络的变量并完成前向传播过程

    with tf.variable_scope('layer2'):
        weights = get_weight_variable([LAYER1_NODE, OUTPUT_NODE], regularizer)
        biases = tf.get_variable("biases", [OUTPUT_NODE], initializer=tf.constant_initializer(0.0))
        layer2 = tf.matmul(layer1, weights) + biases
    #返回前向传播过程的结果

    return layer2   

文件2:mnist_train.py

# -*- coding:utf-8 -*-  

#定义神经网络训练过程
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
#加载文件mnist_inference.py定义神经网络前向传播过程和神经网络中的参数
import mnist_inference
import os

#配置神经网络的参数
BATCH_SIZE = 100  #每批次的数目,越小越接近随机梯度下降,越大越接近梯度下降
LEARNING_RATE_BASE = 0.8  #基础学习率 
LEARNING_RATE_DECAY = 0.99 #学习率的衰减率
REGULARIZATION_RATE = 0.0001  #正则化率:正则化项在损失函数中的系数
TRAINING_STEPS = 30000  #训练次数 
MOVING_AVERAGE_DECAY = 0.99 #滑动平均衰减率
MODEL_SAVE_PATH="/Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_model/"  #模型保存路径
MODEL_NAME="mnist_model" #模型名字

#训练模型的过程
def train(mnist):
    #定义输入,输出的placeholder。placeholder:存放数据的地方
    x = tf.placeholder(tf.float32, [None, mnist_inference.INPUT_NODE], name='x-input')
    y_ = tf.placeholder(tf.float32, [None, mnist_inference.OUTPUT_NODE], name='y-input')  #正确标注结果
    #定义l2正则化损失函数
    regularizer = tf.contrib.layers.l2_regularizer(REGULARIZATION_RATE) #正则化
    #直接调用mnist_inference中定义的常量和前向传播的函数
    y = mnist_inference.inference(x, regularizer) #预测结果
    #定义训练轮数的变量
    global_step = tf.Variable(0, trainable=False)

    #初始化滑动平均类
    variable_averages = tf.train.ExponentialMovingAverage(MOVING_AVERAGE_DECAY, global_step)
    #在变量上使用滑动平均
    variables_averages_op = variable_averages.apply(tf.trainable_variables())
    #定义交叉熵损失函数:刻画预测值和真实值之间的差距,当分类问题中只有一个确定结果时候使用这个函数;logits=y是前向传播结果。labels=tf.argmax(y_, 1)是正确标注的结果
    cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y_, 1))
    cross_entropy_mean = tf.reduce_mean(cross_entropy)  #计算在当前batch中所有样例的交叉熵平均值。
    loss = cross_entropy_mean + tf.add_n(tf.get_collection('losses'))
    #生成指数衰减的学习率
    learning_rate = tf.train.exponential_decay(
        LEARNING_RATE_BASE,  
        global_step,
        mnist.train.num_examples / BATCH_SIZE, LEARNING_RATE_DECAY,
        staircase=True)
    #
    #优化损失函数
    train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss, global_step=global_step)
    with tf.control_dependencies([train_step, variables_averages_op]):
        train_op = tf.no_op(name='train')

    #初始化持久化类
    saver = tf.train.Saver()
    with tf.Session() as sess:
        tf.global_variables_initializer().run()
        #训练过程中不再测试模型在验证数据集上的表现,验证和测试过程有独立的文件
        for i in range(TRAINING_STEPS):
            xs, ys = mnist.train.next_batch(BATCH_SIZE)
            _, loss_value, step = sess.run([train_op, loss, global_step], feed_dict={x: xs, y_: ys})
            #每1000轮保存一次模型
            if i % 1000 == 0:
                #输出损失函数大小。
                print("After %d training step(s), loss on training batch is %g." % (step, loss_value))
                #保存模型,global_step参数可以让每个被保存的模型后面加上训练的轮数
                saver.save(sess, os.path.join(MODEL_SAVE_PATH, MODEL_NAME), global_step=global_step)


def main(argv=None):
    #声明处理mnist数据集的类,自动下载数据
    #mnist = input_data.read_data_sets("../../../datasets/MNIST_data", one_hot=True)
    mnist = input_data.read_data_sets("/Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data", one_hot=True)

    train(mnist)

if __name__ == '__main__':
    tf.app.run()



'''
python 3.5, 3.7运行报错:UnboundLocalError: local variable 'self' referenced before assignment

Python2.7
tf == 1.4
正确输出:
Extracting /Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data/train-images-idx3-ubyte.gz
Extracting /Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data/train-labels-idx1-ubyte.gz
Extracting /Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data/t10k-images-idx3-ubyte.gz
Extracting /Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data/t10k-labels-idx1-ubyte.gz
2018-11-15 17:39:17.343532: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
After 1 training step(s), loss on training batch is 3.50884.
/usr/local/lib/python2.7/site-packages/tensorflow/python/training/saver.py:954: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  if coord_checkpoint_filename == ckpt.model_checkpoint_path:
After 1001 training step(s), loss on training batch is 0.253824.
After 2001 training step(s), loss on training batch is 0.188473.
After 3001 training step(s), loss on training batch is 0.146706.
After 4001 training step(s), loss on training batch is 0.139439.
After 5001 training step(s), loss on training batch is 0.10672.
After 6001 training step(s), loss on training batch is 0.100585.
After 7001 training step(s), loss on training batch is 0.0929439.
After 8001 training step(s), loss on training batch is 0.0827919.
After 9001 training step(s), loss on training batch is 0.0763581.
After 10001 training step(s), loss on training batch is 0.0697737.
After 11001 training step(s), loss on training batch is 0.0648445.
After 12001 training step(s), loss on training batch is 0.0604293.
After 13001 training step(s), loss on training batch is 0.05912.
After 14001 training step(s), loss on training batch is 0.0504698.
After 15001 training step(s), loss on training batch is 0.0480046.
After 16001 training step(s), loss on training batch is 0.0489372.
After 17001 training step(s), loss on training batch is 0.0454429.
After 18001 training step(s), loss on training batch is 0.0451788.
After 19001 training step(s), loss on training batch is 0.0475639.
After 20001 training step(s), loss on training batch is 0.0405349.
After 21001 training step(s), loss on training batch is 0.0395247.
After 22001 training step(s), loss on training batch is 0.0376075.
After 23001 training step(s), loss on training batch is 0.0420034.
After 24001 training step(s), loss on training batch is 0.040975.
After 25001 training step(s), loss on training batch is 0.0387627.
After 26001 training step(s), loss on training batch is 0.0434365.
After 27001 training step(s), loss on training batch is 0.0374968.
After 28001 training step(s), loss on training batch is 0.0359461.
After 29001 training step(s), loss on training batch is 0.0330341.
[Finished in 161.1s]

'''

 

1

文件3:mnist_eval.py

# -*- coding:utf-8 -*-  

#定义了神经网络的测试过程
'''
每隔10秒运行一次,每次读取最新保存的模型,因为训练程序不一定会每10秒输出一个模型,所以,有些模型会被重复使用。
accuracy_score准确率函数可以改为输出图片中的数字,这样就可以提交到kaggle中去了
'''
import time
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
import mnist_inference		##加载文件mnist_inference.py定义神经网络前向传播过程和神经网络中的参数
import mnist_train			#加载训练函数包

#1. 每10秒加载一次最新的模型¶
# 加载的时间间隔。
EVAL_INTERVAL_SECS = 10

def evaluate(mnist):
    with tf.Graph().as_default() as g:
    	#定义输入,输出的格式
        x = tf.placeholder(tf.float32, [None, mnist_inference.INPUT_NODE], name='x-input')
        y_ = tf.placeholder(tf.float32, [None, mnist_inference.OUTPUT_NODE], name='y-input')
        validate_feed = {x: mnist.validation.images, y_: mnist.validation.labels}
        #调用封装的函数计算前向传播结果
        y = mnist_inference.inference(x, None)
        #
        correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))  #tf.argmax(y, 1)得到输入样例的类别
        accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
        #通过变量重命名方式加载模型,共用文件mnist_inference.py定义的前向传播过程
        variable_averages = tf.train.ExponentialMovingAverage(mnist_train.MOVING_AVERAGE_DECAY)
        variables_to_restore = variable_averages.variables_to_restore()
        saver = tf.train.Saver(variables_to_restore)
        #每隔多少秒调用一次计算正确率的过程来检测正确率的变化。
        while True:
            with tf.Session() as sess:
            	#自动找到目录中最新模型的文件名
                ckpt = tf.train.get_checkpoint_state(mnist_train.MODEL_SAVE_PATH)
                if ckpt and ckpt.model_checkpoint_path:
                	#加载模型
                    saver.restore(sess, ckpt.model_checkpoint_path)
                    #通过文件名得到模型保存时候迭代的次数
                    global_step = ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1]
                    accuracy_score = sess.run(accuracy, feed_dict=validate_feed)
                    print("After %s training step(s), validation accuracy = %g" % (global_step, accuracy_score))
                else:
                    print('No checkpoint file found')
                    return
            time.sleep(EVAL_INTERVAL_SECS)

def main(argv=None):
	#声明处理mnist数据集的类,自动下载数据
    mnist = input_data.read_data_sets("/Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data", one_hot=True)
    evaluate(mnist)

if __name__ == '__main__':
    main()


'''

输出
Extracting /Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data/train-images-idx3-ubyte.gz
Extracting /Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data/train-labels-idx1-ubyte.gz
Extracting /Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data/t10k-images-idx3-ubyte.gz
Extracting /Users/apple/Documents/ST/python/python项目/手写数字教材/MNIST_data/t10k-labels-idx1-ubyte.gz
2018-11-15 17:45:47.696784: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864
After 29001 training step(s), validation accuracy = 0.9864


'''

认识你是我们的缘分,同学,等等,学习人工智能,记得关注我。

 

微信扫一扫
关注该公众号

《湾区人工智能》

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值