Tensorflow2.x 中的张量、变量

本文详细介绍了Tensorflow2.x中的张量和变量。张量是多维数组,不可变,可通过多种方式创建,包括标量、向量和矩阵。张量可以转换为numpy数组,支持各种数学运算及形状重构。变量类似于张量,但可变,可用于模型训练。文章还涉及张量的形状术语、索引、广播、DTypes、不规则张量、字符串张量和稀疏张量的概念。同时,变量的创建、生命周期、命名、冻结及设备放置也被讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

张量(tensor)

基础知识

张量是具有统一数据类型的多维数组,与numpy的np.arrays具有相似之处。
张量一旦创建就不可变:永远无法更新张量的内容,只能创建新的张量。

创建不同轴数的张量

创建0-轶张量:
标量称为0-轶张量,具有单个的值。

rank_0_tensor = tf.constant(4)
rank_0_tensor

<tf.Tensor: shape=(), dtype=int32, numpy=4>

创建1-轶张量:
向量称为1-轶张量,就像一个列表。

rank_1_tensor = tf.constant([2.0,3.0,4.0])
rank_1_tensor

<tf.Tensor: shape=(3,), dtype=float32, numpy=array([2., 3., 4.], dtype=float32)>

创建2-轶张量:
矩阵称为2-轶张量。

rank_2_tensor = tf.constant([[1,2],
                             [3,4],
                             [5,6]], dtype=float)
rank_2_tensor

<tf.Tensor: shape=(3, 2), dtype=float32, numpy=
array([[1., 2.],
[3., 4.],
[5., 6.]], dtype=float32)>

更多轴的张量:

rank_3_tensor = tf.constant([
    [[0,1,2,3,4],
     [5,6,7,8,9]],
    [[10,11,12,13,14],
     [15,16,17,18,19]],
    [[20,21,22,23,24],
    [25,26,27,28,29]],
])
rank_3_tensor
<tf.Tensor: shape=(3, 2, 5), dtype=int32, numpy=
array([[[ 0,  1,  2,  3,  4],
        [ 5,  6,  7,  8,  9]],

       [[10, 11, 12, 13, 14],
        [15, 16, 17, 18, 19]],

       [[20, 21, 22, 23, 24],
        [25, 26, 27, 28, 29]]])>

对于包含 2 个以上的轴的张量,您可以通过多种方式加以呈现。
在这里插入图片描述

张量转换为numpy数组

import numpy as np

np.array(rank_2_tensor)   # 利用np.array()方法
rank_2_tensor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值