去年3月份时,试用了Keras和TensorFlow分别来求解kaggle竞赛上的同一个情感分析的NLP的问题时写的笔记,有些内容可能已经不那么新了,而且很简略,但还是存一下备忘
Keras基础
1 简介
Keras是一个高级神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano后端。Keras 为支持快速实验而生。常见的RNN、CNN网络,都可以搭建;并搭配了一些数据集、数据处理类、可视化工具。
2 特点
- 在tensorflow基础上,再封装,接口更简洁;
- 有高度模块化,极简,和可扩充特性
- 支持CNN和RNN,或二者的结合
3 主要类或用过的类
- Dataset数据集
- Preprocessing数据预处理类,转换为keras的输入和输出量要求的格式。Tenor、list、ndarray、序列series等。
- 预训练模型
- 搭建模型需要的各种层,嵌入层、循环层、卷积层、dropout层等等;
- 各种搭建模型需要的函数和模块:激活函数、损失函数、优化器、正则化函数等等
- 训练流程中需要的模块,比如:初始化函数、性能评价方法、可视化工具
- 其他工具类:比如:读入等
4 hello world
第一个模型训练的小例子:
第二个模型训练的小例子:多分类
Tensorflow基础
1 简介
TensorFlow™是一个采用计算图的形式表述数值计算的工具,本身是一个开源软件库。最初由Google大脑小组的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究。张量(tensor)是计算图的基本数据结构,可以理解为多维数据,流(Flow)表达了张量之间通过计算互相转化的过程。
2 特点
它灵活的架构可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。
3 主要类或用过的类
主要模块:
1、建立图(Building Graphs)相关的类或函数:tf.Graph、tf.Operation、tf.Tensor、tf.DType、相关通用函数、队列(tf.QueueBase、tf.FIFOQueue等)
2、输入量和数据读入:占位符(Placeholders)、读取器(tf.ReaderBase、tf.TextLineReader等);
3、数据IO:tf.python_io.TFRecordWriter
4、算术操作;数组、张量的操作(数据类型转换、切割、合并、变形、归集运算);矩阵运算;
5、神经网络类(tf.nn 激活函数、卷积层、RNN层、嵌入层等);
6、运行图(Running Graphs)相关类或函数: tf.Session、异常处理类(tf.OpError、tf.errors)
7、训练和测试类:tf.train(Optimizers,Gradient Computation,Gradient Clipping,Distributed execution);;tf.test(单元测试、梯度检查)
8、TensorBoard:可视化工具。查看输入、输出、目标函数的值、评价指标值等;
4、Hello World