方法:从最内部的不能分解元素观看,确定包括在最里面[]的个数,作为最后的一级的阶的维度,再以该[]为级别,数出同级的包括在另外一个[]之内的作为倒数第二阶的维度,依此类推,直到最后一级最为外层的[]结束。

input=tf.random_normal([2, 3, 3, 5]) 
sess=tf.Session()

mat=sess.run(input)

print("mat:",mat) #生成四维张量

print("mat[0]:\n",mat[0])

print("mat[0]:\n",mat[0].shape)

print("mat[0][0]:\n",mat[0][0])

print("mat[0][0]:\n",mat[0][0].shape)

print("mat[0][0][0]:\n",mat[0][0][0])

print("mat[0][0][0]:\n",mat[0][0][0].shape)print("mat[0][0][0][0]:\n",mat[0][0][0][0])

print("mat[0][0][0][0]:\n",mat[0][0][0][0].shape)

mat:

(1、对这个的判断,根据上面的红字方法,可得到是(1)5 (2)3 (3)3 (4)2,所以单从下面的输出数字是2*3*3*5

  2、另外,有个小技巧,组外层数字单侧括号有几个,就有几阶)

[[[[-0.04946075-0.39051834  0.70029926  1.04427314 -0.50161618]

[-0.88772166 -0.97375607 -1.39743626 -1.57410967  0.67717731]

[-0.04220374 -0.87041211 1.65323901 -0.63210064 -0.27930436]]

[[0.10120229 -1.56110585  0.6358844   0.08369907 -0.15296145]

[0.81890374 -0.78691864  0.86625981  0.41091785 -1.65091491]

[-0.95093411  0.2192647  -2.41538286 0.09332389 -1.46946585]]

[[0.57579613 -0.78014088  0.71421504-0.36345431 -1.2525084 ]

[-0.9982028  -0.00498665  1.10062003 -0.06576402 -0.02542781]

[-0.08660951  1.36196768  0.30107525 -0.70669395 -2.24661875]]]

[[[0.22196233 -0.59935236 -0.7741518 -0.80990314  1.52992308]

[0.82497019 -0.0133222   0.73583311-0.01884574  0.31110784]

[-0.37637401  0.02399199  0.47549728 -2.33406854 -0.40116423]]

[[-0.61214691  0.51968157  1.68025804 0.25352362 -0.07630835]

[0.4017354  -0.20935933 -0.23358166  0.07867375 -0.41216117]

[0.56827682 -0.62509251 -1.06442463 0.1260772  -0.67022914]]

[[0.67380315  0.85098803  0.34026232 0.01849968  0.44034094]

[1.05391908  0.36208919  1.11698639 0.99236804 -0.47904065]

[1.16656947  0.12744726 -0.84040087-0.20418333  0.45792165]]]]

mat[0]:

[[[-0.04946075 -0.39051834  0.70029926 1.04427314 -0.50161618]----z轴1

x轴1 [-0.88772166 -0.97375607 -1.39743626 -1.57410967  0.67717731]----z轴2

[-0.04220374 -0.87041211 1.65323901 -0.63210064 -0.27930436]]----z轴3

[[0.10120229 -1.56110585  0.6358844   0.08369907 -0.15296145]----z轴1

x轴2  [0.81890374 -0.78691864  0.86625981  0.41091785 -1.65091491]----z轴2

[-0.95093411  0.2192647  -2.41538286 0.09332389 -1.46946585]]----z轴3

[[0.57579613 -0.78014088  0.71421504-0.36345431 -1.2525084 ]----z轴1

x轴3 [-0.9982028  -0.00498665  1.10062003 -0.06576402 -0.02542781]----z轴2

[-0.08660951  1.36196768  0.30107525 -0.70669395 -2.24661875]]]----z轴3

mat[0] shape:

(3,3, 5)

可考虑图形

mat[0][0]:

[[-0.04946075 -0.39051834  0.70029926 1.04427314 -0.50161618]

[-0.88772166 -0.97375607 -1.39743626-1.57410967  0.67717731]

[-0.04220374 -0.87041211  1.65323901 -0.63210064 -0.27930436]]

mat[0][0] shape:

(3,5)

mat[0][0][0]:

[-0.04946075 -0.39051834  0.70029926 1.04427314 -0.50161618]

mat[0][0][0] shape:

(5,)

mat[0][0][0][0]:

-0.0494608

mat[0][0][0][0] shape:

()

或者反过来看:

如果看到shape是 (3,3, 5),则意味着矩阵最后的形状为(这时:从右往左看)最内部元素为5个,紧接着像这样由5个元素为单位组成的中部元素有3个(左侧第一个3代表),再以这3个元素为一个组成单元,由3个这样的单元组成最外层的集合

例1

如上面的mat[0]所示:

mat[0]:

[[[-0.04946075 -0.39051834  0.70029926 1.04427314 -0.50161618]----z轴1

x轴1 [-0.88772166 -0.97375607 -1.39743626 -1.57410967  0.67717731]----z轴2

[-0.04220374 -0.87041211 1.65323901 -0.63210064 -0.27930436]]----z轴3

[[0.10120229 -1.56110585  0.6358844   0.08369907 -0.15296145]----z轴1

x轴2  [0.81890374 -0.78691864  0.86625981  0.41091785 -1.65091491]----z轴2

[-0.95093411  0.2192647  -2.41538286 0.09332389 -1.46946585]]----z轴3

[[0.57579613 -0.78014088  0.71421504-0.36345431 -1.2525084 ]----z轴1

x轴3 [-0.9982028  -0.00498665  1.10062003 -0.06576402 -0.02542781]----z轴2

[-0.08660951  1.36196768  0.30107525 -0.70669395 -2.24661875]]]----z轴3

mat[0] shape:

(3,3, 5)

例2:

import tensorflow as tf
import numpy as np
a = tf.constant([[[1.0, 2.0, 3.0, 4.0],[5.0, 6.0, 7.0, 8.0],[8.0, 7.0, 6.0, 5.0],[4.0, 3.0, 2.0, 1.0]],[[4.0, 3.0, 2.0, 1.0],[8.0, 7.0, 6.0, 5.0],[1.0, 2.0, 3.0, 4.0],[5.0, 6.0, 7.0, 8.0]]
])
b= tf.constant(1.0)
c=a*b
c = tf.reshape(c, [1, 4, 4, 2])
sess=tf.Session()
print(sess.run(c))

(可以理解(从右往左来生成分析):a中所有数字,先按最左侧2组成最小单元(1);而后再按这种单元4个结合一组,
,用[]套起来合成一个大单元(2);而后,将以(2)为单元单位,4个为一组进行结合,用[]套起来,生成再大的一个

单元(3);最后,看到最左侧的阶是1维,所有直接将(3)外面套上[],意味着生成生成了最外层的单元,即完成)

[[[[ 1.  2.]

[ 3.  4.]
   [ 5.  6.]
   [ 7.  8.]]

[[ 8.  7.]
   [ 6.  5.]
   [ 4.  3.]
   [ 2.  1.]]

[[ 4.  3.]
   [ 2.  1.]
   [ 8.  7.]
   [ 6.  5.]]

[[ 1.  2.]
   [ 3.  4.]
   [ 5.  6.]
   [ 7.  8.]]]]

1. 根据输出的数据,对各个阶维度的反推+2.tf中生成根据指定的shape,tensor的各个阶的维度判断相关推荐

  1. java推送数据给安卓,java – 如何从Firebase推送通知中获取数据并将其显示在Android Activity中?...

    对不起这个noob问题,我是 android开发的新手.我目前正在开发一个项目,需要向安装了我的应用程序的 Android设备发送推送通知.我已经按照firebase的快速入门教程完成了这项工作,并在 ...

  2. 批量提取南方+纬地+鸿业断面数据,反推断面高程坐标、断面数据格式转换、批量绘制断面图、批量切断面 CAD/CASS断面插件合集(断面插件教程)

    插件下载: QTools for AutoCAD 下载(APPLOAD命令加载,DM命令打开) 视频教程: QTools for AutoCAD的主页 - QTools官方账号 - 抖音 (douyi ...

  3. C++为什么空格无法输出_数据的输入输出举例

    前面已经看到了利用printf函数进行数据输出的程序,现在再介绍一个包含输入和输出的程序. 例:求方程ax^2+bx+c=0的根.a.b.c由键盘输入,设b^2-4ac>0 解题思路:首先要知道 ...

  4. R语言使用edit函数在Rsudio中生成数据编辑器(在windows中生成编辑器)、在编辑器中输出需要的数据生成最终的dataframe

    R语言使用edit函数在Rsudio中生成数据编辑器(在windows中生成编辑器).在编辑器中输出需要的数据生成最终的dataframe 目录

  5. php输出json html,html怎样格式化输出JSON数据

    这次给大家带来html怎样格式化输出JSON数据,html格式化输出JSON数据的注意事项有哪些,下面就是实战案例,一起来看一下. 将 json 数据以美观的缩进格式显示出来,借助最简单的 JSON. ...

  6. 案例:服务器输出字符数据到浏览器 || 乱码问题|| 案例:服务器输出字节数据到浏览器

    2. 服务器输出字符数据到浏览器     步骤:             1. 获取字符输出流             2. 输出数据    * 注意:             * 乱码问题:    ...

  7. python数据输出_python数据输出

    下面的是我的code, 但是最后的结果全部都是others,有哪位大神能帮忙看产生输出的最简单方法是使用print语句,可以通过用逗号分隔零个或多个表达式.这个函数传递表达式转换为一个字符串,如下结果 ...

  8. 输出nc数据_气象数据处理的火箭加速器—CDO

    happy科研 关注 Hi-新朋友,记得点蓝字关注我们哟 科研到头秃(7) 学渣 今天碰到了一个科研难题,想想都头大 学霸 学渣 模式运行得到了360个逐月输出的文件,NCL处理起来慢爆了,想哭 学霸 ...

  9. Response_案例3_输出字节数据

    服务器输出字节数据到浏览器     * 步骤:         1. 获取字节输出流         2. 输出数据 package com.learn.web.servlet;import java ...

最新文章

  1. 基于近距离的测距感知传感器调研以及扩展介绍
  2. 一文看懂国产最大深度学习平台上新:35项全面升级,国内率先加持量子机器学习...
  3. Javascript获取数组中最大和最小值
  4. Scala集合的常用方法:sum/max/min/product
  5. linux 故障注入_基于chaosblade的故障注入平台小试
  6. Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类
  7. centos 6.2 vnc
  8. matlab获得矩阵行数或列数的函数
  9. POJ 3186Treats for the Cows (区间DP)
  10. 4.2号 作业讲解
  11. Android 8.0系统学习(19)--- SystemUI启动流程
  12. s5pv210 linux内核移植,S5PV210(TQ210)学习笔记——内核移植与文件系统构建之二
  13. [Regular] 4、正则表达式的匹配原理原则
  14. 分享用Adobe Air向iOS移植游戏的经验
  15. 今天给一份 2022 互联网就业指南。
  16. android 自定义流程图,GitHub - zx-Zhu/ProcessChart: 安卓自定义流程进度图控件
  17. USB TYPE A B C 引脚定义
  18. 计算机网络共享文件共享,终于发现如何取消计算机网络共享文件
  19. 外卖返利系统H5公众号小程序cps返利淘宝客流量主分销app开发源码
  20. not within a switch statement_【实用教程】Switch无法登录关联任天堂账号怎么办

热门文章

  1. 编程算法 - 篱笆修理(Fence Repair) 代码(C)
  2. 【转】c#处理3种json数据的实例
  3. Spring Boot与RESTful API
  4. 计算机网络——电子邮件
  5. jQuery 1.3 正式版发布
  6. 面试精讲之面试考点及大厂真题 - 分布式专栏 10 Redis雪崩,穿透,击穿三连问
  7. 如何实现HashMap顺序存储
  8. 60秒验证码倒计时重置
  9. Linux——网络地址临时配置(详细步骤+问题解决)
  10. 静态路由(实验讲解+配置)