美文网首页
TensorFlow技术解析与实战(读书笔记).md

TensorFlow技术解析与实战(读书笔记).md

作者: filimo | 来源:发表于2017-12-19 18:06 被阅读16次

深度学习

从"深度"与"学习"两方面谈

深度

深度学习前身:人工神经网络(ANN).它的基本特点:模仿人脑神经元传递和处理信息

人工神经网络模型: 输入层----->隐藏层--->输出层. 而"深度"则一般是要求隐藏层很多

每一层由大量节点组成,层层之间由大量链接,但层内神经元一般相互独立

深度学习目的:利用已知的数据学习一套模型,使系统在遇见未知的数据时,也能够做出预测.在这个过程中,神经元需具备以下两个特性:

1,激活函数:非线性函数,前向传播

2,成本函数:在特定输入值下,输出与输入的真实值有多远,降损.反向传播

神经网络算法核心:计算,连接,评估,纠错,训练

深度学习:增加隐藏层数与神经元数量,让系统运行大量数据,训练它

学习(其实就是进行分类)

有监督学习:有特征,有标记,寻找特征与标记的映射关系(分类,回归)

无监督学习:(思路一:训练时对聚群结构进行聚类;思路二:成功时,强化学习)只有特征没有标记,(聚类,回归)

半监督学习:有标记的跟没有标记的.

入门过程:

1,数学知识:概率论与数理统计,高等数学,线性代数

2.机器学习理论与算法:LR,SVM,决策树,RF

3.编程工具:Python,Java…..

4,研读论文:LeNet,GoogleNet,AlexNetLSTM,GAN

5,动手训练

6,计算机视觉,自然语言处理


TensorFlow

简介

Google框架,实现深度学习中运用的神经网络

亮点:异构设备分布式计算,异构设备指:使用CPU,GPU等核心进行有效协同合作,分布式:帮助我们调度,分配计算资源(甚至容错)

支持的神经网络:卷积神经网络(CNN),循环神经网络(RNN),以及RNN的长短期记忆网络(LSTM)

一个有效框架该有的功能:

·Tensor库对CPU/GPU透明,并且实现很多操作

透明是指:用户只需指定哪个设备进行哪种运算,剩下的都是框架帮用户去实现

·独立的代码库,通过脚本语言(最理想_python)操作tensor,实现所有深度学习内容,包括前向/反向传播,图形计算

·没有编译过程

TensorFlow特性:

·高度灵活性:采用数据流图,用户数值计算

·真正的可移植:在CPU.GPU运行,PC,移动端,服务器,云端服务器等都可以运行

·:科研与产品结合在一起

·自动求微分

·多语言:接口:python,java,c++,核心:C++

·:最优化性能

下载,-----自行Google

依赖的一些模块

1,numpy:存储和处理大型矩阵的科学计算包,包括:

·一个强大的N维数组对象

·比较成熟的函数库

·用于整合C/C++和Fortran代码的工具包

·使用的线性代数,傅里叶变换和随机数生成函数

安装方法: pip install numpy --upgrade

2,matplotlib:python最著名的绘图库

安装方法:pip install matplotlib --upgrade

3,jupyter:Ipython升级版

安装方法:pip install jupter --upgrade

4,scikit-image:有一组图像处理算法,过滤图片变得简单,适用于对图像的预处理

安装方法:pip install scikit-image --upgrade

5,librosa:用python进行音频特征提取

安装方法:pip install librosa --upgrade

6,nltk:包含大量的语料库,很方便的完成很多自然语言处理的任务

安装方法:pip install nltk --upgrade

安装完成后,需要导入nltk工具包下载nltk数据源:

import nltk

nltk.download()

7,keras:第一个被添加到tensorflow和心中的高级别框架

安装方法:pip install keras --upgrade

8,tflearn:另一个支持tensorflow的第三方框架

安装方法:pip install git+https://github.com/tflearn/tflearn.git

TensorFlow可视化:

1,playground:-----http://playground.tensorflow.org/

2,TensorBoard:

是TebsorFlow自带的一个强大的可视化工具,也是一个web应用程序,目前支持7种可视化:

①:SCALARS(scalars):展示训练过程中的准确率.损失值,权重/偏置的变化情况

②:IMAGES(images):展示训练过程中记录的图像

③:AUDIO(audio):展示训练过程中记录的音频

④:GRAPHS(graphs):展示模型的数据流图,以及训练在各个设备上消耗的内存和时间

⑤:DISTRIBUTIONS(distributions):展示训练过程中记录的数据分布图

⑥:HISTOGRAMS(histograms):展示训练过程中记录数据柱状图

⑦:EMBEDDINGS(embeddings):展示词向量(如Word2vec)后的投影分布

用法:运行本地服务器,监听6006端口,在浏览器发出请求时,分析训练时记录的数据来绘制训练过程中的图像

步骤:

1,运行测试数据集:python tensorflow-1.2.0/tensorflow/examples/tutorials/mnist/mnist_with_summaries.py

2,打开TensorBoard面板:tensorboard --logdir=/tmp/tensorflow/mnist/logs/mnist_with_summaries

3,浏览器访问本地IP加端口:6006

相关文章

网友评论

      本文标题:TensorFlow技术解析与实战(读书笔记).md

      本文链接:https://www.haomeiwen.com/subject/aksiwxtx.html