Python3 Tensorlfow:增加或者减小矩阵维度的实现


Posted in Python onMay 22, 2020

1.增加维度

下面给出两个样例

样例1:

[1, 2, 3] ==> [[1],[2],[3]]

import tensorflow as tf

a = tf.constant([1, 2, 3])
b = tf.expand_dims(a,1)

with tf.Session() as sess:
 a_, b_ = sess.run([a, b])
 print('a:')
 print(a_)
 print('b:')
 print(b_)

输出结果

a:
[1 2 3]
b:
[[1]
 [2]
 [3]]

样例2:

[1, 2, 3] ==> [[1,2,3]]

import tensorflow as tf

a = tf.constant([1, 2, 3])
b = tf.expand_dims(a, 0)

with tf.Session() as sess:
 a_, b_ = sess.run([a, b])
 print('a:')
 print(a_)
 print('b:')
 print(b_)

输出结果:

a:
[1 2 3]
b:
[[1 2 3]]

2.降低维度

样例1:

[[1, 2, 3]] ==> [1, 2, 3]

import tensorflow as tf

a = tf.constant([[1, 2, 3]])
b = tf.squeeze(a)

with tf.Session() as sess:
 a_, b_ = sess.run([a, b])
 print('a:')
 print(a_)
 print('b:')
 print(b_)

输出结果

a:
[[1 2 3]]
b:
[1 2 3]

样例2:

[[1], [2], [3]] ==> [[1, 2, 3]

import tensorflow as tf

a = tf.constant([[1], [2], [3]])
b = tf.squeeze(a, 1)

with tf.Session() as sess:
 a_, b_ = sess.run([a, b])
 print('a:')
 print(a_)
 print('b:')
 print(b_)

补充知识:pytorch中squeeze()、unsqueeze(),以及一些高维数组操作

博主最近阅读YOLO底层代码,Torch中对多数组矩阵有很多高维操作,看过一边之后,记录一下,以防忘记。

torch.squeeze()

功能:取消为1的维度

squeeze(input, dim=None, out=None) -> Tensor

这里一般分不清dim的意思

举个例子:

input=(A , 1 , B , C ,1 , D)
squeeze(input)=(A,B,C,D)
input= (A, 1, B)

squeeze(input, 0)=(A, 1, B) 不会改变 squeeze(input, 1)=(A, B) 会改变

Python3 Tensorlfow:增加或者减小矩阵维度的实现

这里0, 1 ,2就分别代表 A, 1, B

torch.unsqueeze()

unsqueeze(input, dim, out=None) -> Tensor

功能: 在某一位置插入一维

这里面也是dim这个参数比较难理解

dim的取值是[- input.dim()-1, imput.dim()]

给定一个dim

input=(A , B , C , D)

input的维度input_dim为4, dim的取值[-5, 4]

unsqueeze(input, 0)=(1, A , B , C , D)
unsqueeze(input, 1)=(A , 1, B , C , D)
unsqueeze(input, -5)=(1, A , B , C , D)

Python3 Tensorlfow:增加或者减小矩阵维度的实现

看一个简单用例,size表示维度大小,10是取值范围,a=[:,:,:,4]表示取a最后一维的第四个元素(从0开始第四个),即取[0,0,3],[5,6,1],[0,6,8],[…], 判断大于5为true,否则为false。

注意:b的维度比a少了一维。

Python3 Tensorlfow:增加或者减小矩阵维度的实现

继续上一步,这里使用unsqueeze函数将b的维度扩展一维[2,2,3]------>[2,2,3,1] 这时b的最后一维只有一个元素, .expand_as将最后最后的元素扩展到a最后一维的个数

a[c] 表示取出为True的所有行在a中的元素

Python3 Tensorlfow:增加或者减小矩阵维度的实现

以上这篇Python3 Tensorlfow:增加或者减小矩阵维度的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的百度站长自动URL提交小工具
Jun 27 Python
Python利用多进程将大量数据放入有限内存的教程
Apr 01 Python
python验证码识别教程之利用投影法、连通域法分割图片
Jun 04 Python
Python模拟简单电梯调度算法示例
Aug 20 Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 Python
关于Python-faker的函数效果一览
Nov 28 Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 Python
python属于解释语言吗
Jun 11 Python
python字典的值可以修改吗
Jun 29 Python
Django3中的自定义用户模型实例详解
Aug 23 Python
Python调用JavaScript代码的方法
Oct 27 Python
Python实现我的世界小游戏源代码
Mar 02 Python
Python pandas如何向excel添加数据
May 22 #Python
python3.8.1+selenium实现登录滑块验证功能
May 22 #Python
在TensorFlow中实现矩阵维度扩展
May 22 #Python
Python多个装饰器的调用顺序实例解析
May 22 #Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 #Python
Tensorflow tf.tile()的用法实例分析
May 22 #Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 #Python
You might like
德生1994机评
2021/03/02 无线电
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
怎么清空javascript数组
2013/05/11 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
移动端横屏的JS代码(beta)
2016/05/16 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
2016/05/18 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
Python描述器descriptor详解
2015/02/03 Python
Python连接DB2数据库
2016/08/27 Python
Python常用库推荐
2016/12/04 Python
python 多维切片之冒号和三个点的用法介绍
2018/04/19 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
编程输出如下图形
2013/11/24 面试题
房产委托公证书样本
2014/04/04 职场文书
协议书与合同的区别
2014/04/18 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
保密工作目标责任书
2014/07/28 职场文书
出国留学导师推荐信
2015/03/26 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
90条交通安全宣传标语
2019/10/12 职场文书