深度学习day1

深度学习day1

  • 1. 深度学习与机器学习的区别
      • 1.1 特征提取方面
      • 1.2 数据量与计算性能要求
      • 1.3 算法代表
  • 2. 深度学习框架之TensorFlow
      • 2.1 TensorFlow基础
      • 2.2 TensorFlow基础知识
        • 1. **张量(Tensor)**:多维数组、多维列表
        • 2. **变量(Variable)**:用于表示程序处理的共享持久状态
        • 3. **图与函数**
        • 4. **可视化学习(TensorBoard)**:用来展示计算图、训练过程中的指标、损失曲线
        • 5. **操作(OP)**:数学操作与数据操作

1. 深度学习与机器学习的区别

机器学习 [input]-->[feature extraction]-->[classification]-->[output]
深度学习 [input]-->[feature extraction·classification]-->[output]

1.1 特征提取方面

  • 机器学习:特征工程需要手动完成。
  • 深度学习:由多个层组成,通过大量数据训练模型,不需要手动提取特征。

1.2 数据量与计算性能要求

  • 机器学习:对数据量和算力要求较低,适用于小规模数据场景(如决策树、SVM)。
  • 深度学习:需海量数据(如百万级图像)和高性能计算(GPU/TPU),以训练复杂模型。

1.3 算法代表

  • 机器学习:朴素贝叶斯、决策树、支持向量机(SVM)等。
  • 深度学习:神经网络(CNN、RNN、GAN等),尤其是多层结构模型。

2. 深度学习框架之TensorFlow

2.1 TensorFlow基础

  • 定义:Google开源框架,用于构建、训练和部署深度学习模型,支持自动求导与分布式计算。
  • 核心数据结构:张量(Tensor),表示多维数组(标量、向量、矩阵等)。

2.2 TensorFlow基础知识

1. 张量(Tensor):多维数组、多维列表
维数 名称 例子
0-D 0 标量 scalar 5(一个单独的数字)
1-D 1 向量 vector [1, 2, 3](一维数组)
2-D 2 矩阵 matrix [[1, 2], [3, 4]](二维数组)
n-D n 张量 tensor [[[1, 2], [3, 4]], [[5, 6], [7, 8]]](多维数组)
# 创建一个张量
tf.constant(张量内容,dtype=数据类型)
# 维度:一维-直接写个数;二维-用[行,列];多维-[a,b,c,...]
# 创建全为0的张量
tf.zeros(维度)
# 创建全为1的张量
tf.ones(维度)
# 创建全为指定值的张量
tf.fill(维度,指定值)
# 生成正态分布的随机数
tf.random.normal(维度,mean=均值,stddev=标准差)
# 生成截断式正态分布的随机数[随机生成数据在(μ-2σ,μ+2σ)]
tf.random.truncated_normal(维度,mean=均值,stddev=标准差)
# 生成均匀分布随机数[minval,maxval)
tf.random.uniform(维度,minval=最小值,maxval=最大值)
2. 变量(Variable):用于表示程序处理的共享持久状态
# 将变量标记为“可训练”,被标记的变量会在反向传播中记录梯度信息。
tf.Variable(初始值)
3. 图与函数
1. **计算图**:TensorFlow通过数据流图(节点为操作,边为张量流动)定义计算流程
	1. **数据流图(Data Flow Graphs)** TensorFlow框架的核心计算模型,通过节点(Nodes)和边(Edges)构成有向无环图(DAG),用于描述数学计算过程
		1. **节点(Nodes)**:数学操作与数据操作
		2. ​**边(Edges)​**:节点间的数据流动关系,传输的是多维数组(张量,`Tensor`)
	2. **构建图和执行图**
		1. 构建图:定义数据(张量Tensor)和操作(节点OP),即构建数据流图
		2. 执行图:将定义的数据和操作运行起来,即执行数据流图
	3. **关键**:图非真的图,而是一种抽象的**数据流图**
2. **函数(function)**:核心装饰器,通过Python 函数实现**计算图​**​,从而显著提升性能,从形式上类似于cpp的函数
import tensorflow as tf
@tf.function
def add(a, b):
    return a + b
# 调用方式
result = add(tf.constant(1), tf.constant(2))
# 输出: 
4. 可视化学习(TensorBoard):用来展示计算图、训练过程中的指标、损失曲线
1.数据序列化
tf.summary.create_file_writer("event文件的绝对地址",graph=sess.graph)
2.终端启动TensorBoard
tensorboard --logdir="event文件的绝对地址"
5. 操作(OP):数学操作与数据操作
# 张量运算(只有维度相同的张量才可以做四则运算)
tf.add()
tf.substract()
tf.multiply()
tf.divide()
# 平方、次方、开方
tf.square()
tf.pow()
tf.sqrt()
# 矩阵乘法
tf.matmul(矩阵1,矩阵2)
# 指令名称
tf.constant(value,name="")# name默认为constant,若定义n个张量name则为constant_n

你可能感兴趣的:(深度学习,人工智能,笔记,学习,机器学习)