TensorFlow的reshape操作 tf.reshape的实现


Posted in Python onApril 19, 2020

初学tensorflow,如果写的不对的,请更正,谢谢!

tf.reshape(tensor, shape, name=None)

函数的作用是将tensor变换为参数shape的形式。

其中shape为一个列表形式,特殊的一点是列表中可以存在-1。-1代表的含义是不用我们自己指定这一维的大小,函数会自动计算,但列表中只能存在一个-1。(当然如果存在多个-1,就是一个存在多解的方程了)

好了我想说的重点还有一个就是根据shape如何变换矩阵。其实简单的想就是,

reshape(t, shape) => reshape(t, [-1]) => reshape(t, shape)

首先将矩阵t变为一维矩阵,然后再对矩阵的形式更改就可以了。

官方的例子:

# tensor 't' is [1, 2, 3, 4, 5, 6, 7, 8, 9]
# tensor 't' has shape [9]
reshape(t, [3, 3]) ==> [[1, 2, 3],
            [4, 5, 6],
            [7, 8, 9]]

# tensor 't' is [[[1, 1], [2, 2]],
#        [[3, 3], [4, 4]]]
# tensor 't' has shape [2, 2, 2]
reshape(t, [2, 4]) ==> [[1, 1, 2, 2],
            [3, 3, 4, 4]]

# tensor 't' is [[[1, 1, 1],
#         [2, 2, 2]],
#        [[3, 3, 3],
#         [4, 4, 4]],
#        [[5, 5, 5],
#         [6, 6, 6]]]
# tensor 't' has shape [3, 2, 3]
# pass '[-1]' to flatten 't'
reshape(t, [-1]) ==> [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6]

# -1 can also be used to infer the shape

# -1 is inferred to be 9:
reshape(t, [2, -1]) ==> [[1, 1, 1, 2, 2, 2, 3, 3, 3],
             [4, 4, 4, 5, 5, 5, 6, 6, 6]]
# -1 is inferred to be 2:
reshape(t, [-1, 9]) ==> [[1, 1, 1, 2, 2, 2, 3, 3, 3],
             [4, 4, 4, 5, 5, 5, 6, 6, 6]]
# -1 is inferred to be 3:
reshape(t, [ 2, -1, 3]) ==> [[[1, 1, 1],
               [2, 2, 2],
               [3, 3, 3]],
               [[4, 4, 4],
               [5, 5, 5],
               [6, 6, 6]]]

# tensor 't' is [7]
# shape `[]` reshapes to a scalar
reshape(t, []) ==> 7

在举几个例子或许就清楚了,有一个数组z,它的shape属性是(4, 4)

z = np.array([[1, 2, 3, 4],
     [5, 6, 7, 8],
     [9, 10, 11, 12],
     [13, 14, 15, 16]])
z.shape
(4, 4)

z.reshape(-1)

z.reshape(-1)
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])

z.reshape(-1, 1)
也就是说,先前我们不知道z的shape属性是多少,但是想让z变成只有一列,行数不知道多少,通过`z.reshape(-1,1)`,Numpy自动计算出有12行,新的数组shape属性为(16, 1),与原来的(4, 4)配套。

z.reshape(-1,1)
 array([[ 1],
    [ 2],
    [ 3],
    [ 4],
    [ 5],
    [ 6],
    [ 7],
    [ 8],
    [ 9],
    [10],
    [11],
    [12],
    [13],
    [14],
    [15],
    [16]])

z.reshape(-1, 2)

newshape等于-1,列数等于2,行数未知,reshape后的shape等于(8, 2)

z.reshape(-1, 2)
 array([[ 1, 2],
    [ 3, 4],
    [ 5, 6],
    [ 7, 8],
    [ 9, 10],
    [11, 12],
    [13, 14],
    [15, 16]])

到此这篇关于TensorFlow的reshape操作 tf.reshape的实现的文章就介绍到这了,更多相关TensorFlow的reshape操作 tf.reshape内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 Python
pyspark 读取csv文件创建DataFrame的两种方法
Jun 07 Python
Anaconda 离线安装 python 包的操作方法
Jun 11 Python
完美解决Python 2.7不能正常使用pip install的问题
Jun 12 Python
python去重,一个由dict组成的list的去重示例
Jan 21 Python
Python的Tkinter点击按钮触发事件的例子
Jul 19 Python
Python实现决策树并且使用Graphviz可视化的例子
Aug 09 Python
Python-Flask:动态创建表的示例详解
Nov 22 Python
ansible动态Inventory主机清单配置遇到的坑
Jan 19 Python
Jupyter notebook如何修改平台字体
May 13 Python
python将字典内容写入json文件的实例代码
Aug 12 Python
pip安装tensorflow的坑的解决
Apr 19 #Python
查看已安装tensorflow版本的方法示例
Apr 19 #Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
Apr 19 #Python
Django项目uwsgi+Nginx保姆级部署教程实现
Apr 19 #Python
Python如何把Spark数据写入ElasticSearch
Apr 18 #Python
Python virtualenv虚拟环境实现过程解析
Apr 18 #Python
python实现贪吃蛇双人大战
Apr 18 #Python
You might like
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
childNodes.length与children.length的区别
2009/05/14 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
python使用cPickle模块序列化实例
2014/09/25 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
《九色鹿》教学反思
2014/02/27 职场文书
毕业生简历自我评价范文
2014/04/09 职场文书
园艺师求职信
2014/04/27 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers