IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> tensorflow2常用函数 -> 正文阅读

[Python知识库]tensorflow2常用函数

TensorFlow学习笔记

Tensor 表示张量,是多维数组、多维列表,用阶表示张量的维数。

0 阶张量叫做标量,表示的是一个单独的数,如 123;

1 阶张量叫做向量,表示的是一个一维数组如[1,2,3];

2 阶张量叫做矩阵,表示的是一个二维数组。

TensorFlow中数据类型有tf.int32、 tf.float32、tf.float64、tf.bool、tf.string

创建张量的方法:

  1. tf.constant(张量内容,dtype=数据类型(可选))

shape 中数字为 2,表示一维张量里有 4 个元素。

  1. 将numpy的数据类型转换为Tensor数据类型

?????? tf.convert_to_tensor(数据名,dtype=数据类型(可选))

  1. 创建全0的张量? tf.zeros(维度)
  2. 创建全1的张量? tf.ones(维度)
  3. 创建全为指定值的张量? tf.fill(维度,指定值)

  1. 生成正态分布的随机数,默认均值为0,标准差为1
    • tf.random.normal(维度,mean=均值,stddev=标准差)
  2. 生成截断式正态分布的随机数
    • tf.random.truncated_normal(维度,mean=均值,stddev=标准差)??

生成截断式正态分布的随机数,能使生成的这些随机数更集中一些,如果随机生成数据的取值 在 ( ?mean - 2 * stddev, mean + 2 * stddev ?) 之外则重新进行生成,保证了生成值在均值附近

  1. 生成均匀分布的随机数
    • tf.random.uniform(维度,minval=最小值,maxval=最大值)

生成指定维度的均匀分布随机数,用 minval 给定随机数的最小值,用 maxval 给定随机数的最大值, 最小、最大值是前闭后开区间

其他常用函数:

  1. 强制tensor数据类型转换
    • tf.cast(张量名,dtype=数据类型)
  2. tensor元素计算
    • tf.reduce_min(张量名):最小
    • tf.reduce_max(张量名):最大
    • tf.reduce_sum(张量名):求和
    • tf.reduce_mean(张量名):均值
    • 利用 tf.add (张量 1,张量2)实现两个张量的对应元素相加;
    • 利用 tf.subtract (张量 1,张量 2)实现两个张量的对应元素相减;
    • 利用 tf.multiply (张量 1,张量 2)实现两个张量的对应元素相乘;
    • 利用 tf.divide (张量 1,张量 2)实现两个张量的对应元素相除。

注:只有维度相同的张量才可以做加减乘除四则运算

可用 tf.reduce_mean (张量名,axis=操作轴)计算张量沿着指定维度的平均值。求最大最小均值同理,对于一个二维张量,如果 axis=0 表示纵向操作,axis=1 表示横向操作。

  1. tensor数据运算
    • 平方 tf.square(张量名)
    • n次方 tf.pow(张量名, n)
    • 开方 tf.sqrt(张量名)

  1. tensor数据运算,matmul矩阵乘
    • tf.matmul(矩阵 1,矩阵 2)

  1. tf.argmax
    • 返回张量沿着指定维度最大值的索引
    • tf.argmax(张量名, axis=操作轴)

  1. tf.data.Dataset.from_tensor_slices((输入特征, 标签))
    • 该函数是dataset核心函数之一,它的作用是把给定的元组、列表和张量等数据进行特征切片。
    • 切片的范围是从最外层维度开始的。
    • 如果有多个特征进行组合,那么一次切片是把每个组合的最外维度的数据切开,分成一组一组的。
    • 切分传入张量的第一维度,生成输入特征/标签对,构建数据集,此函数对 Tensor 格式与 Numpy 格式均适用,其切分的是第一维度,表征数据集中数据的数量,之后切分 batch 等操作都以第一维为基础。

  1. Variable函数

tf.Variable()将变量标记为“可训练”,被标记的变量会在反向传播中记录梯度信息。神经网络训练中,常用该函数标记待训练参数。

tf.Varible(初始值)

  1. GradientTape函数

tf.GradientTape( )函数搭配 with 结构计算损失函数在某一张量处的梯度

  1. GradientTape函数? 多层高阶导数
    1. watch(tensor)
    2. 作用:确保某个tensor被tape追踪

另外,默认情况下GradientTape的资源在调用gradient函数后就被释放,再次调用就无法计算了。

所以如果需要多次计算梯度,需要开启persistent=True属性,例如:

  1. One_hot函数?
    • tf.one_hot(待转换数据,depth=几分类)
  2. One_hot函数?

???????????? tf.one_hot(indices, depth, on_value, off_value, axis)

    1. indices是一个列表,指定张量中独热向量的独热位置,或者说indeces是非负整数表示的标签列表。len(indices)就是分类的类别数。
    2. tf.one_hot返回的张量的阶数为indeces的阶数+1。
    3. 当indices的某个分量取-1时,即对应的向量没有独热值。
    4. depth是每个独热向量的维度
    5. on_value是独热值
    6. off_value是非独热值
    7. axis指定第几阶为depth维独热向量,默认为-1,即,指定张量的最后一维为独热向量

  1. tf.nn.softmax函数?
    • tf.nn.softmax(x)函数,使输出符合概率分布

  1. assign_sub函数?

赋值操作,更新参数的值并返回

调用assign_sub前,先用 tf.Variable定义变量w为可训练(可自更新).

w.assign_sub(w要自减的内容)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 20:53:29  更:2022-09-24 20:55:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 13:50:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计