TensorFlow张量与变量基础:定义、属性及操作详解

季宁
季宁
发布时间:2026-10-14| 4人浏览过
原创

本文详解TensorFlow中张量与变量的核心概念。涵盖标量、向量、矩阵定义,介绍常数、随机张量创建方法,演示类型转换与形状重塑操作。同时阐述变量的定义、初始化及会话执行流程,帮助开发者掌握基础数据结构与操作。

一、张量定义

在TensorFlow框架中,张量(Tensor)本质上是n维数组,其数据类型为tf.Tensor。它是存储和传输数据的基本单元。

标量是指一个单独的数字,对应于0阶张量。

向量是一维数组,对应于1阶张量。

矩阵是二维数组,对应于2阶张量。

二、张量属性

1、张量的类型


#创建常数张量
    a = tf.constant(3.0)    
    print(a)

2、张量的阶

三、张量的指令

1、常数张量(普通)


#创建常数张量
    a = tf.constant(3.0)    
    print(a)

2、张量数组

1、固定张量数组(0)


#创建张量数组
    #0:
    array_0 = tf.zeros(shape=[3,3])    #3*3数组(0)

2、固定张量数组(1)


#1:
    array_1 = tf.ones(shape=[3,3])     #3*3数组(1)

3、随机张量数组


#随机:
    array_random = tf.random_normal(shape=[2,3], mean=1.75, stddev=0.12)
#                                   2*3数组      均值(1.75) 标准差

3、查看张量值

查看张量值:通过调用张量的.eval()方法实现。


#会话(查看张量)
    with tf.Session() as sess:
        print(a.eval())
        print(array_0.eval())
        print(array_1.eval())
        print(array_random.eval())

4、张量类型改变


#修改张量类型
    array_0 = tf.cast(array_0, tf.int32)

5、张量形状改变

注:属于动态改变张量,需要张量元素个数固定。


#修改张量形状
    array_random = tf.reshape(array_random, shape=[3,2])

修改前:

修改后:

代码


# 张量(创建与修改)
import tensorflow as tf
# 创建张量
def Create_Tensor():
    # 创建常数张量
    a = tf.constant(3.0)
    print(a)
 
    # 创建张量数组
    # 0:
    array_0 = tf.zeros(shape=[3, 3])  # 3*3数组(0)
 
    # 1:
    array_1 = tf.ones(shape=[3, 3])  # 3*3数组(1)
 
    # 随机:
    array_random = tf.random_normal(shape=[2, 3], mean=1.75, stddev=0.12)
    #                                   2*3数组      均值(1.75) 标准差
 
    # 会话(查看张量)
    with tf.Session() as sess:
        print(a.eval())
        print(array_0.eval())
        print(array_1.eval())
        print(array_random.eval()) 
# 修改张量
def Modify_Tensor():
    global array_0, array_random
    print('修改后的:')
 
    # 修改张量类型
    array_0 = tf.cast(array_0, tf.int32)
 
    # 修改张量形状
    array_random = tf.reshape(array_random, shape=[3, 2])
 
    # 会话(查看张量)
    with tf.Session() as sess:
        print(array_0.eval())
        print(array_random.eval())
 
# 创建张量
Create_Tensor()
# 修改张量
Modify_Tensor()

四、变量

1、定义变量


# 定义变量
a = tf.Variable(initial_value=2)
b = tf.Variable(initial_value=4)
c = tf.add(a,b)

2、初始化变量

TensorFlow的变量必须经过初始化步骤,否则程序会报错。


# 初始化变量
init = tf.global_variables_initializer()

3、开启会话(执行)


# 开启会话
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(c))

代码


# 变量
import tensorflow as tf
 
# 定义变量
a = tf.Variable(initial_value=2)
b = tf.Variable(initial_value=4)
c = tf.add(a,b)
 
# 初始化变量
init = tf.global_variables_initializer()
 
# 开启会话
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(c))

以上就是TensorFlow神经网络学习之张量与变量概念的详细内容,更多关于TensorFlow的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。