首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Tensorflow之 CNN卷积神经网络的MNIST手写数字识别

前言 tensorflow中文社区对官方文档进行了完整翻译。鉴于官方更新不少内容,而现有的翻译基本都已过时。故本人对更新后文档进行翻译工作,纰漏之处请大家指正。...这对于工作交互式环境中的人们来说非常便利,比如使用IPython。...TensorFlow也是Python外部完成其主要工作,但是进行了改进以避免这种开销。...tf.argmax 是一个非常有用的函数,它能给出某个tensor对象某一维的其数据最大值所在的索引值。...这样可以更好地把创建图形(设计模型)和评估图形(模型拟合)区分开。它通常是为了更明了的代码。tf.Session是一个代码块(block)中创建的,因此一旦代码块退出,它就会自动销毁。

1.5K50

21个项目玩转深度学习 学习笔记(1)

Tensorflow中,无论是占位符还是变量,它们实际都是Tensor,从Tensorflow的名字中,就可以看出Tensor整个系统中处于核心地位。...如果要求Tensorflow计算y的值,那么系统会首先获取x、W、b的值,再去计算y。 Softmax回归模型中,通常使用交叉熵来衡量这种相似性。...变量是计算过程中可以改变值得Tensor,同时变量的值会被保存下来。事实,变量的值就是被保存在会话中的。在对变量进行操作之前必须对变量初始化,实际会话中保存变量的初始值。...是0.5,也就是说训练时每一个连接都有50%的概率被去掉,测试时保留所有连接 # 再加上一层全连接,把一步得到的h_fc1_drop转换为10个类别的打分 # 把1024维向量转换为10维,对应10...%(i,train_accuracy)) train_step.run(feed_dict={x:batch[0],y_:batch[1],keep_porb:0.5}) #训练结束后报告测试集的准确率

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

教程 | 利用TensorFlow和神经网络来处理文本分类问题

TensorFlow 概览 TensorFlow 是最流行的开源 AI 库之一。它的高计算效率,丰富的开发资源使它被企业和个人开发者广泛采用。...数据流程图形用来代表计算过程。图形下,操作(Operation)代表计算单位,张量代表数据单位。为了运行代码,我们应该对阶段函数(Session function)进行初始化。...你将会导入库,创建恒定张量(constant tensors)并且创建图形。然后我们应该定义哪一个图将会被 Session 中使用,并且定义操作单元。...为了理解神经网络的工作机制,作者用 TensorFlow 创建了一个神经网络结构。...我们或许可以在这个架构的基础改进一番,隐藏层中使用 dropout 肯定会提高准确性。 在运行代码前,请确认你已安装了最新版本的 TensorFlow

54370

从锅炉工到AI专家(7)

从我的体验TensorFlow对于版本的更新对API的影响控制的还是非常好的。...大型的系统中,可能需要一个集群的工作环境做几周的运算。 真正投产的时候,实际就只是用训练的数据配合预测部分的代码完成工作即可。这就需要把训练数据保存下来。...实际XLA的运行需要CPU或者GPU的支持。我的老电脑,虽然硬件不支持XLA的加速,但内存的需求也降低了大概一倍左右,可说效果明显。...TensorBoard 不同于传统程序的DEBUG,机器学习类的程序,程序逻辑大多不会犯什么大错误,毕竟整个流程很简单。 大多的过程实际“调优”而不是“调试”。...其实主要是强调算法专家的角色和数据收集的工作。这两组人员一般的项目中是没有或者位置并不是很重要的。但是机器学习项目中,往往是核心部分。

58060

如何使用TensorFlow构建神经网络来识别手写数字

这些突破使机器执行某些任务时能够匹配并超越人类的能力。一个这样的任务是对象识别。虽然历史上机器无法与人类视觉相匹配,但深度学习的最新进展使得构建可识别物体,面部,文本甚至情绪的神经网络成为可能。...我们将在最后的隐藏层中使用dropout,使每个单元每个训练步骤中有50%的机会被淘汰。这有助于防止过度拟合。 我们现在已经定义了神经网络的架构,以及影响学习过程的超参数。...下一步是通过图形提供数据来训练它,然后测试它实际已经学到了什么。 第5步 - 培训和测试 训练过程包括通过图形提供训练数据集并优化损失函数。...为了证明网络实际识别手绘图像,让我们我们自己的单个图像上进行测试。 首先要么下载这个样本测试图像,要么打开图形编辑器并创建一个自己的28x28像素的数字图像。...这与我们之前使用TensorFlow读取数据集时使用的表示不同,因此我们需要做一些额外的工作来匹配格式。 首先,我们使用带L参数的convert函数将4D RGBA表示减少到一个灰度颜色通道。

1.5K104

基于tensorflow+RNN的MNIST数据集手写数字分类

此文在上一篇文章《基于tensorflow+DNN的MNIST数据集手写数字分类预测》的基础修改模型为循环神经网络模型,模型准确率从98%提升到98.5%,错误率减少了25% 《基于tensorflow...安装教程链接:https://blog.csdn.net/qq_36556893/article/details/79433298 如果没有nvidia显卡,但有visa信用卡,请阅读我的另一篇文章《谷歌云服务器搭建深度学习平台...文件夹结构如下图所示: image.png 4.完整代码 此章给读者能够直接运行的完整代码,使读者有编程结果的感性认识。...完整代码中定义函数RNN使代码简洁,但在后面章节中为了易于读者理解,本文作者第6章搭建神经网络将此部分函数改写为只针对于该题的顺序执行代码。...方法中的第2个参数为1,即求出矩阵中每1行中最大数的索引; 如果argmax方法中的第1个参数为0,即求出矩阵中每1列最大数的索引; tf.equal方法可以比较两个向量的每个元素是否相同,返回结果为向量

1.4K30

学习笔记TF063:TensorFlow Debugger

TensorFlow Debugger(tfdbg),TensorFlow专用调试器。用断点、计算机图形化展现实时数据流,可视化运行TensorFlow图形内部结构、状态。有助训练推理调试模型错误。...TensorFlow Debugger,每次调用run()前后基于终端用户界面(UI),控制执行、检查图内部状态。...UI(run-start UI),tfdbg>后输入交互式命令,run()进入运行结束后UI(run-end UI)。...连续运行10次 tfdbg>run -t 10 找出图形第一个nan或inf值 tfdbg> run -f has_inf_or_nan 第一行灰底字表示tfdbg调用run()后立即停止,生成指定过滤器..."/home/somebody/tfdbg_dumps_1", watch_fn=my_watch_fn) 参考资料: 《TensorFlow技术解析与实战》 欢迎推荐上海机器学习工作机会,我的微信:qingxingfengzi

1.6K00

TensorFlow从1到2(二)续讲从锅炉工到AI专家

我们先不进入TensorFlow 2.0中的MNIST代码讲解,因为TensorFlow 2.0Keras的帮助下抽象度比较高,代码非常简单。...这里我们把小程序也升级一下,直接把图片显示屏幕,不再另外保存JPG文件。这样图片看起来更快更直观。...TensorFlow 1.x中,是使用程序input_data.py来下载和管理MNIST的样本数据集。...因为线性回归模型我们本系列第一篇中讲过了,这里就跳过,直接说使用神经网络来解决MNIST问题。 神经网络模型的构建在TensorFlow 1.0中是最繁琐的工作。...实际这个输入样本可以不指定形状,没有指定的情况下,Keras会自动识别训练数据集的形状,并自动将模型输入匹配到训练集形状。

52800

TensorFlow实现神经网络很难吗?看完这篇详解,「小白」也可秒懂!

什么是TensorFlow? 下面是官方定义: TensorFlow是一个开源软件库,用于使用数据流图形进行数值计算。...图中的节点表征数学运算,而图形边缘表征的是它们之间传递的多维数据数组(又称张量)。灵活的体系结构使得你能够将计算部署到桌面,服务器或具有单个API的移动设备中的一个或多个CPU或GPU。...•平台灵活性,你可以随时随地运行模型,无论是移动设备,服务器还是PCTensorFlow的典型 “流” 每个库都有自己的“实现细节”,即一种按照编码范式编写的方式。...TensorFlow中运行程序的通常工作流程如下: •建立一个计算图,任何的数学运算可以使用TensorFlow支撑。 •初始化变量编译预先定义的变量。...•session中运行图形,编译图形被传递到session,它开始执行操作。 •关闭session,结束这次使用。 TensorFlow 中使用的术语很少。

1.2K50

Tensorflow SavedModel模型的保存与加载

这两天搜索了不少关于Tensorflow模型保存与加载的资料,发现很多资料都是关于checkpoints模型格式的,而最新的SavedModel模型格式则资料较少,为此总结一下TensorFlow如何保存...其主要优点是SaveModel与语言无关,比如可以使用python语言训练模型,然后Java中非常方便的加载模型。当然这也不是说checkpoints模型格式做不到,只是跨语言时比较麻烦。...添加命名 输入和输出Ops中添加名称,这样我们加载时可以方便的按名称引用操作。...你也可以使用tf.identity给tensor命名,比如在上述代码添加一行: tf.identity(y, name="myOutput") 给输出也命一个名。...signature_def_map={'predict': signature}) builder.save() 看起来新的代码差别不大,区别就在于可以自己定义tag,签名的定义更加灵活

5.3K30

机器学习的基础讲解:神经网络

AiTechYun 编辑:yuxiangyu 之前的文章中,我通过展示学习过程中成本函数和梯度下降的核心作用,阐述了机器学习的工作原理。本文以此为基础,探索神经网络和深度学习如何工作。...这仅仅是因为,虽然幕后做了很多不可思议的事情,但它需要你明确定义神经网络的架构。这样做,你会更好地了解它的工作原理。 定义图层和激活 第一步中,我们为网络定义架构。...TensorFlow中,我们需要创建一个占位符变量来表示这个输入数据,我们还将为每个输入对应的正确标签创建一个占位符变量。这样就建立了训练数据,我们以此训练神经网络的X值和y值。...这个标量值被用来计算输入加偏置的权重和(本质是y1 ~ wX + b),创建一个线性(或者说仿射)变换。 Tensorflow中,你必须明确定义组成该层的权重和偏置的变量。...每一次迭代中,将一小部分数据输入到模型中,进行预测,计算损失并通过反向传播,更新权重然后重复此过程。 这个简单的模型测试集的准确性达到了95.5%左右。

85680

tensorflow机器学习模型的跨平台上线

在用PMML实现机器学习模型的跨平台上线中,我们讨论了使用PMML文件来实现跨平台模型上线的方法,这个方法当然也适用于tensorflow生成的模型,但是由于tensorflow模型往往较大,使用无法优化的...但是它也有一个缺点,就是比较笨重,如果你要使用tensorflow serving,那么需要自己搭建serving集群并维护这个集群。所以为了一个小的应用去做这个工作,有时候会觉得麻烦。     ...)) optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost) prediction_labels = tf.argmax...correct_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y2, 1)) accuracy = tf.reduce_mean(tf.cast...模型文件Java平台上线     这里我们以Java平台的模型上线为例,C++的API上线我没有用过,这里就不写了。

1.2K20

TensorFlow从1到2(四)时尚单品识别和保存、恢复训练数据

Fashion Mnist --- 一个图片识别的延伸案例 TensorFlow官方新的教程中,第一个例子使用了由MNIST延伸而来的新程序。...因此实际,这个例子看起来美观也有趣很多,但是技术层面上,跟传统的MNIST没有区别。...保存和恢复训练数据 TensorFlow 2.0提供了两种数据保存和恢复的方式。第一种方式是我们TensorFlow 1.x中经常用的保存模型权重参数的方式。...因为TensorFlow 2.0中,我们使用了model.fit方法来代替之前使用的训练循环,所以保存训练权重数据是使用回调函数的方式完成的。...通常我们都会把这种工作部署到有强大算力的服务器执行。训练完成,将训练数据保存下来。预测的时候,则并不需要很大的运算量,就可以普通的设备执行了。

67820

Caffe2推出才几天,就被谷歌TensorFlow吊打了

Google立刻动手反制,没几天就给出新版的TensorFlow测试数据,性能上开始压制Caffe2。...我们先来对比一下双方的测试结果:除了VGG16模型测试中的8核数据,其余结果TensorFlow均处于优势。...然后使用实际数据来验证TensorFlow输入管道和底层磁盘输入/输出(I / O)是否正在使计算单元达到饱和的状态。...使用NVIDIA®Tesla®K80进行训练 (图片翻译:训练:用NVIDIA®Tesla®K80合成数据(1、2、4和8核图形处理器(GPUs))) 详细信息和附加结果请阅读后面的谷歌计算引擎...结果 (图片翻译:训练:用NVIDIA® DGX-1™合成数据(1、8、16、32、64核图形处理器(GPUs)) 训练合成数据的结果 训练实际数据的结果 上述图表不包括 8 GPU

1.2K60

Google将跨平台AI管道框架MediaPipe引入网络

基本,这是一种快速的方法,可以通过流行的机器学习框架(例如Google自己的TensorFlowTensorFlow Lite)以模块化的方式执行对象检测、面部检测、手部跟踪、多手跟踪、头发分割以及其他此类任务...图形和渲染方面,MediaPipe现在会自动直接进入WebGL,这是一个JavaScript API,用于在任何兼容的Web浏览器中渲染交互式2D和3D图形,从而使该浏览器在运行时创建一个虚拟机,可以非常快速地执行指令...Google利用上述组件将预览功能集成到基于Web的可视化器中,可视化器是一种用于迭代MediaPipe流设计的工作空间。...可视化器位于viz.mediapipe.dev使开发人员可以通过将图形代码粘贴到编辑器选项卡中或将文件上传到可视化器来检查MediaPipe图形(用于构建机器学习管道的框架)。...不支持TensorFlow Lite推断,并且图形的计算必须在单个处理器线程运行。

1.6K20
领券