新手入门 识别数字 图像分类 词向量 个性化推荐 情感分析词义角色标注机器翻译运行这本书您现在在看的这本书是一本“交互式”电子书 —— 每一章都可以运行在一个Jupyter Notebook里。我们把Jupyter、PaddlePaddle、以及各种被依赖的软件都打包进一个Docker image了。所以您不需要自己来安装各种软件,只需要安装Docker即可。
在上一章,我们学习了深度神经网络通常比浅层神经网络更加难以训练。我们有理由相信,若是可以训练深度网络,则能够获得比浅层网络更加强大的能力,但是现实很残酷。从上一章我们可以看到很多不利的消息,但是这些困难不能阻止我们使用深度神经网络。本章,我们将给出可以用来训练深度神经网络的技术,并在实战中应用它们。
假设你是一名工程师,接到一项从头开始设计计算机的任务。某天,你在工作室工作,设计逻辑电路,构建 $$AND$$ 门,$$OR$$ 门等等时,老板带着坏消息进来:客户刚刚添加了一个奇特的设计需求:整个计算机的线路的深度必须只有两层: 你惊呆了,跟老板说道:“这货疯掉了吧!” 老板说:“他们确实疯了,但是客户的需求比天大,我们要满足它。
权重初始化创建了神经网络后,我们需要进行权重和偏差的初始化。到现在,我们一直是根据在第一章中介绍的那样进行初始化。提醒你一下,之前的方式就是根据独立的均值为 $$0$$,标准差为 $$1$$ 的高斯随机变量随机采样作为权重和偏差的初始值。
当一个高尔夫球员刚开始学习打高尔夫时,他们通常会在挥杆的练习上花费大多数时间。慢慢地他们才会在基本的挥杆上通过变化发展其他的击球方式,学习低飞球、左曲球和右曲球。类似的,我们现在仍然聚焦在反向传播算法的理解上。这就是我们的“基本挥杆”——神经网络中大部分工作学习和研究的基础。
在上一章,我们看到了神经网络如何使用梯度下降算法来学习他们自身的权重和偏差。但是,这里还留下了一个问题:我们并没有讨论如何计算代价函数的梯度。这是很大的缺失!在本章,我们会解释计算这些梯度的快速算法,也就是反向传播。
人类视觉系统是世界上众多奇迹之一。看看下面的手写数字序列:大多数人毫不费力就能够认出这些数字为 504192. 这么容易反而让人觉着迷惑了。在人类的每个脑半球中,有着一个初级视觉皮层,常称为 V1,包含 1 亿 4 千万个神经元及数百亿条神经元间的连接。但是人类视觉不是就只有 V1,还包括整个视觉皮层——V2、V3、V4 和 V5——他们逐步地进行更加复杂的图像处理。
神经网络和深度学习是一本免费的在线书。本书会教会你:神经网络,一种美妙的受生物学启发的编程范式,可以让计算机从观测数据中进行学习深度学习,一个强有力的用于神经网络学习的众多技术的集合神经网络和深度学习目前给出了在图像识别、语音识别和自然语言处理领域中很多问题的最好解决方案。本书将会教你在神经网络和深度学习背后的众多核心概念。
说明:本章所列链接为个人学习TensorFlow的心得,很多是博客地址,从实践的角度帮助大家更好的理解官方文档的内容示例:我的TensorFlow学习博客
Google官方Blog宣布TensorFlow开源TensorFlow WhitePaper(PDF下载)Jeff Dean 介绍 TensorFlow(视频)TensorFlow 简化版接口 Scikit FlowTensorFlow 使用样例TensorFlow 与 mxnet, caffe 对比 @chenrudanTensorFlow 与 torch7, caffe, mxnet 在内存使用量以及性能对比 @mli
说明本章非官方文档翻译,是由众多TensorFlow爱好者将安装和使用TF过程中的问题总结而成的。常见问题及解答(示例)官网地址是哪里?http://www.tensorflow.org/如何安装 pip ?Ubuntu (14.04) sudo apt-get update && sudo apt-get install -y python python-dev python-pipCentOS 7 yum update -y &&
TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通.阶 在TensorFlow系统中,张量的维数来被描述为阶.但是张量的阶和矩阵的阶并不是同一个概念.张量的阶(有时是关于如顺序或度数或者是n维)是张量维数的一个数量描述.
广播操作(Broadcasting operation)一种用numpy-style broadcasting来保证tensor参数的形态兼容的操作。Devices一块可以用来运算并且拥有自己的地址空间的硬件,比如GPU和CPU。evalTensor 的一个方法,返回 Tensor 的值。触发任意一个图计算都需要计算出这个值。只能在一个已经启动的会话的图中才能调用该 Tensor 值。
此文档对关于TensorFlow的一些常见问题提供了答案,如果这里没有你问题的答案,你可能会在社区资源中找到它。内容常见问题建立 TensorFlow graph运行 TensorFlow 计算过程VariablesTensor shapesTensorBoard扩展 TensorFlow其他问题建立 TensorFlow graph 参看建立 graph 的 API 文档.为什么c = tf.matmul(a, b) 不立即执行矩阵相乘?
本页介绍了一些 TensorFlow 系统当前在实际中的应用。如果您在做研究、教育、或在某些产品中正在使用 TensorFlow,我们非常乐意在这里添加一些有关您的使用情况。请随时给我们发电子邮件简要说明您是如何使用TensorFlow的,或者给我们发 pull request来添加一个条目到本文件。下面列出了一些 TensorFlow 的用途。
如果你在研究中使用了 TensorFlow,并且希望引用 TensorFlow系统。我们建议你引用一下白皮书。@misc{tensorflow2015-whitepaper,title={{TensorFlow}: Large-Scale Machine Learning on Heterogeneous Systems},url={http://tensorflow.org/},note={Software available from tensorflow.
TensorFlow 白皮书 在这份白皮书里,你可以找到关于 TensorFlow 编程模型的更多详情和 TensorFlow 的实现原理。TensorFlow: Large-scale machine learning on heterogeneous systems引用 如果你在你的研究中使用了 TensorFlow,并且希望在引用中注记 TensorFlow,我们建议你引用上面这篇论文。你可以使用这个 BibTeX 目录。
你可以在怎么使用变量中所描述的方式来创建,初始化,保存及加载单一的变量.但是当创建复杂的模块时,通常你需要共享大量变量集并且如果你还想在同一个地方初始化这所有的变量,我们又该怎么做呢.本教程就是演示如何使用tf.variable_scope() 和tf.get_variable()两个方法来实现这一点.
支持的设备 在一套标准的系统上通常有多个计算设备. TensorFlow 支持 CPU 和 GPU 这两种设备. 我们用指定字符串strings 来标识这些设备. 比如:"/cpu:0": 机器中的 CPU"/gpu:0": 机器中的 GPU, 如果你有一个的话."/gpu:1": 机器中的第二个 GPU, 以此类推...如果一个 TensorFlow 的 operation 中兼有 CPU 和 GPU 的实现, 当这个算子被指派设备时, GPU 有优先权.
基本要求:熟悉 C++ 编程。确保下载 TensorFlow 源文件, 并可编译使用。我们将支持文件格式的任务分成两部分:文件格式: 我们使用 Reader Op来从文件中读取一个 record (可以使任意字符串)。记录格式: 我们使用解码器或者解析运算将一个字符串记录转换为TensorFlow可以使用的张量。
关注时代Java