TensorFlow之变量的使用

目录

前言

变量和常量相对, 变量定义之后可以改变值。变量通过tf.Variable来定义。

示例

变量通过tf.Variable来定义。

python 复制代码
import tensorflow as tf


v = tf.Variable([[1., 2., 3.], [4., 5., 6.]])
# 打印的是Variable对象
print(v)
# 打印的是变量的值的tensor
print(v.value())
# 打印的是ndarray
print(v.numpy())

结果如下:

powershell 复制代码
<tf.Variable 'Variable:0' shape=(2, 3) dtype=float32, numpy=
array([[1., 2., 3.],
       [4., 5., 6.]], dtype=float32)>
tf.Tensor(
[[1. 2. 3.]
 [4. 5. 6.]], shape=(2, 3), dtype=float32)
[[1. 2. 3.]
 [4. 5. 6.]]

对变量进行赋值:

python 复制代码
import tensorflow as tf


v = tf.Variable([[1., 2., 3.], [4., 5., 6.]])

# 对变量之间赋值, 所有位置乘于2
v.assign(2*v)
print(v.numpy())
# 对变量的某个位置进行赋值
v[0, 1].assign(42)
print(v.numpy())
# 对变量的某一行赋值
v[1].assign([7., 8., 9.])
print(v.numpy())

结果如下:

powershell 复制代码
[[ 2.  4.  6.]
 [ 8. 10. 12.]]
[[ 2. 42.  6.]
 [ 8. 10. 12.]]
[[ 2. 42.  6.]
 [ 7.  8.  9.]]

变量赋值必须使用assign, 不能直接用=.

python 复制代码
import tensorflow as tf

v = tf.Variable([[1., 2., 3.], [4., 5., 6.]])

try:
    v[1] = [7., 8., 9.]
except TypeError as ex:
    print(ex)

结果如下:

powershell 复制代码
'ResourceVariable' object does not support item assignment
相关推荐
KKKlucifer16 小时前
AI赋能安全运营,构建闭环数据风险防御体系
人工智能·安全
曾阿伦16 小时前
Python 搭建简易HTTP服务
开发语言·python·http
A_Sinon16 小时前
卷积神经网络
人工智能·神经网络·cnn
MIUMIUKK16 小时前
从语法层面,看懂 Python 的特殊处
java·开发语言·python
着迷不白16 小时前
第一部分:认识python
开发语言·python
继续商行16 小时前
跨语言 Benchmark 实战:C++、Rust、Go、Java 在 AI 向量计算场景下的性能硬核横评
人工智能
A hao16 小时前
P2与P2.5 LED显示屏的5大区别
图像处理·人工智能·广告
EAIReport16 小时前
AI本体论核心原理与WebProtégé实战:打造可推理的结构化知识体系
人工智能
hujinyuan2016016 小时前
2026年3月 中国电子学会青少年软件编程(Python)三级考试试卷 真题及答案
java·python·算法
装不满的克莱因瓶16 小时前
学习 Agent 基础概念及不同 Agent 的适用场景
人工智能·ai·大模型·llm·智能体