TensorFlow的数学运算

目录

前言

在TensorFlow中既可以使用数学运算符号进行数学运算也可以使用TensorFlow定义好的数学运算方法。

1. 运算符与函数的对应关系

TensorFlow重载了Python运算符,使其能够直接操作张量(Tensor)。例如:

加法:a + b 等价于 tf.add(a, b)

减法:a - b 等价于 tf.subtract(a, b)

乘法:a * b 等价于 tf.multiply(a, b)

除法:a / b 等价于 tf.divide(a, b)

矩阵乘法:a @ b 等价于 tf.matmul(a, b)

python 复制代码
import tensorflow as tf

#  定义常量
a = tf.constant(2)
b = tf.constant(3)


# 使用运算符
c1 = a + b  # 结果为 5
print(c1.numpy())

# 使用TensorFlow函数
c2 = tf.add(a, b)  # 结果相同
print(c2.numpy())

结果如下:

powershell 复制代码
5
5

2.何时必须使用函数?

以下场景需直接调用TensorFlow函数:

归约操作:如tf.reduce_sum()(求和)、tf.reduce_mean()(求平均)等。

复杂运算:如矩阵乘法(tf.matmul)、卷积(tf.nn.conv2d)、梯度计算等。

指定参数:如设置计算轴(axis)、数据类型(dtype)或操作名称(name)。

聚合运算:

python 复制代码
import tensorflow as tf
import numpy as np

x = np.random.randint(0,10, size=(3,6))
x_mean = tf.reduce_mean(x)
# 默认会聚合所有的维度
print(x_mean.numpy())

# 可以指定聚合的轴
x_reduce_mean = tf.reduce_mean(x, axis=0)
print(x_reduce_mean.numpy())

结果如下;

powershell 复制代码
4
[3 4 6 1 5 5]

矩阵运算:

python 复制代码
import tensorflow as tf
import numpy as np

# 矩阵运算
x = np.random.randint(0,10, size=(3,6))
y = np.random.randint(0,10, size=(6,4))
dot = tf.matmul(x, y)
print(dot.numpy())
powershell 复制代码
[[129  73 184 121]
 [ 99  83 137 122]
 [137  63 121  97]]
相关推荐
景彡先生几秒前
Python函数定义与调用全解析:从基础语法到实战技巧
linux·开发语言·python
Theodore_10223 分钟前
神经学习(4)神经网络的向量化实现与TensorFlow训练流程
人工智能·深度学习·机器学习·计算机视觉·线性回归
wwlsm_zql7 分钟前
「赤兔」Chitu 框架深度解读(十二):分布式并行初始化与管理
人工智能·1024程序员节
后端小肥肠9 分钟前
效率狂飙!n8n 无人值守工作流,每天自动把领域最新热点做成小红书卡片存本地
人工智能·agent·mcp
CoderLiu9 分钟前
LLM API 成本的 3 个秘密:如何让服务商为你的复杂推理买单
人工智能·llm
m***记13 分钟前
Python字符串操作:如何判断子串是否存在
linux·服务器·python
AI人工智能+28 分钟前
智能文本抽取:通过OCR、自然语言处理等多项技术,将非结构化文档转化为可读、可分析的数据资产
人工智能·nlp·ocr·文本抽取
这张生成的图像能检测吗28 分钟前
(论文速读)Anyattack: 面向视觉语言模型的大规模自监督对抗性攻击
人工智能·语言模型·clip·视觉语言模型·对抗攻击
gorgeous(๑>؂<๑)33 分钟前
【DeepSeek-OCR系列第一篇】Language Modelling with Pixels【ICLR23】
人工智能·语言模型·自然语言处理·ocr
开放知识图谱35 分钟前
论文浅尝 | LightPROF:一种轻量级推理框架,用于大型语言模型在知识图谱上的应用(AAAI2025)
人工智能·语言模型·自然语言处理·知识图谱