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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> tensorflow常用函数总结 -> 正文阅读

[人工智能]tensorflow常用函数总结

标量scalar单个实数

维度0?? shape:[]

向量vector n个实数有序集合

维度1?? shape:[n]

矩阵matrix n行m列实数有序集合

维度2?? shape[n,m]

张量tensor 维度大于2数组

维度>2每个维度称为轴axis shape[b,w,h,c]

标量向量矩阵张量 ?统称张量

标量创建

a=tf.constant(1.2)?? shape:()

Type(变量)

查看变量类型

张量创建

tf.constant([1,2,3])? shape(3,)

通过list数据类型传递给tf.constant()函数

x.numpy()

张量方法返回np.array数据类型

a=tf.constant([[1,2],[3,4]])

Shape(2,2)?? dtype=int32/float32……

字符串tf.constant(‘zifuchuan’)

Shape:() dtype=string

小写lower()

拼接join()

长度length()

切分split()

调用方法tf.string.lower(字符串变量)

布尔类型tf.constant(True)

Shape:() dtype=bool

布尔数组(掩码)tf.constant([True,False])

Shape:(2,)dtype=bool

数值精度类型

tf.int16 tf.int32 tf.int64 tf.float16 tf.float32

tf.float64=tf.double

创建张量,指定数据精度

tf.constant(123,dtype=tf.int16)

Numpy.pi

Pi常量

精度转换

Tf.cast(a,tf.int16) 变量、变为新的精度

定义时指定精度

tf.constant(36,dtype=tf.int16)

  1. dtype()获取变量精度

a.shape()获取张量shape

布尔类型和整形相互转换,01与真假相互转换

a=tf.constant([True,False])

tf.cast(a,tf.int32) tf.bool

待优化张量(梯度监督变量)

具有name和trainable特有属性

tf.Variable(a),先创建,在进行优化监督

或者直接建立优化监督张量

普通张量

GradientTape.watch()加入临时跟踪梯度列表,支持自动求导

数组、列表创建张量Python列表。Numpy数组都可以创建张量

tf.convert_to_tensor(列表或者数组numpy)或tf.constant()

创建全0张量

tf.zeros()可以创建任意形状的张量

创建全1张量

tf.ones()

创建与某个张量相同形状的全0全1张量

tf.ones_like(),

tf.zeros_like()

创建初始化为自定义数值的张量,如全为-1

tf.fill(shape,value)

创建正态分布(高斯分布)

tf.random.normal(shape,均值mean,标准差stddev)均值默认值0,标准差默认为1

截断正态分布

tf.random.truncated_normal(shape,mean,stddev)

均匀分布

tf.random.uniform(shape,minval最小值,maxval最大值,,dtype)最小默认0.最大默认无,包首不包尾

创建序列

tf.range(start,limit,delta)

tf.range(5):01234默认步长为1,初始值0

tf.range(1,5):1234默认为初值和终值,步长为1

tf.range(1,5,2):13

标量

常用来表示各种误差值,测量指标

准确度(accuracy)精度(precision)召回率(recall)

向量

偏置向量

矩阵

输入张量[batchsize,特征]

三维张量

典型应用代表序列信号

[b,sequencelen,featurelen]

四维张量

[b,h,w,c]

张量索引

索引编号从0开始

可以进行某一个维度的索引

基本索引方式[i][j][k]

逗号分隔索引方式[i,j,k]

张量切片

Start:end;step开始读取位置结束步长

不同维度之间用,隔开同一维度用:隔开

取第一张图片x[0,::]

::表示从开头读到末尾,可简写为:

Step为负数:由start开始,逆序读取到stop

X[::-1]逆序所有元素

维度变换

存储数据,以平铺的方式写入内存

改变视图(不改变张量的存储)

Tf.Reshape(x,new_shape) shape可以出现-1,表示这个维度长度自动推导,张量总元素数量不变

Reshape未改变数据的存储顺序,维度顺序必须和存储顺序相同

获取张量的维度

x.ndim

获取张量的形状

x.shape

增加维度(不改变张量的存储)

增加一个长度为1的维度,给原数据添加一个新的维度

tf.expand_dims(x,axis=)在axis轴的索引位置加入一个长度为1的维度

删除维度(不改变张量的存储)

只能删除维度为1的维度,不会改变张量的存储

tf.squeeze(x,axis=)删除axis位置的这个维度

tf.squeeze(x)默认删除所有长度为1的维度

交换维度(改变张量的存储顺序,)

视图发生改变

tf.transpose(x,perm=[原来索引的新存储顺序])

如变为数量通道行列[0,3,1,2]

复制数据

创建新的张量,不改变原张量的视图

Tf.tile(x,multiples)

Multiples分别指出了每个维度上数据复制倍数

最后一个维度的复制会在最后一个[]中进行数据的复制

自动扩展机制

改变原张量的视图和存储格式

Tf.broadcast_to(x,new_shape)

数学运算

加减乘除运算符+-*/

整除//只取结果的整数部分

余除%只取结果的余数部分

乘方运算

Tf.pow(x,a)x的a次方

1/a相当于开a次根号

平方运算

Tf.square(x)

平方根运算

Tf.sqrt(x)

指数运算

Tf.pow(a,x)

Tf.exp(x)e的x次方

对数运算

Tf.math.log()底数为e

其他底数换底公式

Tf.math.log(x)/tf.math.log(a)

矩阵相乘

@运算符

Tf.matmul(a,b)

当ab维度都大于2时,选择ab最后两个维度进行相乘

张量的拼接(不创建新的维度)

Tf.concat(tensors,axis=)

Tensors保留需要拼接张量的列表,axis需要连接的维度索引,除了合并所在维度,其他维度的形状必须相同

张量的堆叠(创建新的维度)

Tf.stack(tensors,axis=)

需要堆叠张量的列表,。张量的shape相同,创建的新维度

张量的分割

Tf.split(x,num_or_size_splits=,axis=)

待分割张量,单个数值为等长切割份数,列表表示每一份的长度,分割的维度索引

Tf.unstack(x,axis=)特殊情况,切割长度固定为1,从而这个被分割的维度消失

向量范数

Tf.norm(x,ord=1)L1范数,绝对值之和

Tf.norm(x,ord=2)L2范数,平方和开根号

Tf.norm(x,ord=np.inf)所有元素绝对值的最大值

最值,均值,求和

可以求出某个维度上的最大最小值,平均值,和,当没有输入axis参数时,也可以求出全局最大最小均值

Tf.reduce_min(x,axis=)所需要求解的维度

Tf.reduce_max(x,axis=)

Tf.reduce_mean(x,axis=)

Tf.reduce_sum(x,axis=)

最大值,最小值的索引号

多分类输出

Tf.argmax(x,axis=)求解在axis轴上的最大值的索引

Tf.argmin(x,axis=)

独热编码

Tf.one_hot(x,depth=)

张量比较(将预测结果和真实标签进行比较)其他比较95页

Tf.equal(pred,y)比较两个张量是否相等,对应元素比较,返回一个布尔张量,然后使用tf.reduce_sum()求出预测正确的数量

张量填充(padding)不同长度变为相同的长度,填充满足长度要求

Tf.pad(x,paddings)

张量复制

Tf.tile(x,multiples=[]),multiples分别为每一个维度的复制倍数

数据限幅

Tf.maximum(x,a)数据的下限幅,最小值为a,原来比a小的数据全部变成a

Tf.minimum(x,a)数据的上限幅,最大值为a,原来比a大的数据全部变成a

Tf.clip_by_value(x,min,max)实现上下限幅

tf.gather

根据索引号收集数据,每次只能指定一个维度

Tf.gather(x,[需要数据的索引组成的列表],axis=)

方便收集索引不连续的,无法快速切片收集的数据适合于没有规则的场所(注意左边的大的维度要包含右边小的维度)每个维度的含义要明确

tf.gather_nd

指定每次采样点的多维坐标来实现采样多个点

Tf.gather_nd(x,[[1,1],[2,2]])

实现多维坐标指定的数据的收集

tf.where

x>0,可以返回比较结果的布尔数组

tf.where(cond,a,b)?? cond 张量,真返回a,假返回b,位置要对应,103页

tf.where(x)返回x中大于0的元素的索引

Scatter_nd

Tf.scatter_nd(索引列表,写入数据,白板形状)

Tf.meshgrid(x,y)或者np.meshgrid(x,y)

生成二维网格的采样点坐标

均匀采样点

Tf.linspace(min,max,采样点数)生成张量,等分间隔数比采样点数少1,采样点包括max,min两端点

Np.arange(min,max,step)生成数组

区别一个是间距一个是点数,包首不包尾

类比range()

随机打散

Dataset.shuffle(buffer size)

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:41:36  更:2021-08-23 16:43:58 
 
开发: 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年11日历 -2024/11/27 18:26:08-

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