tensorflow2之数学运算
发布日期:2022-02-14 23:02:49
浏览次数:37
分类:技术文章
本文共 1848 字,大约阅读时间需要 6 分钟。
-
大部分数学运算:
tf.math
-
随机数:
tf.random
-
矩阵运算:
tf.linalg
- 乘法:
tf.matmul
(实际上是tf.linalg.matmul
),等同于@
- 转置:
tf.transpose(); tf.linalg.matrix_transpose
- 生成对角阵:
tf.linalg.diag
:可定制对角线上一行/下一行等信息 - 获取对角阵元素:
tf.linalg.diag_part
- 逆:
tf.linalg.inv()
- 求迹:
tf.linalg.trace()
- 范数:
tf.linalg.norm()
- 行列式:
tf.linalg.det()
- 行列式求log:
tf.linalg.logdet
- 特征值:
tf.linalg.eigvalsh()
- 特征值及特征向量:
tf.linalg.eigh
,类比np.linalg.eigh
- 最小二乘:
tf.linalg.lstsq
- 线性方程求解:
tf.linalg.solve
- 矩阵分解
qr
分解:q,r = tf.linalg.qr(a)
# 验证q @ r
svd
分解:v,s,d = tf.linalg.svd(a)
# 验证s @ v @ d
- 乘法:
-
模型评估:
tf.metrics, tf.keras.metrics
-
优化:
tf.keras.optimizers
-
其它
tf.argsort(values, axis=-1, direction='ASCENDING', stable=False, name=None)
对tensor
排序,axis
指定指定排序轴,direction
指定升序还是降序。返回排序后的元素idx
a = tf.constant([1, 10, 26.9, 2.8, 166.32, 62.3])b = tf.argsort(a, direction='DESCENDING') #返回 [4 5 2 1 3 0]
tf.sort
同上,不同的是:tf.argsort
返回排序后的tensor
坐标,tf.sort
直接返回排序后的tensor
tf.scatter_nd(indices, updates, shape, name=None)
用updates
按idx
为indices
来生成shape的tensor
indices = tf.constant([[4], [3], [1], [7]])updates = tf.constant([9, 10, 11, 12])shape = tf.constant([8])tf.scatter_nd(indices, updates, shape)# 新生成的tensor为:对应indices的idx的值为对应的updates值,故返回结果为:[0, 11, 0, 10, 9, 0, 0, 12]
tf.unique(x, out_idx=tf.dtypes.int32)
返回一维标量去重后的结果,以及原结果对应体重后的坐标tf.linspace
同np.linspace
-
广播:类同
numpy
- 如果tensor维度不同,将维度较小的tensor进行扩展,直到两个tensor的维度都一样
- 如果两个tensor在某个维度上的长度相同,或者其中一个tensor在该维度上的长度为1,那么这两个tensor在维度上是相容的
- 如果两个tensor在所有维度上都是相容的,它们就能使用广播
- 广播之后,每个维度的长度将取两个tensor在该维度长度的较大值
- 在任何一个维度上,如果一个tensor的长度为1,另一个tensor的长度大于1,那么在该维度上,就好像是对第一个tensor进行了复制
a = tf.constant([1,2,3]) b = tf.constant([[0,0,0],[1,1,1],[2,2,2]]) b + a #等价于 b + tf.broadcast_to(a,b.shape) # 返回结果 [[1, 2, 3], [2, 3, 4], [3, 4, 5]] c = tf.constant([1,2,3]) d = tf.constant([[1],[2],[3]]) c+d #等价于 tf.broadcast_to(c,[3,3]) + tf.broadcast_to(d,[3,3]) # 返回结果 [[2, 3, 4], [3, 4, 5], [4, 5, 6]]
转载地址:https://blog.csdn.net/fish2009122/article/details/106238804 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年03月08日 17时58分22秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php mht2html,PHP 处理 mht 文件
2019-04-21
rt2tr matlab,MATLAB机器人工具箱参考
2019-04-21
win iis对比apache php,服务器Apache与IIS的区别
2019-04-21
怎样用xampp测试php环境变量,使用xampp配置php运行环境的方法
2019-04-21
qq互联php教程,thinkphp5怎么整合qq互联登录教程
2019-04-21
mysql建立索引 性能测试_MySQL分区和索引性能测试
2019-04-21
数据结构java实验 刘小晶_数据结构实例解析与实验指导:Java语言描述
2019-04-21
java实现 k nn算法_java-C中的k-NN示例问题(OpenCV)
2019-04-21
java重用名快捷键_Eclipse 最常用的 10 组快捷键,个个牛逼!
2019-04-21
java streamencoder_[求助]关于apcche与tomcat
2019-04-21
hive java insert_hive表insert报错
2019-04-21
java 调试dll jna_Java调用dll的实现,JNA框架 | 学步园
2019-04-21
ios php上传视频文件_IOS上传图片 PHP服务器接收并上传
2019-04-21
php redis zrevrange,Redis Zrevrange 命令
2019-04-21
java 边缓存边播放,java动态缓存技术:WEB缓存应用
2019-04-21