算法
掌握神经网络的数学原理
手动实现简单的神经网络结构
应用
目标
应用
深度学习算法试图从数据中学习高级功能,这是深度学习的一个非常独特的部分。因此,减少了为每个问题开发新特征提取器的任务。适合用在难提取特征的图像、语音、自然语言领域
机器学习需要的执行时间远少于深度学习,深度学习参数往往很庞大,需要通过大量数据的多次优化来训练参数。
第一、它们需要大量的训练数据集
第二、是训练深度神经网络需要大量的算力
可能要花费数天、甚至数周的时间,才能使用数百万张图像的数据集训练出一个深度网络。所以以后
机器学习
深度学习
目标
应用
图像识别
自然语言处理技术
语音技术
目标
应用
tensorflow的github:
官网:https://www.tensorflow.org/
语言多样(Language Options)
使用分发策略进行分发训练
Tensorboard可视化
在任何平台上的生产中进行强大的模型部署
一旦您训练并保存了模型,就可以直接在应用程序中执行它,或者使用部署库为其提供服务:
安装 TensorFlow在64 位系统上测试这些系统支持 TensorFlow:
进入虚拟环境当中再安装。刚开始的环境比较简单,只要下载tensorflow即可
安装较慢,指定镜像源,请在带有numpy等库的虚拟环境中安装
pip install tensorflow==1.12 -i https://mirrors.aliyun.com/pypi/simple
pip install tensorflow==1.12 -i https://mirrors.aliyun.com/pypi/simple
注:如果需要下载GPU版本的(TensorFlow只提供windows和linux版本的,没有Macos版本的)参考官网https://www.tensorflow.org/install/gpu?hl=zh-cn,
1、虚拟机下linux也是用不了GPU版本TensorFlow
2、本机单独的windows和本机单独的unbuntu可以使用GPU版本TensorFlow,需要安装相关驱动
说明TensorFlow的数据流图结构
应用TensorFlow操作图
说明会话在TensorFlow程序中的作用
应用TensorFlow实现张量的创建、形状类型修改操作
应用Variable实现变量op的创建
应用Tensorboard实现图结构以及张量值的显示
应用tf.train.saver实现TensorFlow的模型保存以及加载
应用tf.app.flags实现命令行参数添加和使用
应用TensorFlow实现线性回归
目标
应用
内容预览
2.1.1 案例:TensorFlow实现一个加法运算
2.1.2 数据流图介绍
def tensorflow_demo():
"""
通过简单案例来了解tensorflow的基础结构
:return: None
"""
# 一、原生python实现加法运算
a = 10
b = 20
c = a + b
print("原生Python实现加法运算方法1:\n", c)
def add(a, b):
return a + b
sum = add(a, b)
print("原生python实现加法运算方法2:\n", sum)
# 二、tensorflow实现加法运算
a_t = tf.constant(10)
b_t = tf.constant(20)
# 不提倡直接运用这种符号运算符进行计算
# 更常用tensorflow提供的函数进行计算
# c_t = a_t + b_t
c_t = tf.add(a_t, b_t)
print("tensorflow实现加法运算:\n", c_t)
# 如何让计算结果出现?
# 开启会话
with tf.Session() as sess:
sum_t = sess.run(c_t)
print("在sess当中的sum_t:\n", sum_t)
return None
注意问题:警告指出你的CPU支持AVX运算加速了线性代数计算,即点积,矩阵乘法,卷积等。可以从源代码安装TensorFlow来编译,当然也可以选择关闭
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
TensorFlow 程序通常被组织成一个构建图阶段和一个执行图阶段。
在构建阶段,数据与操作的执行步骤被描述成一个图。
在执行阶段,使用会话执行构建好的图中的操作。
图和会话 :
张量:TensorFlow 中的基本数据对象
节点:提供图当中执行的操作
节点(Operation)在图中表示数学操作,线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。
或多个本地或远程设备运行数据流图的机制
节点(Operation)在图中表示数学操作,线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。