Tensor的合并与分割
先来看一下有哪些接口用来进行张量的合并与分割:
tf.concat用来进行张量的拼接,tf.stack用来进行张量的堆叠,tf.split用来进行张量的分割,tf.unstack是tf.split的一种,也用来进行张量分割
1.tf.concat
参数axis代表将要合并的维度
# 假设a代表四个班的成绩(每班35人,8个科目),b代表2个班的成绩
a = tf.ones([4,35,8])
b = tf.ones([2,35,8])
# 使用concat进行合并得到6个班的成绩
c = tf.concat([a,b],axis=0)
# (6,35,8)
print(c.shape)
2.tf.stack(用于创建一个新的维度)
# 假设a代表A学校的四个班的成绩(每班35人,8个科目),b代表B学校四个班的成绩
a = tf.ones([4,35,8])
b = tf.ones([4,35,8])
# 使用stack进行合并得到6个班的成绩
c = tf.stack([a,b],axis=0)
# (2,4,35,8)
print(c.shape)
3.tf.unstack(对某维度进行等分)
# 假设a代表A学校的四个班的成绩(每班35人,8个科目),b代表B学校四个班的成绩
a = tf.ones([4,35,8])
b = tf.ones([4,35,8])
# 使用stack进行合并得到6个班的成绩
c = tf.stack([a,b],axis=0)
# (2,4,35,8)
print(c.shape)
aa,bb=tf.unstack(c,axis=0)
# (4,35,8)
print(aa.shape,bb.shape)
res=tf.unstack(c,axis=3)
# (2,4,35)
print(res[0].shape,res[7].shape)
4.tf.split(按比例打散)
# 假设a代表A学校的四个班的成绩(每班35人,8个科目),b代表B学校四个班的成绩
a = tf.ones([4,35,8])
b = tf.ones([4,35,8])
# 使用stack进行合并得到6个班的成绩
c = tf.stack([a,b],axis=0)
# (2,4,35,8)
print(c.shape)
res = tf.split(c,axis=3,num_or_size_splits=2)
# 2,(2,4,35,4)
print(len(res),res[0].shape,res[1].shape)
res = tf.split(c,axis=3,num_or_size_splits=[2,2,4])
# 3 (2,4,35,2) (2,4,35,2) (2,4,35,4)
print(len(res),res[0].shape,res[1].shape,res[2].shape)
Tensor的合并与分割的更多相关文章
- NumPy学习(索引和切片,合并,分割,copy与deep copy)
NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程 ...
- opencv3 学习五 - 合并与分割通道
合并与分割通道 程序如下 #include "opencv2/opencv.hpp" using namespace cv; int main() { Mat original = ...
- linux shell文件合并 去重 分割
1,合并+去重+分割 转载:shell 文件合并,去重,分割 - kakaisgood - 博客园 (cnblogs.com) 第一:两个文件的交集,并集前提条件:每个文件中不得有重复行1. 取出两个 ...
- PHP大文件存储示例,各种文件分割和合并(二进制分割与合并)
最近要对视频进行上传,由于涉及到的视频非常的大,因此采用的是分片上传的格式,下面是一个简单的例子: split.php <?php $i = 0; //分割的块编号 $fp = fopen(&q ...
- JAVA基础学习day21--IO流三-File、Properties、PrintWriter与合并、分割流
一.File 1.1.File概述 文件和目录路径名的抽象表示形式. 用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图.抽象路径名 有 ...
- linux下文件合并、分割、去重
1.文件合并 1.1文件上下合并 cat f1 f2> muti (将文件f1.f2合并成文件muti,f1在上,f2在下) 1.2左右合并 paste f1 f2 > muti (将 ...
- linux shell编程指南第十一章------------合并与分割2
c u t用来从标准输入或文本文件中剪切列或域.剪切文本可以将之粘贴到一个文本文件. 下一节将介绍粘贴用法. c u t一般格式为: cut [options] file1 file2 下面介绍其可用 ...
- Linux Shell编程第5章——文件的排序、合并和分割
目录 sort命令 sort命令的基本用法 uniq命令 join命令 cut命令 paste命令 split命令 tr命令 tar命令 sort命令 sort命令是Linux系统一种排序工具,它将输 ...
- numpy.array 合并和分割
# 导包 import numpy as np numpy.array 的合并 .concatenate() 一维数组 x = np.array([1, 2, 3]) # array([1, 2, 3 ...
随机推荐
- shell命令之一天一见:grep
一. 简介 grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来 ...
- Codeforces_711_B
http://codeforces.com/problemset/problem/711/B 比较简单,过程有点繁琐,先找一行包含那个0的行,得到和,以此填出0位置的值,然后判断这个矩阵是否符合条件. ...
- Codeforces_708_A
http://codeforces.com/problemset/problem/708/A 贪心,先把前面连续的一串'a'排除,再向后知道找到第一个'a',注意特殊情况. #include<i ...
- Ops:命名规范
前言 好的命名规范见名知义,可以极大的提高工作效率,对于运维工作的标准化至关重要,这里,分享本DevOps小组内讨论的命名规范,希望有参考意义,如果小伙伴们有好的建议或补充,欢迎留言. 1. ansi ...
- 题解【Luogu P6102 谔运算】
\[ \texttt{Description} \] 给出一个长度为 \(n\) 的数列 \(a\),求 \(\sum\limits_{i=1}\limits^{n}\sum\limits_{j=1} ...
- Navicat Premium 12(破解版免安装)
获取安装包解压至任意位置 切勿更新!!! 切勿更新!!! 切勿更新!!! 扫下方二维码关注公众号回复:navicat12即可获取
- zabbix 自定义监控项每隔1分钟检测一次三次失败报警
在agent上添加 UserParameter=auth.check,/etc/zabbix/auth_monitor/auth_check.py auth.check就是之后添加的自定义的item值 ...
- 解析如何防止XSS跨站脚本攻击
2012-11-20 09:03 (分类:网络安全) 这些规则适用于所有不同类别的XSS跨站脚本攻击,可以通过在服务端执行适当的解码来定位映射的XSS以及存储的XSS,由于XSS也存在很多特殊情况,因 ...
- CDN&对象存储
概念 CDN是什么:名词解释不清,加快静态资源访问的技术 CDN原理:将静态资源缓存到用户所在城市 实现 步骤1:注册七牛云账号 https://portal.qiniu.com/signup?cod ...
- redis系列-14点的灵异事件
概述 项目组每天14点都会遭遇惊魂时刻.一条条告警短信把工程师从午后小憩中拉回现实.之后问题又神秘消失.是PM喊你上工了?还是服务器给你开玩笑?下面请看工程师如何一步一步揪出真凶,解决问题. 如果不想 ...