辨认手写数字葡萄娱乐场,学习笔记TF024

TensorFlow达成Softmax Regression(回归)识别手写数字。MNIST(Mixed National
Institute of Standards and Technology
database),简单机器视觉数据集,28X28像素手写数字,唯有灰度值新闻,空白部分为0,笔迹遵照颜色深浅取[0,
1],
784维,遗弃二维空间消息,指标分0~9共10类。数据加载,data.read_data_sets,
5陆仟个样本,测试集10000样本,验证集陆仟样书。样本标注音讯,label,10维向量,10类别one-hot编码。陶冶集中练习练模型,验证集检验功效,测试集评测模型(准确率、召回率、F1-score)。

TensorFlow实现Softmax Regression(回归)识别手写数字。MNIST(Mixed National
Institute of 斯坦dards and Technology
database),简单机器视觉数据集,28X28像素手写数字,只有灰度值音信,空白部分为0,笔迹依据颜色深浅取[0,
1],
784维,废弃二维空间新闻,指标分0~9共10类。数据加载,data.read_data_sets,
5伍仟个样本,测试集一千0样书,验证集陆仟样书。样本标注消息,label,10维向量,10类别one-hot编码。练习集中磨练练模型,验证集检验功效,测试集评测模型(准确率、召回率、F1-score)。

算法设计,Softmax
Regression练习手写数字识别分类模型,推断体系概率,取概率最大数字作模型输出结果。类特色相加,判定类可能率。模型学习锻练调整权值。softmax,各样特色总计exp函数,标准化(全部项目输出可能率值为1)。y
= softmax(Wx+b)。

算法设计,Softmax
Regression演习手写数字识别分类模型,推断体系可能率,取概率最大数字作模型输出结果。类本性相加,判定类可能率。模型学习磨练调整权值。softmax,各样特色总括exp函数,标准化(全部种类输出概率值为1)。y
= softmax(Wx+b)。

NumPy使用C、fortran,调用openblas、mkl矩阵运算库。TensorFlow密集复杂运算在Python外执行。定义总计图,运算操作不要求每一遍把运算完的数目传回Python,全体在Python外面运转。

NumPy使用C、fortran,调用openblas、mkl矩阵运算库。TensorFlow密集复杂运算在Python外执行。定义总计图,运算操作不需要每回把运算完的数额传回Python,全体在Python外面运维。

import tensor flow as tf,载入TensorFlow库。less =
tf.InteractiveSession(),创制InteractiveSession,注册为私下认可session。差异session的数额、运算,相互独立。x
= tf.placeholder(tf.float32, [None,784]),成立Placeholder
接收输入数据,第二参数数据类型,第三参数代表tensor shape
数据尺寸。None不限条数输入,每条输入为784维向量。

import tensor flow as tf,载入TensorFlow库。less =
tf.InteractiveSession(),创造InteractiveSession,注册为暗许session。差别session的数额、运算,相互独立。x
= tf.placeholder(tf.float32, [None,784]),成立Placeholder
接收输入数据,第3参数数据类型,第③参数代表tensor shape
数据尺寸。None不限条数输入,每条输入为784维向量。

tensor存款和储蓄数据,一旦选取掉就会化为乌有。Variable在模型磨炼迭代中持久化,长期存在,每轮迭代创新。Softmax
Regression模型的Variable对象weights、biases
初步化为0。模型训练自动学习合适值。复杂网络,初步化方法主要。w =
tf.Variable(tf.zeros([784,
10])),784特征维数,10类。Label,one-hot编码后10维向量。

tensor存款和储蓄数据,一旦选取掉就会消失。Variable在模型磨练迭代中持久化,长时间存在,每轮迭代翻新。Softmax
Regression模型的Variable对象weights、biases
起始化为0。模型陶冶自动学习合适值。复杂网络,初叶化方法首要。w =
tf.Variable(tf.zeros([784,
10])),784特色维数,10类。Label,one-hot编码后10维向量。

Softmax Regression算法,y = tf.nn.softmax(tf.matmul(x, W) +
b)。tf.nn包罗大批量神经互联网组件。tf.matmul,矩阵乘法函数。TensorFlow将forward、backward内容自动实现,只要定义好loss,练习自动求导梯度下跌,实现Softmax
Regression模型参数自动学习。

Softmax Regression算法,y = tf.nn.softmax(tf.matmul(x, W) +
b)。tf.nn蕴含大批量神经网络组件。tf.matmul,矩阵乘法函数。TensorFlow将forward、backward内容自动完结,只要定义好loss,陶冶自动求导梯度下跌,完毕Softmax
Regression模型参数自动学习。

定义loss
function描述难点模型分类精度。Loss越小,模型分类结果与诚实值越小,越规范。模型初叶参数全零,发生初步loss。演练指标是减小loss,找到全局最优或部分最优解。cross-entropy,分类难题常用loss
function。y预测可能率分布,y’真实可能率分布(Label
one-hot编码),判断模型对实际可能率分布预测准确度。cross_entropy =
tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y),
reduction_indices=[1]))。定义placeholder,输入真实label。tf.reduce_sum求和,tf.reduce_mean各类batch数据结果求均值。

定义loss
function描述难点模型分类精度。Loss越小,模型分类结果与真正值越小,越规范。模型起头参数全零,发生初始loss。磨练目的是减小loss,找到全局最优或部分最优解。cross-entropy,分类难题常用loss
function。y预测可能率分布,y’真实概率分布(Label
one-hot编码),判断模型对实事求是可能率分布预测准确度。cross_entropy =
tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y),
reduction_indices=[1]))。定义placeholder,输入真实label。tf.reduce_sum求和,tf.reduce_mean各类batch数据结果求均值。

概念优化算法,随机梯度降低SGD(Stochastic Gradient
Descent)。依照总括图自动求导,依据反向传播(Back

概念优化算法,随机梯度降低SGD(Stochastic Gradient
Descent)。依照总结图自动求导,依据反向传播(Back

Propagation)算法演练,每轮迭代革新参数减小loss。提供包装优化器,每轮迭代feed数据,TensorFlow在后台自动补充运算操作(Operation)达成反向传来和梯度下跌。train_step

tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)。调用tf.train.GradientDescentOptimizer,设置学习进度0.5,设定优化目的cross-entropy,得报到并且接受集操练操作train_step。

tf.global_variables_initializer().run()。TensorFlow全局参数开头化器tf.golbal_variables_initializer。

batch_xs,batch_ys =
mnist.train.next_batch(100)。练习操作train_step。每回随机从磨练集抽取100条样本构成mini-batch,feed给
placeholder,调用train_step练习样本。使用小一些样本磨炼,随机梯度降低,收敛速度更快。每一遍练习一切样本,总计量大,不不难跳出局地最优。

correct_prediction = tf.equal(tf.argmax(y,1),
tf.argmzx(y_,1)),验证模型准确率。tf.argmax从tensor寻找最大值序号,tf.argmax(y,1)求预测数字概率最大,tf.argmax(y_,1)找样本真实数字连串。tf.equal判断预测数字种类是或不是正确,再次来到总结分类操作是还是不是科学。

accuracy =
tf.reduce_mean(tf.cast(correct_prediction,tf.float32)),总括全部样本预测正确度。tf.cast转化correct_prediction输出值类型。

print(accuracy.eval({x: mnist.test.images,y_:
mnist.test.labels}))。测试数据特征、Label输入评测流程,总计模型测试集准确率。Softmax
Regression MNIST数据分类识别,测试集平均准确率92%左右。

TensorFlow 达成简单机器算法步骤:
1、定义算法公式,神经互联网forward计算。
2、定义loss,选定优化器,钦点优化器优化loss。
3、迭代替练习练多少。
4、测试集、验证集评测准确率。

概念公式只是Computation Graph,唯有调用run方法,feed数据,总计才实施。

    from tensorflow.examples.tutorials.mnist import input_data
    mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
    print(mnist.train.images.shape, mnist.train.labels.shape)
    print(mnist.test.images.shape, mnist.test.labels.shape)
    print(mnist.validation.images.shape, mnist.validation.labels.shape)
    import tensorflow as tf
    sess = tf.InteractiveSession()
    x = tf.placeholder(tf.float32, [None, 784])
    W = tf.Variable(tf.zeros([784, 10]))
    b = tf.Variable(tf.zeros([10]))
    y = tf.nn.softmax(tf.matmul(x, W) + b)
    y_ = tf.placeholder(tf.float32, [None, 10])
    cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
    train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
    tf.global_variables_initializer().run()
    for i in range(1000):
        batch_xs, batch_ys = mnist.train.next_batch(100)
        train_step.run({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(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels}))

 

参考资料:
《TensorFlow实战》

欢迎付费咨询(150元每小时),作者的微信:qingxingfengzi

Propagation)算法练习,每轮迭代翻新参数减小loss。提供包装优化器,每轮迭代feed数据,TensorFlow在后台自动补充运算操作(Operation)达成反向传来和梯度下跌。train_step

tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)。调用tf.train.GradientDescentOptimizer,设置学习进程0.5,设定优化指标cross-entropy,得报到并且接受集陶冶操作train_step。

tf.global_variables_initializer().run()。TensorFlow全局参数发轫化器tf.golbal_variables_initializer。

batch_xs,batch_ys =
mnist.train.next_batch(100)。演练操作train_step。每一次随机从陶冶集抽取100条样本构成mini-batch,feed给
placeholder,调用train_step练习样本。使用小片段样本练习,随机梯度降低,收敛速度更快。每便磨练一切样本,总结量大,不简单跳出局部最优。

correct_prediction = tf.equal(tf.argmax(y,1),
tf.argmzx(y_,1)),验证模型准确率。tf.argmax从tensor寻找最大值序号,tf.argmax(y,1)求预测数字可能率最大,tf.argmax(y_,1)找样本真实数字种类。tf.equal判断预测数字体系是不是正确,再次回到总括分类操作是不是科学。

accuracy =
tf.reduce_mean(tf.cast(correct_prediction,tf.float32)),计算全体样书预测正确度。tf.cast转化correct_prediction输出值类型。

print(accuracy.eval({x: mnist.test.images,y_:
mnist.test.labels}))。测试数据特征、Label输入评测流程,总结模型测试集准确率。Softmax
Regression MNIST数据分类识别,测试集平均准确率92%左右。

TensorFlow 完结简单机器算法步骤:
1、定义算法公式,神经互连网forward总括。
2、定义loss,选定优化器,钦定优化器优化loss。
3、迭代替磨炼练多少。
4、测试集、验证集评测准确率。

概念公式只是Computation Graph,唯有调用run方法,feed数据,总结才实施。

    from tensorflow.examples.tutorials.mnist import input_data
    mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
    print(mnist.train.images.shape, mnist.train.labels.shape)
    print(mnist.test.images.shape, mnist.test.labels.shape)
    print(mnist.validation.images.shape, mnist.validation.labels.shape)
    import tensorflow as tf
    sess = tf.InteractiveSession()
    x = tf.placeholder(tf.float32, [None, 784])
    W = tf.Variable(tf.zeros([784, 10]))
    b = tf.Variable(tf.zeros([10]))
    y = tf.nn.softmax(tf.matmul(x, W) + b)
    y_ = tf.placeholder(tf.float32, [None, 10])
    cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
    train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
    tf.global_variables_initializer().run()
    for i in range(1000):
        batch_xs, batch_ys = mnist.train.next_batch(100)
        train_step.run({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(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels}))

 

参考资料:
《TensorFlow实战》

欢迎付费咨询(150元每小时),笔者的微信:qingxingfengzi