两周前,Facebook大张旗鼓地开源了Caffe2深度学习框架,它在英伟达DGX-1平台上的高性能表现极为亮眼。 Google立刻动手反制,没几天就给出新版的TensorFlow测试数据,在性能上开始压制Caffe2。 由此看来,要在人工智能上赶超Google,Facebook仅仅靠模仿还是不够的,而Google也绝不甘心坐以待毙。 不管怎么说,留给Facebook的时间不多了。 我们先来对比一下双方的测试结果:除了VGG16模型测试中的8核数据,其余结果上TensorFlow均处于优势。
前言 tensorflow中文社区对官方文档进行了完整翻译。鉴于官方更新不少内容,而现有的翻译基本上都已过时。故本人对更新后文档进行翻译工作,纰漏之处请大家指正。(如需了解其他方面知识,可参阅以下Tensorflow系列文章)。 深入MNIST TensorFlow是一个非常强大的用来做大规模数值计算的库。其所擅长的任务之一就是实现以及训练深度神经网络。在本教程中,通过为MNIST构建一个深度卷积神经网络的分类器,我们将学到构建一个TensorFlow模型的基本步骤。 这个教程假设你已经熟悉神经网络和MNI
OpenAI研究人员日前发布了一个工具库,该工具库可以帮助研究人员在图形处理器(graphics-processor-unit,GPU)上建立更快、更高效、占内存更少的神经网络。 OpenAI研究人员日前发布了一个工具库,可以帮助研究人员在图形处理器上建立更快、更高效、占内存更少的神经网络。神经网络由多层相连的节点构成。这类网络的架构根据数据和应用变化很多,但是所有模型都受到它们在图形处理器上运行方式的限制。 以更少的计算能力训练更大模型的一种办法是引入稀疏矩阵。如果一个矩阵里面有很多零,那就视为稀疏矩阵。
识别数字在机器学习任务中的地位和 Hello World 在编程中是一样的。 主要步骤: 获得数据:from Yann LeCun's website 建立模型:softmax 定义 tensor,variable:X,W,b 定义损失函数,优化器:cross-entropy,gradient descent 训练模型:loop,batch 评价:准确率 ---- 1. 获得数据 来自 Yann LeCun's website:http://yann.lecun.com/exdb/mnist/ 分为 tr
本文通过使用 TensorFlow 搭建一个简单的神经网络来对 MNIST 数据集进行分类。通过训练模型,作者能够正确分类手写数字,并计算出准确率。
在Tensorflow中,无论是占位符还是变量,它们实际上都是Tensor,从Tensorflow的名字中,就可以看出Tensor在整个系统中处于核心地位。Tensorflow中的Tensor并不是具体的数值,只是一些我们希望Tensorflow系统计算的节点。
tf.argmax(vector, 1):返回的是vector中的最大值的索引号,如果vector是一个向量,那就返回一个值,如果是一个矩阵,那就返回一个向量,这个向量的每一个维度都是相对应矩阵行的最大值元素的索引号。
本文主要介绍tf.argmax,tf.reduce_mean(),tf.reduce_sum(),tf.equal()的使用 1 tf.argmax()简介 tf.argmax(vector, 1):返回的是vector中的最大值的索引号,如果vector是一个向量,那就返回一个值,如果是一个矩阵,那就返回一个向量,这个向量的每一个维度都是相对应矩阵行的最大值元素的索引号。 tf.argmax(input=tensor,dimention=axis) 找到给定的张量tensor中在指定轴axis上的
本文讲述用Tensorflow框架实现SoftMax模型识别手写数字集,来实现多分类。
模型公式 y = softmax(Wx+b) 交叉熵loss函数,可以参考似然函数,y 是我们预测的概率分布, y' 是实际的分布(我们输入的one-hot vector) loss = -Σy'ilogyi import tensorflow.examples.tutorials.mnist.input_data from tensorflow.contrib.learn.python.learn.datasets.mnist import re
上一篇 11 74行Python实现手写体数字识别展示了74行Python代码完成MNIST手写体数字识别,识别率轻松达到95%。这算不上一个好成绩,不过我并不打算立即着手改善它,而是回到本系列的主线上来,用TensorFlow重新实现一遍完全相同的算法。 TF官方的Get Started中,关于MNIST准备了Beginner和Expert两个版本的实现。前者与其说是一个两层的神经网络,不如说是一种线性判别,后者则实现了CNN。两者之间差了一个经典的3层全连接NN,本篇补上。 最终基于TF的代码只有43
木易 发自 凹非寺 量子位 报道 | 公众号 QbitAI 自从7月份CUDA 11发布以来,就陆陆续续听到了网友类似的吐槽: 这正说着,10月27日,PyTorch团队发布了PyTorch 1.7,终于能支持CUDA 11了,可喜可贺(狗头)。 除此之外,这次1.7的版本,也带来了许多功能的更新和稳定。 在更新上,有了许多新的应用编程接口,如支持与NumPy兼容的快速傅立叶变换的操作及性能分析工具。 此外,分布式数据并行(DDP)和基于远程过程调用(RPC)的分布式训练也有了重大的更新,在Window
上一篇 11 74行Python实现手写体数字识别展示了74行Python代码完成MNIST手写体数字识别,识别率轻松达到95%。这算不上一个好成绩,不过我并不打算立即着手改善它,而是回到本系列的主线上来,用TensorFlow重新实现一遍完全相同的算法。 TF官方的Get Started中,关于MNIST准备了Beginner和Expert两个版本的实现。前者与其说是一个两层的神经网络,不如说是一种线性判别,后者则实现了CNN。两者之间差了一个经典的3层全连接NN,本篇补上。 最终基于TF的代码只有43行
说说计划 不知不觉写到了第七篇,理一下思路: 学会基本的概念,了解什么是什么不是,当前的位置在哪,要去哪。这是第一篇希望做到的。同时第一篇和第二篇的开始部分,非常谨慎的考虑了非IT专业的读者。希望借此沟通技术人员和产品人员,甚至管理和销售人员。我信服“上下同欲者胜”,所以也非常害怕因为大家对概念完全不同的理解而影响到团队的合作。 从最简单的部分入手,由概念到代码,完成技术破冰。这是第二、三篇希望做到的。 逐步迭代,从简单概念到复杂概念,从简单算法到复杂算法,接触到机器学习现实最常用的技术。这是四、五、六篇希
这两天搜索了不少关于Tensorflow模型保存与加载的资料,发现很多资料都是关于checkpoints模型格式的,而最新的SavedModel模型格式则资料较少,为此总结一下TensorFlow如何保存SavedModel模型,并加载之。
计算机组成原理里面提到计算机必须具备五大基本组成部件:运算器、控制器、存储器、输入设备和输出设备,其中运算器和控制器必定存在于 CPU 中。然而,如果 CPU 中运算器数量特别少,我们的程序却需要进行大量的巨型矩阵的运算,使用 CPU 运行时间会特别长。我们先来简单分析一下为什么 CPU 运行时间会特别长,因为运算量非常大,同时 CPU 只能一次运算一条数据,虽然现在 CPU 普遍是多核,但是处理大量的数据还是显得力不从心。这个时候我们就不能使用 CPU 了,而应该使用 GPU,我们首先来看一下 GPU 究竟是个什么东西。
tf.argmax(vector, 1):返回的是vector中的最大值的索引号,如果vector是一个向量,那就返回一个值,如果是一个矩阵,那就返回一个向量,这个向量的每一个维度都是相对应矩阵行的最大值元素的索引号。 示例:
原文第四篇中,我们介绍了官方的入门案例MNIST,功能是识别手写的数字0-9。这是一个非常基础的TensorFlow应用,地位相当于通常语言学习的"Hello World!"。 我们先不进入TensorFlow 2.0中的MNIST代码讲解,因为TensorFlow 2.0在Keras的帮助下抽象度比较高,代码非常简单。但这也使得大量的工作被隐藏掉,反而让人难以真正理解来龙去脉。特别是其中所使用的样本数据也已经不同,而这对于学习者,是非常重要的部分。模型可以看论文、在网上找成熟的成果,数据的收集和处理,可不会有人帮忙。 在原文中,我们首先介绍了MNIST的数据结构,并且用一个小程序,把样本中的数组数据转换为JPG图片,来帮助读者理解原始数据的组织方式。 这里我们把小程序也升级一下,直接把图片显示在屏幕上,不再另外保存JPG文件。这样图片看起来更快更直观。 在TensorFlow 1.x中,是使用程序input_data.py来下载和管理MNIST的样本数据集。当前官方仓库的master分支中已经取消了这个代码,为了不去翻仓库,你可以在这里下载,放置到你的工作目录。 在TensorFlow 2.0中,会有keras.datasets类来管理大部分的演示和模型中需要使用的数据集,这个我们后面再讲。 MNIST的样本数据来自Yann LeCun的项目网站。如果网速比较慢的话,可以先用下载工具下载,然后放置到自己设置的数据目录,比如工作目录下的data文件夹,input_data检测到已有数据的话,不会重复下载。 下面是我们升级后显示训练样本集的源码,代码的讲解保留在注释中。如果阅读有疑问的,建议先去原文中看一下样本集数据结构的图示部分:
准备工作 由于将TensorFlow安装到了Conda的tensorflow环境,虽然可以用Jupyter notebook打开,但是没有提示,写代码不方便,所以使用PyCharm进行编写。设置如下: 如果是新建项目,在选择使用python的地址的地方,找到anaconda目录,点击envs ----> tensorflow -----> bin -----> python2.7(我的是2.7) 如果已经创建了项目,但是没有用该环境下的python,就进入项目的设置里,找到project interpret
到目前为止,我们所接触的都是二分类问题,神经网络输出层只有一个神经元,表示预测输出\hat{y}y^是正类的概率{P}(y=1|x), \hat{y} > {0.5}P(y=1∣x),y^>0.5则判断为正类,反之判断为负类。那么对于多分类问题怎么办?
http://www.cnblogs.com/fydeblog/p/7436310.html
在用PMML实现机器学习模型的跨平台上线中,我们讨论了使用PMML文件来实现跨平台模型上线的方法,这个方法当然也适用于tensorflow生成的模型,但是由于tensorflow模型往往较大,使用无法优化的PMML文件大多数时候很笨拙,因此本文我们专门讨论下tensorflow机器学习模型的跨平台上线的方法。
本文介绍了TensorFlow的发展历史、版本、安装、基础教程、高级教程、模型和调优、性能测试、C++部署、Java部署、Python部署、量化、预测、推理、可视化、TensorFlow Hub、TensorFlow Lite、TensorFlow.js、TensorFlow.Python、TensorFlow.Java、TensorFlow.C++等相关内容。
在机器学习领域和认知科学领域,人工神经网络(artificial neural network) 简称ann或类神经网络,一种放生物 神经网络的结构和功能的计算模型,用于对函数进行估计或近似.
本文是为既没有机器学习基础也没了解过TensorFlow的码农、序媛们准备的。如果已经了解什么是MNIST和softmax回归本文也可以再次帮助你提升理解。在阅读之前,请先确保在合适的环境中安装了TensorFlow(windows安装请点这里,其他版本请官网找),适当编写文章中提到的例子能提升理解。
本文的主要目的是教会大家运用google开源的深度学习框架tensorflow来实现手写体数字识别,给出两种模型,一种是利用机器学习中的softmax regression作分类器,另一种将是搭建一个深度神经网络以达到99%正确率的手写体数字识别模型。 其次,理解tensorflow工作流程和运行机制。最后,也会让大家了解一下深度神经网络的搭建过程。
tensorflow是谷歌google的深度学习框架,tensor中文叫做张量,flow叫做流。 RNN是recurrent neural network的简称,中文叫做循环神经网络。 MNIST是Mixed National Institue of Standards and Technology database的简称,中文叫做美国国家标准与技术研究所数据库。 此文在上一篇文章《基于tensorflow+DNN的MNIST数据集手写数字分类预测》的基础上修改模型为循环神经网络模型,模型准确率从98%提升到98.5%,错误率减少了25% 《基于tensorflow+DNN的MNIST数据集手写数字分类预测》文章链接:https://www.jianshu.com/p/9a4ae5655ca6
我们需要做的就是通过算法让电脑能够识别出图片中的数字,是不是像识别验证码一样。 本文会介绍两种方法:
文章主要介绍了如何使用TensorFlow进行深度学习,包括神经网络模型的定义、模型的搭建、训练、预测等步骤。同时,文章还介绍了如何使用TensorFlow进行图像分类和文本情感分析等具体应用。
tensorflow是google在2015年开源的深度学习框架,可以很方便的检验算法效果。这两天看了看官方的tutorial,极客学院的文档, http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/introduction.html 以及综合tensorflow的源码,把自己的心得整理了一下,作为自己的备忘录。 系列 1: http://blog.csdn.net/u014595019/article/details/52677412
本文介绍了TensorFlow在机器学习方面的应用,包括用于手写数字识别的卷积神经网络模型、用于图像分类的Inception模型和用于自然语言处理的RNN模型。作者还介绍了TensorFlow的搭建和运行过程,以及如何使用TensorFlow来训练模型。
导语:在本文的开始前,强烈推荐两个深度学习相关的视频集 1.中国台湾李宏毅教授的ML 2016,清晰明了,很多晦涩的原理能让你看了也能明白:https://www.youtube.com/watc
首先,我们从一个直观的例子,讲解如何实现Tensorflow模型参数的保存以及保存后模型的读取。 然后,我们在之前多层感知机的基础上进行模型的参数保存,以及参数的读取。该项技术可以用于Tensorflow分段训练模型以及对经典模型进行fine tuning(微调)
在TensorFlow官方新的教程中,第一个例子使用了由MNIST延伸而来的新程序。 这个程序使用一组时尚单品的图片对模型进行训练,比如T恤(T-shirt)、长裤(Trouser),训练完成后,对于给定图片,可以识别出单品的名称。
我们使用tensorflow实现类似于上图的简单深度网络,用于mnist数据集预测模型的实现。理论方面不再赘述。
GradientDescentOptimizer_0.01.png
这里跟官方有两处不同 1:第1行代码原文是import input_data这里的input_data是无法直接导入的。需要给出具体路径from tensorflow.examples.tutorials.mnist才可以import。 2:最后一行的print原文没有小括号。应为print () ,否则报错。
在前言中,已经提到经常使用深度学习的领域就是模式识别。编程初学者都是从打印“Hello World”开始,深度学习中我们则是从识别手写数字开始。 本章中,我会讲解如何在TensorFlow中一步步建立单层神经网络,这个建立的神经网络用来识别手写数字,它是基于TensorFlow官方新手指南中的一个例子改变而来。 根据本书的风格,在本例子中会简化一些概念与理论证明。 如果读者在读完本章后,有兴趣研究例子中相关的理论概念,建议读者去阅读神经网络与深度学习一书,该书同样可在网上获得,该书阐述了本例子中的一些深度理
上一篇16 L2正则化对抗“过拟合”提到,为了检测训练过程中发生的过拟合,需要记录每次迭代(甚至每次step)模型在训练集和验证集上的识别精度。其实,为了能更好的调试和优化TensorFlow程序,日志(logging)和监测(monitoring)需求远不止“识别精度”。在训练过程中不断变化的“损失”、“更新速率”(step/sec)甚至“概率分布”等信息,都是帮助我们深入理解模型与训练的关键信息。 对此,TensorBoard提供了尽善尽美的支持。它能将所记录的动/静态信息,方便的可视化成直观的图形,
用过 TensorFlow 框架的应该都知道,在操纵张量时,需要跟踪多个维度、张量形状和数据类型兼容性,当然还需要考虑数学正确性。此外,TensorFlow 有数百种操作,找到要使用的正确操作也是一项挑战。
上一篇 16 L2正则化对抗“过拟合 ”提到,为了检测训练过程中发生的过拟合,需要记录每次迭代(甚至每次step)模型在训练集和验证集上的识别精度。其实,为了能更好的调试和优化TensorFlow程序,日志(logging)和监测(monitoring)需求远不止“识别精度”。在训练过程中不断变化的“损失”、“更新速率”(step/sec)甚至“概率分布”等信息,都是帮助我们深入理解模型与训练的关键信息。 对此,TensorBoard提供了尽善尽美的支持。它能将所记录的动/静态信息,方便的可视化成直观的图形
TensorFlow是一个基于Python和基于数据流编程的机器学习框架,由谷歌基于DistBelief进行研发,并在图形分类、音频处理、推荐系统和自然语言处理等场景下有着丰富的应用。2015年11月9日,TensorFlow依据Apache 2.0 开源协议开放源代码。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/79704120
去年,谷歌曾在I/O开发者大会上透露了一款名为TPU的芯片,全称Tensor Processing Unit 张量处理器,是不是有点眼熟?(谷歌推出的机器学习框架叫tensorflow)。 这款谷歌自己研发的处理器,也是专门用于提高机器学习的运算效率。但是自打去年I/O开发者大会以来,谷歌并没有公开任务细节,直到上周。 上周,谷歌发表了一篇论文《In-Datacenter Performance Analysis of a Tensor Processing UnitTM》,详细披露了TPU的细节,这篇
今天将带来第13天的学习日记,开始学习 TensorFlow,介绍的版本是1.X。本文先认识一下 TensorFlow 的建模流程,学习搭建一个 logistic 回归,再用 TensorFlow 跑一个深度神经网络。
使用Alexnet网络进行训练,多任务学习:验证码是根据随机字符生成一幅图片,然后在图片中加入干扰象素,用户必须手动填入,防止有人利用机器人自动批量注册、灌水、发垃圾广告等等 。 Tensorflow
CNN神经网络–手写数字识别 引入包 python import numpy as np import tensorflow as tf 下载并载入 MNIST 手写数字库(55000 * 28 *
tensorboard可对网络和各种参数进行可视化,可以方便的进行网络结构调整和调参,尤其是应对复杂网路,下面用一个例子介绍tensorboard在Linux中的使用方法。
原始的网址:https://www.tensorflow.org/versions/r0.12/tutorials/mnist/beginners/index.html#mnist-for-ml-beginners
机器之心(海外)原创 作者:shixin 参与:Joni、Smith 在这篇文章中,机器之心海外分析师对Medium(链接见文后)上的一篇热门博客进行了介绍,讨论了六个关于创建机器学习模型来进行文本分类的主要话题。 在这篇文章中,作者讨论了六个关于创建机器学习模型来进行文本分类的主要话题。 TensorFlow 如何工作 机器学习模型是什么 神经网络是什么 神经网络怎样进行学习 如何处理数据并且把它们传输给神经网络的输入 怎样运行模型并且得到预测结果 作者也提供了可在Jupyter notebook上运行
领取专属 10元无门槛券
手把手带您无忧上云