一、深度学习与机器学习区别

(一)特征提取方面

1、机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识 深度学习通常由多个层组成,它们通常将更简单的模型组合在一起,通过将数

据从一层传递到另一层来构建更复杂的模型。通过大量数据的训练自动得到模型,不需

要人工设计特征提取环节。

2、深度学习算法试图从数据中学习高级功能,这是深度学习的一个非常独特的部

分。因此,减少了为每个问题开发新特征提取器的任务。适合用在难提取特征的图像、

语音、自然语言领域。

(二)数据方面

1、机器学习需要的执行时间远少于深度学习

2、深度学习参数往往很庞大,需要通过大量数据的多次优化来训练参数。

(三)算法方面

1、 机器学习

代表:K-Means、决策树、线性回归等

2、 深度学习

代表:神经网络

(四)深度学习应用场景

1、 图像识别

物体识别

车型识别

人脸检测跟踪

人脸身份认证

2、 自然语言处理技术

机器翻译

聊天对话

3、 语音技术

语音识别

(五)常用的深度学习框架

1、 Caffe

2、Torch

3、 Theano

4、TensorFlow

5、 MXNet

6、 PaddlePaddle--百度飞浆

二、TensorFlow 框架 简介

1、高度灵活(Deep Flexibility)

它不仅是可以用来做神经网络算法研究,也可以用来做普通的机器学习算

法,甚至是只要你能够把计算表示成数据流图,都可以用 TensorFlow。

2、语言多样(Language Options)

TensorFlow 使用 C++实现的,然后用 Python 封装。

3、设备支持

TensorFlow 可以运行在各种硬件上,同时根据计算的需要,合理将运算分配

到相应的设备,比如卷积就分配到 GPU 上,也允许在 CPU 和 GPU 上的计算分

布,甚至支持使用 gRPC 进行水平扩展。

4、Tensorboard 可视化

TensorBoard 是 TensorFlow 的一组 Web 应用,用来监控 TensorFlow 运行过

程,或可视化 Computation Graph。

三、tensorflow数据流图基础知识点

1、什么是tensorflow数据流图(Data Flow Graph):
官方的解释为:数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。

2、tensorflow数据流图如下所示

3、直接打印tensor相加之和,没有得到相加的结果定义一个op之后得到一个tensor,tensor包含的是op

import tensorflow as tf
import oscon_a = tf.constant(3)
con_b = tf.constant(4)con_c = tf.add(con_a,con_b)print(con_c) #Tensor("Add:0", shape=(), dtype=int32)

返回的结果为Tensor("Add:0", shape=(), dtype=int32),而不是结果预期的数值

4、如果我们要得到运行结果,需要进行下面开启会话执行op的代码

import tensorflow as tf
import oscon_a = tf.constant(3)
con_b = tf.constant(4)con_c = tf.add(con_a,con_b)
#开启会话,执行op
with tf.Session() as ss:print(ss.run(con_c))

得到的结果为数值7。

5、会话是什么?
tensorflow底层是c++写的,而我们写的代码是python代码,所谓会话便是连接python和c++的地方。

6、关于op与tensor
op其实是操作,tensor张量的本质是n维数组。

7、tensor和session都有grap图属性,通过graph来获取图属性,如果不特殊指定,都在默认的图中执行

import tensorflow as tfcon_a = tf.constant(3)
con_b = tf.constant(4)con_c = tf.add(con_a,con_b)
print(con_a.graph)
print(con_b.graph)
print(con_c.graph)g = tf.Graph()
with tf.Session() as ss:print(ss.graph)'''
<tensorflow.python.framework.ops.Graph object at 0x000000000239F390>
<tensorflow.python.framework.ops.Graph object at 0x000000000239F390>
<tensorflow.python.framework.ops.Graph object at 0x000000000239F390>
<tensorflow.python.framework.ops.Graph object at 0x000000000239F390>
'''

8、使用get_default_graph()获取默认图的地址

import tensorflow as tfcon_a = tf.constant(3)
con_b = tf.constant(4)con_c = tf.add(con_a,con_b)
print(con_c.graph)
print(tf.get_default_graph())
g = tf.Graph()
with tf.Session() as ss:print(ss.graph)
'''
<tensorflow.python.framework.ops.Graph object at 0x000000000258F390>
<tensorflow.python.framework.ops.Graph object at 0x000000000258F390>
<tensorflow.python.framework.ops.Graph object at 0x000000000258F390>
'''

9、使用tf.Graph()创建自定义图来运行数据
在这里我们要先创建图,创建完成后在图中定义tensor和op,之后使用with tf.Session(graph=g) as ss来开启graph指定要运行的图。

import tensorflow as tf# 创建图
g = tf.Graph()
with g.as_default():#在创建的图中定义tensor和opg_a = tf.constant(5.0)print(g_a)#Tensor("Const:0", shape=(), dtype=float32)#开启graph指定要运行的图,如果我们想要得到运行的结果,必须进行下面这段代码
with tf.Session(graph=g) as ss:print(ss.run(g_a)) #5.0

10、在上述代码大体分成两个阶段
1.构建图阶段

2.执行图阶段

11、关于结果标红问题
代码运行可能出现下面的结果:I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

这时候加入下面两句话即可解决这个问题:

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

深度学习tensorflow数据流图基础知识点相关推荐

  1. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(八)(TensorFlow基础))

    [神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(八)(TensorFlow基础)) 8 TensorFlow基础 8.1 TensorFlow2.0特性 8.1.1 Tenso ...

  2. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(四)(Python语言基础(2))

    [神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(四)(Python语言基础(2)) 第4讲 Python语言基础(2) 4.1 内置数据结构 4.1.1 序列数据结构(sequ ...

  3. 使用深度学习TensorFlow框架进行图片识别

    Apsara Clouder大数据专项技能认证:使用深度学习TensorFlow框架进行图片识别 本认证系统的介绍了深度学习的一些基础知识,以及Tensorflow的工作原理.通过阿里云机器学习PAI ...

  4. 深度学习算法工程师面试知识点总结(四)

    这是算法工程师面试知识点总结的第四篇,有兴趣的朋友可以看看前三篇的内容: 深度学习算法工程师面试知识点总结(一) 深度学习算法工程师面试知识点总结(二) 深度学习算法工程师面试知识点总结(三) 基于t ...

  5. 深度学习图像识别:基础知识与环境搭建

    深度学习图像识别:基础知识与环境搭建 1. 深度学习的基本原理 什么是人工智能? 通过学习掌握了某中技能的机器,我们认为它具备了人工智能 什么是深度学习? 深度学习的概念源于人工神经网络的研究: 含多 ...

  6. 通过深度学习+TensorFlow.js对蒙娜丽莎进行动画处理

    看蒙娜丽莎(Mona Lisa)画像时,你会发现她的眼睛将四处移动跟随你.这就是所谓的"蒙娜丽莎效应".为了娱乐,我们把蒙拉丽莎画像制成交互式数字肖像,通过你的浏览器和网络摄像头将 ...

  7. 深度学习算法实现———基础环境

    前言: 深度学习是包含在机器学习里的一个特殊领域,他是基于人工神经网络的一种特征学习算法的领域.自卷积神经网络现世以来深度学习开始迅速发展,相比于机器学习它更适合处理超高维特征.现如今深度学习在图像. ...

  8. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(十四)(卷积神经网络))

    [神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(十四)(卷积神经网络)) 14 卷积神经网络 14.1 深度学习基础 14.1.1 深度学习的基本思想 14.1.2 深度学习三 ...

  9. 【AI白身境】深度学习必备图像基础

    文章首发于微信公众号<有三AI> [AI白身境]深度学习必备图像基础 今天是新专栏<AI白身境>的第四篇,所谓白身,就是什么都不会,还没有进入角色. 我们已经说了linux基础 ...

最新文章

  1. matlab如求曲线插值点,两条曲线之间的插值(matlab)
  2. iOS架构-c++工程在Mac下编译成.a库并调用(12)
  3. 设置stm32系统各部分时钟
  4. 覆盖与重载与隐藏——SAP电面(3)
  5. 关于高并发,我想告诉你这些!
  6. Transformer Family
  7. AngularJs 基础教程 —— 控制器
  8. BeanUtils包的使用
  9. mysql耦合_内聚与耦合
  10. mysql输出重定向_将MySQL输出内容写入(重定向到)文件
  11. 三星电子宣布已开始大规模量产5nm芯片,并正在研发4nm工艺
  12. MD5加密 java实现
  13. C++析构函数为什么要为虚函数?
  14. 如何在Qt Creator中导入图标资源
  15. LINUX下载编译g729
  16. mkfs 格式化分区并创建文件系统
  17. 如何制作WindowsPE启动盘(极简)
  18. Photoshop-为图层添加一个镜头光晕
  19. 第三方账号登陆-sina微博_PC篇
  20. 00后步入社会,有哪些适合你的创业项目?

热门文章

  1. 看动画学算法之:排序-count排序
  2. YARN体系学习笔记
  3. 线程池的 RejectedExecutionHandler(拒绝策略)
  4. 30分钟学会如何使用Shiro
  5. 数据结构——绪论以及线性表的顺序表示
  6. centos安装 crf 和 kenlm
  7. 运筹学广泛的使用计算机,运筹学笔记
  8. java如何接受字符_java中string怎么获取指定位置的字符
  9. oracle数据库swap占用率高,Oracle数据库所在服务器swap严重
  10. java登录注册升级代码_【升级版】Java 登录,注册,传数据到后台小案例