Tensorflow for Deep Learning 1
笔记1: 介绍TensorFlow
“CS 20SI: TensorFlow for Deep Learning Research” (http://cs20si.stanford.edu) 这门课是由Chip Huyen([email protected])老师上的,我就简单的做做笔记整理> <.
Tensorflow是什么,它很火,哪些公司在用它,它是如何安装的,我这里就不啰嗦了,这些内容网上一大把。
一.开始写Tensorflow代码
这部分内容是可以跳过的,讲的是简单的一个tf程序。(我添加了导入一些包,不然运行不了)
1 | # iris.py |
运行结果 Accuracy: 0.933333
1. TF Learn (tf.contrib.learn)
TensorFlow的简单接口,TF Learn (tensorflow.contrib.learn),提供已经实现的模型可供使用者简单的调用。类似scikit learn,通过简单的几行代码就可以开始深度学习。事实上TF Learn期初是Scikit Flow (SKFlow)这个独立的项目。
TF Learn可以导入数据,构造模型,模型拟合,评估准确性。很多模型可以调用,比如线性分类,线性回归,DNN分类器。
2. TF-Slim (tf.contrib.slim)
TF-Slim可以用来简单构建、训练、评估神经网络。
3. TensorFlow之上的高级APIs
有很多基于TensorFlow的APIs, 比如Keras (keras@GitHub), TFLearn (tflearn@GitHub), 和 Pretty Tensor (prettytensor@GitHub)。现在据说Keras准备作为官方默认API了,Keras真的超级好用> <.
TFLearn支持ConvNets, LSTM, BiRNN, ResNets, Generative networks以及一些特征BatchNorm, PReLU.
当然啦,TensorFlow的目的不是提供开箱即用的机器学习工具箱,而是希望能够针对不同场景不同需求,更灵活的搭建合适的架构来自己使用。
Data Flow Graph (数据流图)
TF使用数据流图,所有的计算都在图(graphs)中。session(这个我也不知道中文该怎么称呼,感觉英文就挺好的)用来分配给变量内存。参考这篇文章什么是tensorflow session。总之就是图是用来定义计算的,session是执行图里的计算的。
note 1 结束了,感觉有点少,算是入坑的开头吧> <