(Tensorflow学习笔记)数据模型——张量(Tensor)

数据模型——Tensor

  * 在TensorFlow中,所有的数据都通过张量的形式来表示
  * 从功能的角度,张量可以简单理解为多维数组
    零阶张量表示标量(scalar),也就是一个数;
    一阶张量为向量(vector),也就是一维数组;
    n阶张量可以理解为一个n维数组;
  * 张量并没有真正保存数字,它保存的是计算过程

张量的属性
Tensor("Add:0", shape=(), dtype=float32) 
  • 形状( shape)
     张量的维度信息, shape=() ,表示是标量
  • 类型( type)
     每一个张量会有一个唯一的类型
     TensorFlow会对参与运算的所有张量进行类型的检查,发现类型不匹配时会报错
import tensorflow as tf

node = tf.constant([[4.0,1.0],[5.0,2.5]],tf.float32)
print(node.shape())  #输出矩阵的长和宽
print(node.dtype())  #输出元素类型

在这里插入图片描述

张量形状

 三个术语描述张量的维度: 阶(rank)、 形状(shape) 、 维数(dimension number)

在这里插入图片描述

张量形状

 由上面我们知道一阶形状是一维数组,二阶为二维数组,我们接下来讨论判断三阶形状的方法,并以此类推:

import tensorflow as tf
node = tf.constant([[[1],[2],[3]],[[4],[5],[6]],[[7],[8],[9]]])
#也可以print(node.get_shape()) 输出形状
print(node.shape)

运行输出:
在这里插入图片描述最外层有三个[[[可知是一个三维数组,这个三维数组里面有三个二维数组,一个二维数组里面有三个一维数组,一个一维数组里面只有一个元素,因此形状为(3,3,1)

获取张量的元素
  • 阶为1的张量等价于向量;
  • 阶为2的张量等价于矩阵,通过t[i,j] 获取元素;
  • 阶为3的张量,通过t[i,j,k] 获取元素;
    例如:
import tensorflow as tf
node = tf.constant([[[1],[2],[3]],[[4],[5],[6]],[[7],[8],[9]]])

with tf.Session() as sess :
	print(sess.run(node)[1,1,0]) #输出5

输出:
在这里插入图片描述
元素5位于三维数组的第一个二维数组(从0开始数)[[4],[5],[6]],这二维数组中的第一个一维数组[5],这个一维数组中的第0个数

对与Tensorflow的可视化理解

参考博文:https://blog.csdn.net/holmes_mx/article/details/82813865

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值