TensorFlow学习笔记
如果是工艺品,手工打造可能更有韵味。但如果需要量产,非得工厂化不可。开发深度学习项目,亦是如此。为了提高深度学习项目的开发效率,由谷歌荣誉出品的TensorFlow计算框架,横空出世,技压群雄。
玉来愈宏(张玉宏)
《品味大数据》(北京大学出版社,2016年10月)、《深度学习之美》(电子工业出版社,2018年7月)、《Python极简讲义——一本书入门数据分析与机器学习》作者
展开
-
TensorFlow 2.x调试错误解决:_SymbolicException: Inputs to eager execution function cannot be Keras symbolic
出现的这样错误:调试TensorFlow 2.0 程序时,发现错误如下:_SymbolicException: Inputs to eager execution function cannot be Keras symbolic tensors, but found [<tf.Tensor 'my_rnn/lstm_cell/cond/Identity:0' shape=(None, 100) dtype=float32>, <tf.Tensor 'my_rnn/lstm_cel原创 2020-05-22 05:29:17 · 5003 阅读 · 7 评论 -
tf.nn.softmax_cross_entropy_with_logits中的“logits”到底是个什么意思?
tf.nn.softmax_cross_entropy_with_logits函数是TensorFlow中常用的求交叉熵的函数。其中函数名中的“logits”是个什么意思呢?它时不时地困惑初学者,下面我们就讨论一下。1. 什么是logits?说到Logits,首先要弄明白什么是Odds?在英文里,Odds的本意是指几率、可能性。它和我们常说的概率又有什么区别呢?在统计学里,概率(P...原创 2018-05-10 09:01:55 · 39536 阅读 · 13 评论 -
TensorFlow 学习系列之一:TensorFlow 概述
在计算机相关的很多领域(如大数据、分布式计算、搜索等),Google公司都有着卓越的表现,贡献了很多划时代的产品。在人工智能领域,它也不例外。2011年,谷歌就开发了它的第一代分布式机器学习系统DistBelief[1]。其中计算机科学家杰夫·迪恩(Jeff Dean)和著名深度学习专家吴恩达(Andrew Y. Ng)都是这个项目的核心人员。除了吴恩达先生声名赫赫之外,这位杰夫·迪恩也非常了...原创 2018-01-26 21:05:35 · 1000 阅读 · 0 评论 -
TensorFlow学习系列之二:深度学习框架比较
“工欲善其事,必先利其器”。事实上,适用于深度学习的“器”很多,各有特色,也各有千秋。下面我们对其它几个比较流行的深度学习框架,给予简单介绍,以便给读者提供一个宏观的认知。11.2.1 TheanoTheano是一个偏向底层的深度学习框架,它开启了基于符号运算的机器学习框架的先河。Theano支持自动的函数梯度计算,带有Python接口并集成了Numpy。所以,从严格意义上来说,Thean原创 2018-01-26 21:11:17 · 926 阅读 · 0 评论 -
TensorFlow学习系列之三:Anaconda的安装
在介绍完毕几个主流的深度学习框架之后,下面让我们把视角重新回到TensorFlow上,介绍一下TensorFlow的安装过程。由于TensorFlow并非全部由Python编写而成,它的很多底层代码仍然是由高性能的C++甚至CUDA编写而成,所以它的安装过程比较繁琐,可能导致部分初学者不能一次性安装成功。TensorFlow为CPU和GPU两个版本。由于本书主要是面向初学者(而非生产环原创 2018-01-26 21:23:25 · 1639 阅读 · 0 评论 -
TensorFlow 学习系列之四:配置TensorFlow环境
Anaconda的核心命令就是conda。conda既是一个包管理器,又是一个环境管理器。作为包管理器,它可以协助用户查看或安装软件包。如果当前环境的Python不止一个时,我们还可以借助conda搭建起特定Python版本的环境,这就是conda环境管理器功能。下面我们就借助这个功能,为TensorFlow配置环境。11.3.2.1 配置TensorFlow环境为了确保是否已经正确安装好原创 2018-01-26 21:33:04 · 1698 阅读 · 0 评论 -
TensorFlow学习系列之五:寻找TensorFlow安装源
在配置完毕conda的环境之后,下面我们来介绍一下如何在当前环境下安装TensorFlow。由于网络环境的不同,用一种方法安装TensorFlow,可能会因莫名原因而失败。下面我们先后介绍3种方式来安装,相信总有一种方式能适用于你。(1)conda软件源安装首先,在终端输入以下命令搜索当前可用的TensorFlow版本anaconda search -t conda tenso原创 2018-01-26 21:45:49 · 6962 阅读 · 1 评论 -
TensorFlow学习系列之六:测试TensorFlow是否安装成功
“是骡子是马,拉出来溜溜”。上述安装是否成功,需要测试一下才知道。下面我们就用大名鼎鼎的“HelloWorld”程序,来测试TensorFlow是否安装成功。在终端输入python(请注意,在Mac/Linux环境下“python”全部小写),进入Python的交互模式(Pythonshell)。然后依次输入如下4条语句。01 >>> import tensorflow a...原创 2018-01-26 21:49:30 · 19101 阅读 · 4 评论 -
TensorFlow学习系列之七:TensorFlow的源码编译
为了编译TensorFlow的源代码,除了要有gcc(版本不低于4.8)支持之外,还需要安装Google自产的编译工具Bazel。1.安装Bazel安装Bazel,需要Java JDK 8或更高版本的支持,所以接下来我们要的第一件工作,就是要确定Java 8/9是否已经安装(可用“java -version”来查询)。如果没有安装,则可以通过如下流程安装。(1)利用Ubuntu的PPA(Perso...原创 2018-04-16 21:54:22 · 23705 阅读 · 5 评论 -
TensorFlow学习系列之八:什么是数据流图?
一、概述TensorFlow最基本的一次计算流程通常是这样的:首先它接受n个固定格式的数据输入,通过特定的函数,将其转化为n个张量(Tensor)格式的输出。一般来说,某次计算的输出很可能是下一次计算的(全部或部分)输入。整个计算过程其实是一个个Tensor 数据的流动过程。在这其中,TensorFlow将这一系列的计算流程抽象为了一张数据流图(Data Flow Graph)。简单来说,数据流图...原创 2018-05-10 19:11:56 · 7914 阅读 · 1 评论 -
TensorFlow学习系列之九:如何利用可视化数据流图TensorBoard?
人们在训练庞大而复杂的深度神经网络时,经常会出现难以理解的运算。而人类是有“视觉青睐”的,也就是说,人们通常对图片带来的信息更善于理解。为了迎合这一特性,也为了更方便理解、调试与优化程序,TensorFlow提供一个非常好用的可视化工具——TensorBoard,它能够可视化机器学习的流程,绘制图像生成的定量指标图以及附加数据。下面我们就以范例【11-1】这个简单的程序,来说明如何利用Tensor...原创 2018-05-10 21:29:53 · 5554 阅读 · 0 评论 -
训练分类器为什么要用cross entropy loss(交叉熵损失函数)而不能用mean square error loss(MSE,最小平方差损失函数)?
在一个人工智能群里,有人问起,训练分类器为什么要用cross entropy loss(交叉熵损失函数)而不能用mean square error loss(MSE,最小平方差损失函数)呢?正好,在我的那本《深度学习之美》(第11章)提及这个问题,于是复制了一部分内容,作为回答,群里的同学觉得通俗易懂,于是,把我的回答贴到这里,算是一个总结:---------对于多分类的标签(即教师信号),从本质...原创 2018-05-10 06:37:45 · 13313 阅读 · 0 评论