张量-形状变换相关函数

news2024/10/7 12:22:09

tf.shape(input,name = None)它有两个参数,input和name,input可以是一个张量,也可以是一个数组和list。该函数返回的是input的形状(shape),而且一个类型为int32的张量。

示例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

array = [[[1,1,1],[2,2,2]],
         [[3,3,3],[4,4,4]],
         [[5,5,5],[6,6,6]]]

with tf.Session() as sess:
    print(sess.run(tf.shape(array)))

tf.size(input,name = None)该函数返回的是输入数据的元素个数。

示例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

array = [[[1,1,1],[2,2,2]],
         [[3,3,3],[4,4,4]],
         [[5,5,5],[6,6,6]]]

with tf.Session() as sess:
    print(sess.run(tf.size(array)))

tf.rank(input,name = None)该函数返回输入参数input的维度,也就是阶(rank)。需要注意的是,这里的rank不同于矩阵的rank,主要看有几层中括号。

示例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

array = [[[1,1,1],[2,2,2]],
         [[3,3,3],[4,4,4]],
         [[5,5,5],[6,6,6]]]

with tf.Session() as sess:
    print(sess.run(tf.rank(array)))

tf.reshape(input,shape,name = None),该函数用于将原有输入数据input的shape按照指定形状进行变化,生成一个新的张量。

示例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

array = [1,1,1,2,2,2,3,3,3,4,4,4]

with tf.Session() as sess:
    print(sess.run(tf.reshape(array,[3,4])))

这里有一点需要注意,如果第二个参数shape有元素[-1],则表示在该维度下自动计算。

示例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

array = [1,1,1,2,2,2,3,3,3,4,4,4]

with tf.Session() as sess:
    print(sess.run(tf.reshape(array,[2,-1])))

tf.expand_dims(input,dim,name = None),该函数用于给定的input,在指定的维度(dim)增加一个维度1。这里需要注意dim的值,如果为0,代表的是第一维度。如果为负数,则是最后的那个维度。在使用tf.expand_dims函数时,指定的维度位置不能超出实际的维度数。

示例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

array = [[1,1,1,2,2,2],[3,3,3,4,4,4]]
a = tf.expand_dims(array,0)
b = tf.expand_dims(array,1)
c = tf.expand_dims(array,2)
d = tf.expand_dims(array,-1)
a2 = tf.shape(a)
b2 = tf.shape(b)
c2 = tf.shape(c)
d2 = tf.shape(d)


with tf.Session() as sess:
    print("原始:", sess.run(tf.shape(array)))
    print("------------------------------")
    print(sess.run(a))
    print(sess.run(a2))
    print("------------------------------")
    print(sess.run(b))
    print(sess.run(b2))
    print("------------------------------")
    print(sess.run(c))
    print(sess.run(c2))
    print("------------------------------")
    print(sess.run(d))
    print(sess.run(d2))

tf.squeeze(input,dim,name = None),该函数用于将dim指定的input中维度为1的维度去掉。需要注意的是,dim所指定的维度必须为1,如果不为1则会报错。

示例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

array = [[[1,1,1,2,2,2],[3,3,3,4,4,4]]]
array2 = tf.squeeze(array,0)

with tf.Session() as sess:
    print(sess.run(tf.shape(array)))
    print(sess.run(tf.shape(array2)))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1065943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三课-软件升级-Stable Diffusion教程

前言: 虽然第二课已经安装好了 SD,但你可能在其它地方课程中,会发现很多人用的和你的界面差距很大。这篇文章会讲一些容易忽略或者常常需要做的操作,不一定要完全照做,以后再回过头看看也可以。 1.控制类型 问题:为什么别人有“控制类型”部分,而我没有?如下红色方框…

微软AD身份增强方案,让IT运维省心更高效

Windows AD域为企业数字化办公提供了强有力的支撑,但由于互联网技术的飞速发展,AD域在现代企业办公场景中也面临了一些挑战。 某企业使用AD域控管理工具,在对接邮箱、电脑、网络时均会用到AD域账号。出于安全考虑,公司要求每三个月…

3D模型格式转换工具HOOPS Exchange助力Halocline开发VR

挑战: 支持客户群使用各种CAD系统和CAD文件格式。快速准确的加载可视化硬件数据。提供访问模型详细信息,同时确保高帧频性能。 结果: 确保支持标准文件格式和来自领先工程软件包的CAD数据。 通过查看简化模型或根据需要访问高层次的细节&am…

第五课 树与图

文章目录 第五课 树与图lc94.二叉树的中序遍历--简单题目描述代码展示 lc589.N叉树的层序遍历--中等题目描述代码展示 lc297.二叉树的序列化和反序列化--困难题目描述代码展示 lc105.从前序与中序遍历序列构造二叉树--中等题目描述代码展示 lc106.从中序与后序遍历序列构造二叉…

JavaScript入门——基础知识(3)

一、运算符 1.1 赋值运算符 目标:能够通过使用赋值运算符简化代码 赋值运算符:对变量进行赋值的运算符 将等号右边的值赋予给左边,要求左边必须是一个容器其他赋值运算符: -*/%使用这些运算符可以在对变量赋值时进行快速操作 例…

基于vue的MOBA类游戏攻略分享平台springboot23

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

PHP 个人愿望众筹网站系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 个人愿望众筹网站系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 php 个人愿望众筹网站 代码 https://download.csdn.net/download/qq_41221322/8…

从一坨代码说起

一、前言 下图所示这一坨代码是为了生成HTML格式邮件正文内容,如果邮件内容要稍微调整一下,这种代码怎么维护? 好吧,其实这是一篇与邮件有关的文章,SMTP发送邮件 介绍了邮件发送各种方式及SMTP各种端口,从…

回顾C++

大一的时候学过C,当时学得也不深,考试也是糊弄过去的,最近刷力扣的时候,决定一边刷题,一边复习和学习C,在此记录一些C的知识点。反正遇到一点就记录一点,会一直更新。

如何清理C盘

当前最棘手的问题是C盘满了,如何清理成了一个大问题,在本篇文章中我将记录我在清理c盘空间过程中的探索。 2023-10-06探索无果,记录于此。

浪涌保护器的P数是什么,选型浪涌保护器注意事项

浪涌保护器是一种用于保护电气设备免受雷电或其他瞬态过电压影响的装置,它可以将过高的电压限制在安全的范围内,并将多余的电流导入地线,从而避免设备损坏。浪涌保护器的P数是指它的保护模式,也就是它可以在哪些线路之间提供保护。…

xxl-job使用(小白也看得懂)

分布式任务调度 在微服务架构体系中,服务之间通过网络交互来完成业务处理的,在分布式架构下,一个服务往往会部署多个实例来运行我们的业务,如果在这种分布式系统环境下运行任务调度,我们称之为分布式任务调度。 在当体…

FFmpeg 命令:从入门到精通 | 命令行环境搭建

FFmpeg 命令:从入门到精通 | 命令行环境搭建 FFmpeg 命令:从入门到精通 | 命令行环境搭建安装 FFmpeg验证 FFmpeg 是否安装成功 FFmpeg 命令:从入门到精通 | 命令行环境搭建 安装 FFmpeg 进入 FFmpeg 官网: 点击 Download&#…

河北吉力宝:国内顶尖资源荣誉共筑全景融合新商业生态

随着科技的不断发展和社会的进步,新兴企业纷纷崭露头角,展现出令人瞩目的商业潜力。随着科技的不断演进和社会的持续进步,新兴企业正崭露头角,显露出巨大的商机。在这个时代,合作和资源整合变得至关重要。河北吉力宝智…

【STM32单片机】数学自动出题器设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器,使用按键、IIC OLED模块等。 主要功能: 系统运行后,OLED液晶显示出题器开机界面,默认结果范围为100,可按…

对干扰SAY NO!GNSS模拟将提供伽利略OS-NMA功能(二)

上一章主要介绍了OS-NMA架构、测试载体和虹科Safran Skydel仿真引擎中的测试向量。本章将继续为大家介绍虹科Safran GNSS模拟如何使用OS-NMA场景及解决方案等内容。 测试GNSS接收器 在这一部分中,我们将演示如何使用OS-NMA场景,并提供如何修改它们以执…

QT基础入门——QMainWindow与对话框QDialog(三)

前言: Qt 并没有专门的菜单项类,只是使用一个QAction类,抽象出公共的动作。当我们把QAction对象添加到菜单,就显示成一个菜单项,添加到工具栏,就显示成一个工具按钮。用户可以通过点击菜单项、点击工具栏按…

asp.net闲置物品购物网系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net闲置物品购物网系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语 言开发 asp.net 闲置物品购物网 二、功…

2023年中国非晶纳米晶竞争格局、产业链及行业产量分析[图]

非晶合金又称“液态金属、金属玻璃”,是一种新型软磁合金材料,主要包含铁、硅、硼等元素。其主要制品非晶合金薄带的制造工艺是采用急速冷却技术将合金熔液以每秒106℃的速度急速冷却,形成厚度约0.03mm的非晶合金薄带,物理状态表现…

华为云ModelArts:引领AI艺术创作的未来,让人人都可以成为“艺术家”!

随着科技的飞速发展,艺术创作逐渐告别传统的画布和画笔,开始走向数字化、智能化的新时代。在这个蓬勃发展的领域中,华为云ModelArts以其强大的功能和出色的性能引领着AI艺术创作的未来。 华为云ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处…