TensorBoard 是用于可视化 TensorFlow 模型的训练过程的工具(the flow of tensors),在你安装 TensorFlow 的时候就已经安装了 TensorBoard。我在前面的 【TensorFlow】TensorFlow 的卷积神经网络 CNN - TensorBoard版 和 【Python | TensorBoard】用 PCA 可视化 MNIST 手写数字识别数据集 分别非常简单的介绍了一下这个工具,没有详细说明,这次来(尽可能详细的)整体说一下,而且这次也是对 前者 代码的一个升级,很大程度的改变了代码结构,将输入和训练分离开来,结构更清晰。小弟不才,如有错误,欢迎评论区指出。
阅读全文tf.contrib.learn.DNNRegressor 是 TensoFlow 中实现的一个神经网络回归器。一般神经网络用于分类问题的比较多,但是同样可以用于回归问题和无监督学习问题。
阅读全文
关于什么是 XGBoost,我在这里不再解释,如果有时间的话再写一篇文章来解释,在数据科学里非常有用。大家可以参考 Tianqi Chen 的论文 XGBoost: A Scalable Tree Boosting System ,本篇文章只是在 Windows 10 和 Ubuntu 上安装 XGBoost 的 Python 包的方法,Ubuntu 版本为 16.04 LTS,Python 版本均为 3.5,Anaconda。
奇异值分解(Singular Value Decomposition,SVD)是一种矩阵分解(Matrix Decomposition)的方法。除此之外,矩阵分解还有很多方法,例如特征分解(Eigendecomposition)、LU分解(LU decomposition)、QR分解(QR decomposition)和极分解(Polar decomposition)等。这篇文章主要说下奇异值分解,这个方法在机器学习的一些算法里占有重要地位。
阅读全文
由于我很早就在 GitHub 下载了 TensorFlow 的源码库没有更新,在运行 TensorFlow 官方的 CNN 例子的时候,总是报 ImportError 错误,找不到 cifar10 模块,后来发现是 TensorFlow 的源码库更新了,这些模型实现都被移到了一个新的源码库:models 。
但是呢,在我 clone 了 models 到本地后,按照 TensorFlow 官方的例子运行 python cifar10_train.py 的时候,问题又出现了……
前面写了 TensorFlow 在Windows上的安装教程,当时版本还是 0.12 。
NOW
首届 TensorFlow 开发者大会(TensorFlow Dev Summit)已于美国时间昨日召开,YouTube 还进行了直播。更重要的是,TensorFlow 1.0 版本发布。Google Research Blog 也于昨天在 博客 中公布了这一消息。
阅读全文前面 有篇博文讲了多层感知器,也就是一般的前馈神经网络,文章里使用 CIFAR10 数据集得到的测试准确率是 46.98%。今天我们使用更适合处理图像的卷积神经网络来处理相同的数据集 - CIFAR10,来看下准确率能达到多少。
本文代码基于 TensorFlow 的官方文档 做了些许修改,完整代码及结果图片可从 这里 下载。
这篇 文章是对本文的一个升级,增加了 TensorBoard 的实现,可以在浏览器中查看可视化结果,包括准确率、损失、计算图、训练时间和内存信息等。
阅读全文主成分分析(PCA)是一种常用的数据降维方法,可以将高维数据在二维或者三维可视化呈现。具体原理我在这里就不再详述,网上有很多教程都不错,可以参考 这里 或者 PCA 的维基百科页面。
阅读全文之前 写过一篇在 ubuntu 下安装 TensorFlow 的教程,那个时候 TensorFlow 官方还不支持 Windows 系统,虽然可以通过其他方法安装,但是终究不是原生的,而且安装过程繁琐易错。好消息是,Google官方在11月29号的开发者博客中宣布新的版本(0.12)将 增加对Windows的支持,我11月30号知道的,立马就安装试了试,安装过程非常简单,不过也有一些需要手动调整。
更新
这里我会列出对本文的更新。
- 2017 年 3 月 1 日:cuDNN 版本从 5.0 升级到 5.1 版本,更新 cuda 和 cudnn 下载地址。
- 2017 年 3 月 20 日:标记 安装前准备 中的第五条 确保你安装了 VS2015 或者 2013 或者 2010。 为存疑。这是我之前在 TensorFlow 官网看到的,但是现在去翻了翻找不到了。如果有同学没有安装 VS 就把 TensorFlow 安装成功了的话,请在下方评论区说明下,到时候我会将这个要求标记为删除。谢谢。
- 2017 年 3 月 26 日:更新 TensorFlow 安装命令。
- 2017 年 4 月 18 日:
- 安装前准备 第五条标记为删除,经过我再次试验发现不需要 VS 的支持。
- 增加问题
Cannot remove entries from nonexistent file的解决办法。
- 2017 年 7 月 20 日:增加问题
ImportError: DLL load failed: 找不到指定的模块。、ImportError: No module named '_pywrap_tensorflow_internal'和ImportError: No module named 'tensorflow.python.pywrap_tensorflow_internal的时候` 的解决办法。 - 2017 年 7 月 31日:更新关于 Python 版本的说明,TensorFlow 从 1.2 开始在 Windows 上支持 Python 3.6。感谢评论区 @Vince_Ace 提供的信息。
- 2017 年 8 月 20 日:TensorFlow 1.3 发布,更新 cuDNN 版本说明。感谢评论区 @myseth1023 提供的信息。
- 2017 年 8 月 21 日:删除 安装cuDNN 中容易误导人的部分(关于添加环境变量)。
- 2018 年 3 月 12 日:TensorFlow 1.6 发布,更新相关说明,详细发布说明参考 Release TensorFlow 1.6.0。
- 2018 年 3 月 18 日:增加问题 #4 及其解决办法。
- 2019 年 4 月 5 日:增加问题 #5 及其解决办法(针对 TensorFlow 1.13)。
安装前准备
TensorFlow 有两个版本:CPU 版本和 GPU 版本。GPU 版本需要 CUDA 和 cuDNN 的支持,CPU 版本不需要。如果你要安装 GPU 版本,请先确认你的显卡支持 CUDA。我安装的是 GPU 版本,采用 pip 安装方式,所以就以 GPU 安装为例,CPU 版本只不过不需要安装 CUDA 和 cuDNN。
- 在 这里 确认你的显卡支持 CUDA。
- 确保你的 Python 版本是 3.5 64 位及以上。(TensorFlow 从 1.2 开始支持 Python 3.6,之前的官方是不支持的)
- 确保你有稳定的网络连接。
- 确保你的 pip 版本 >= 8.1。用
pip -V查看当前pip版本,用python -m pip install -U pip升级pip。 确保你安装了 VS2015 或者 2013 或者 2010。此条非必须,删除。
此外,建议安装 Anaconda,因为这个集成了很多科学计算所必需的库,能够避免很多依赖问题,安装教程可以参考 这里。
以上条件符合,那么恭喜你可以开始下载 CUDA 和 cuDNN 的安装包了,注意版本号会由于 TensorFlow 不同版本有变化,此处请结合下面的安装 CUDA 和安装 cuDNN 说明)。
安装 TensorFlow
由于 Google 那帮人已经把 TensorFlow 打成了一个 pip 安装包,所以现在可以用正常安装包的方式安装 TensorFlow 了,就是进入命令行执行下面这一条简单的语句:1
2
3
4
5# GPU版本
pip3 install --upgrade tensorflow-gpu
# CPU版本
pip3 install --upgrade tensorflow
然后就开始安装了,速度视网速而定。
安装网之后你试着在 Python 中import tensorflow会告诉你没有找到 CUDA 和 cuDNN,所以下一步就是安装这两个东西。
安装 CUDA
- TensorFlow 1.6:CUDA 9.0
- TensorFlow 1.13.1:CUDA 10.0
这个也是很简单的,首先根据上面的版本去官网下载对应的安装包(~ 1.4 GB)。下载完那个 exe 文件就是 CUDA 的安装程序,直接双击执行就可以了,就像安装正常的其他软件一样,安装过程屏幕可能会闪烁,不要紧,而且安装时间有点长。
安装完之后系统变量会自动为你添加上,这个不用管。
测试一下是否安装成功,命令行输入 nvcc -V ,看到版本信息就表示安装成功了。

