TensorFlow人工智能学习张量及高阶操作示例详解
作者:Swayzzu 发布时间:2022-04-15 15:37:52
一、张量裁剪
1.tf.maximum/minimum/clip_by_value()
该方法按数值裁剪,传入tensor和阈值,maximum是把数据中小于阈值的变成阈值。minimum是把数据中大于阈值的变成阈值。clip_by_value需要传入两个阈值,会把数据裁剪到阈值中间。
2.tf.clip_by_norm()
按范数裁剪,传入tensor和新的范数。通过裁剪范数,可以进行等比例放缩,使得梯度方向不变,但数值变小。通过这个方法可以对梯度进行裁剪,一次性对所有的参数的范数进行裁剪,并且保留方向。防止梯度 * ,梯度弥散。
二、张量排序
1.tf.sort/argsort()
这两个方法分别返回排序后的值,排序后的索引。有索引之后,可以通过gather方法对数据排序。
对于多维tensor,不指定轴的时候,默认是对最后一个轴操作。
2.tf.math.topk()
返回前k大的那些数据,以及索引。比如下面的例子,传入a,2的意思是前两个大的值。因此会对每一行,寻找前两大的数,以及对应的索引,存到返回值中。
可以通过这个规则,求解topk的准确率。比如下面的例子,对于两条数据,预测概率是prob,根据预测概率,得到这两条数据最大值索引是2,1,而实际的值target是2,0。
①通过tf.math.top_k方法,对预测的概率进行排序,让它返回前三大的值。并得到索引。
②将索引进行转置之后,可以方便地阅读:第一列就是第一条数据的预测值概率索引排序,第二列就是第二条数据的预测值概率索引排序。
③那么,对于两条数据top1的准确率,就是概率最大的索引,也就是第一行的两个数据,2,1,而实际值是2,0,那么top1准确率就是50%
④top2的准确率,意思就是,只要前两名的概率预测有对的,那就算预测对了。那么第一行,第一条预测对了,第二条预测错了。而第二行,第一条预测错了,第二条预测对了。
⑤那么,根据“只要前两个概率有一个对,那就算对”,top2的准确率就是100%
三、TensorFlow高阶操作
1.tf.where()
如果传入布尔型数据,会根据数据返回值为True的数值的索引。
如果传入条件数据,比如where(condition, A, B),condition是一个布尔tensor,会从A里面选择condition为true的位置所对应的数据,从B里面选择conditon为false的位置所对应的数据。
2.tf.scatter_nd()
该方法中,传入索引,数据,底板。
底板通常是全0的tensor,索引是和数据一一对应的,并且索引的长度不超过底板。
传入的每一个数据都对应一个索引,然后把数据更新到底板上面索引对应的位置。
如果底板已经有数据了,就需要全部清零,再更新。
在二维上面举例如下:
3.tf.meshgrid()
和numpy里面的meshgrid用法一样,分别生成的是网格中x和y的数据。例子如下:
然后使用stack进行一个堆叠,就可以得到所有25个点的坐标。
来源:https://blog.csdn.net/Swayzzu/article/details/121242209
猜你喜欢
- form表单中经常涉及复选框(checkbox)和单选框(radiobox),如用户的爱好跑步、游泳、跳舞可以使用复选框,性别男、女可以使用
- asp学习入门经验介绍,本文初步介绍了初学asp的一些相关知识,如VBScript语法简介,循环控制语句的使用,asp数据库的简单操作查询,
- CSV文件是一种纯文本文件,它使用特定的结构来排列表格数据。CSV文件内容看起来应该是下面这样的:column 1 name,column
- 安装库位置和显示方式简单总结:一、位置的不同 1.自带库在环境的 lib\\os.py&nb
- 本文实例讲述了Python实现微信中找回好友、群聊用户撤回的消息功能。分享给大家供大家参考,具体如下:还在好奇好友撤回了什么消息吗?群里撤回
- 本文介绍了利用Python实现Windows下的鼠标键盘模拟的实例代码,分享给大家本来用按键精灵是可以实现我的需求,而且更简单,但既然学py
- 默认转换器from flask import Flaskapp = Flask(__name__)#/user/123@app.route(
- 1.ResNet的创新现在重新稍微系统的介绍一下ResNet网络结构。 ResNet结构首先通过一个卷积层然后有一个池化层,然后通过一系列的
- 一、记事本源码#python简易记事本from tkinter import *from tkinter import messagebox
- Python 调用ChatGPT API 接口介绍ChatGPT 介绍https://platform.openai.com/example
- 关于python数据分析常用库pandas中的DataFrame的loc和iloc取数据 基本方法总结归纳及示例如下:1.准备一组DataF
- 列表解析——用来动态地创建列表[expr for iter_var in iterable if cond_expr]例子一:map(lam
- 额。。。每个请求都有token值的传入,但是token非常易变,一旦变化,所有的接口用例都得改一遍token,工作量太大了。。。那么有没有一
- 判断一个数是否能被另一个整数整除是一个挺简单的问题,一般一个模运算就可以搞定了,懒惰的晓萌还是不想自己做,于是找到你帮他写代码,你就帮帮他吧
- 对numpy 矩阵进行通道间求均值给定一个3x2x2得矩阵,得到一个2x2的矩阵,其中对应元素是通道间的均值import numpy as
- 在 多线程与多进程的比较 这一篇中记录了多进程编程的一种方式.下面记录一下多进程编程的别一种方式,即使用multiprocessing编程i
- Css tranistions允许元素的属性在单位时间内发生平滑的过渡,在阅读完《CSS Transitions Module Level
- 环境:编辑工具:浏览器:安装xlrd安装DDT一 分析1 目录结构2 导入包二 代码import xlrdcl
- 随着jQuery、Mootools、prototype等知名的JavaScript框架的应用变的越来越强大,浏览器对最新版本CSS属性的支持
- 本文实例分析了Python减少循环层次和缩进的技巧。分享给大家供大家参考,具体如下:我们知道Python中冒号和缩进代表大括号,这样写已经可