tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式


Posted in Python onFebruary 07, 2020

在利用tensorflow进行文本挖掘工作的时候,经常涉及到维度扩展和压缩工作。比如对文本进行embedding操作完成之后,若要进行卷积操作,就需要对embedded的向量扩展维度,将[batch_size, embedding_dims]扩展成为[batch_size, embedding_dims, 1],利用tf.expand_dims(input, -1)就可实现,反过来用squeeze(input, -1)或者tf.squeeze(input)也可以把最第三维去掉。

tf.expand_dims()

tf.squeeze()

tf.expand_dims()

tf.expand_dims(input, axis=None, name=None, dim=None)

在第axis位置增加一个维度.

给定张量输入,此操作在输入形状的维度索引轴处插入1的尺寸。 尺寸索引轴从零开始; 如果您指定轴的负数,则从最后向后计数。

如果要将批量维度添加到单个元素,则此操作非常有用。 例如,如果您有一个单一的形状[height,width,channels],您可以使用expand_dims(image,0)使其成为1个图像,这将使形状[1,高度,宽度,通道]。

例子

# 't' is a tensor of shape [2]
shape(expand_dims(t, 0)) ==> [1, 2]
shape(expand_dims(t, 1)) ==> [2, 1]
shape(expand_dims(t, -1)) ==> [2, 1]
# 't2' is a tensor of shape [2, 3, 5]
shape(expand_dims(t2, 0)) ==> [1, 2, 3, 5]
shape(expand_dims(t2, 2)) ==> [2, 3, 1, 5]
shape(expand_dims(t2, 3)) ==> [2, 3, 5, 1]

tf.squeeze()

tf.squeeze(input, axis=None, name=None, squeeze_dims=None)

直接上例子

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
 shape(squeeze(t)) ==> [2, 3]
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
 shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]

以上这篇tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用pil生成缩略图的方法
Mar 26 Python
Python编程实战之Oracle数据库操作示例
Jun 21 Python
python3爬取数据至mysql的方法
Jun 26 Python
python抓取京东小米8手机配置信息
Nov 13 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
Jan 29 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
Python将二维列表list的数据输出(TXT,Excel)
Apr 23 Python
PyQt5-QDateEdit的简单使用操作
Jul 12 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
python 下载m3u8视频的示例代码
Nov 11 Python
Python OpenCV超详细讲解基本功能
Apr 02 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 #Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 #Python
详解python itertools功能
Feb 07 #Python
Python中itertools的用法详解
Feb 07 #Python
Python转换itertools.chain对象为数组的方法
Feb 07 #Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
Feb 07 #Python
python十进制转二进制的详解
Feb 07 #Python
You might like
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
lib.utf.js
2007/08/21 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
jquery实现图片预加载
2015/12/25 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
整理一下常见的IE错误
2016/11/18 Javascript
vue观察模式浅析
2018/09/25 Javascript
微信小程序实现评论功能
2018/11/28 Javascript
python递归计算N!的方法
2015/05/05 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
基于python3实现倒叙字符串
2020/02/18 Python
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
创业计划书如何编写
2014/02/06 职场文书
团日活动总结书
2014/05/08 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis
总结python多进程multiprocessing的相关知识
2021/06/29 Python
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android
keepalived + nginx 实现高可用方案
2022/12/24 Servers