tensorflow基础代码
时间: 2025-01-04 16:24:44 浏览: 8
### TensorFlow 基础代码实例
对于初学者来说,理解如何创建张量并执行基本操作是非常重要的。下面是一个简单的例子来展示这些概念。
#### 创建常量和变量
在 TensorFlow 中,可以使用 `tf.constant` 来定义不可变的数据结构——即常量;而通过 `tf.Variable` 可以声明可训练参数或模型权重等需要更新的数值[^3]:
```python
import tensorflow as tf
# 定义两个浮点型常数
a = tf.constant(2.0, dtype=tf.float32)
b = tf.constant(3.0)
# 执行加法运算并将结果存储在一个新的张量c中
c = a + b
print(c.numpy()) # 输出:5.0
```
#### 使用会话运行图计算
早期版本的 TensorFlow 需要显式启动 Session 对象来进行计算,在 TensorFlow 2.x 版本之后,默认启用了即时执行模式(Eager Execution),因此不再需要手动管理 Sessions。
不过为了兼容旧版程序以及更深入地了解底层机制,这里还是给出基于 session 的实现方式:
```python
with tf.compat.v1.Session() as sess:
output = sess.run([c])
print(output) # 输出:[5.0]
```
#### 构建简单线性回归模型
接下来构建一个非常基础的学习案例—单特征输入的一元线性回归问题。此部分展示了如何利用梯度下降算法最小化损失函数从而拟合给定数据集中的关系[^2]:
```python
import numpy as np
# 准备一些模拟数据
X_data = np.random.rand(100).astype(np.float32)
Y_data = X_data * 0.1 + 0.3
# 初始化权重W与偏置B
Weights = tf.Variable(tf.random.uniform([1], -1.0, 1.0))
Biases = tf.Variable(tf.zeros([1]))
# 定义预测值y_pred 和真实标签 y_true之间的均方误差作为loss function
y_pred = Weights * X_data + Biases
loss = tf.reduce_mean(tf.square(y_pred - Y_data))
# 设置优化器及其学习率
optimizer = tf.optimizers.SGD(learning_rate=0.5)
for step in range(201):
optimizer.minimize(loss, var_list=[Weights, Biases])
if not (step % 20):
print(f'Step {step}, Loss={loss.numpy()}, W={Weights.numpy()}, B={Biases.numpy()}')
```
阅读全文