张量的分割

简介: 【8月更文挑战第16天】张量的分割。

张量的分割
TensorFlow中,张量分割的操作主要包括:
tf.unstack():将张量按照特定维度分解。
tf.split():将张量按照特定维度划分为指定的分数。

与tf.unstack()相比,tf.split()更佳灵活。
tf.unstack(value,num=None,axis=0,name='unstack'):
value:输入张量;
num:表示输出含有num个元素的列表,num必须和指定维度内元素的个数相等。通常可以忽略不写这个参数。
axis:指明根据数据的哪个维度进行分割;
name:操作名称。

代码:

按照第一个维度对数据进行分解,分解后的数据以列表形式输出。

tf.unstack(stacked_sample_1,axis=0)

输出:
[<tf.Tensor: shape=(100, 100, 3), dtype=float32, numpy=
array([[[ 0.0665694 , 0.7110351 , 1.907618 ],
[ 0.84416866, 1.5470593 , -0.5084871 ],
[-1.9480026 , -0.9899087 , -0.09975405],
...,

tf.split(value, num_or_size_splits, axis=0):
value:输入张量;
num_or_size_splits:准备切成几份
axis:指明根据数据的哪个维度进行分割。

tf.split()的分割方式有两种:

  1. 如果num_or_size_splits 传入的是一个整数,那直接在axis=D这个维度上把张量平均切分成几个小张量。
  2. 如果num_or_size_splits 传入的是一个向量,则在axis=D这个维度上把张量按照向量的元素值切分成几个小张量。

代码:
import numpy as np
split_sample_1 = tf.random.normal([10,100,100,3])
print("原始数据的尺寸为:",split_sample_1.shape)
splited_sample_1 = tf.split(split_sample_1, num_or_size_splits=5,axis=0)
print("当m_or_size_splits=10,分割后数据的尺寸为:",np.shape(splited_sample_1))
splited_sample_2 = tf.split(split_sample_1, num_or_size_splits=[3,5,2],axis=0)
print("当num_or_size_splits=[3,5,2],分割后数据的尺寸分别为:",
np.shape(splited_sample_2[0]),
np.shape(splited_sample_2[1]),
np.shape(splited_sample_2[2]))

输出:
原始数据的尺寸为: (10, 100, 100, 3)
当m_or_size_splits=10,分割后数据的尺寸为: (5, 2, 100, 100, 3)
当num_or_size_splits=[3,5,2],分割后数据的尺寸分别为: (3, 100, 100, 3) (5, 100, 100, 3) (2, 100, 100, 3)

目录
相关文章
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch CIFAR10图像分类 Swin Transformer篇(一)
Pytorch CIFAR10图像分类 Swin Transformer篇(一)
|
机器学习/深度学习 缓存 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA.
83277 1
|
11月前
|
存储 安全 数据安全/隐私保护
数据传输中遇到问题要怎么解决
在数据传输中遇到问题时,可采取多种解决方案:使用可靠协议(如HTTPS、SFTP)、创建冗余备份、数据压缩与加密、错误检测与纠错、优化网络性能、解决数据丢失、降低延迟、提高安全性及解决带宽瓶颈。这些措施有助于确保数据传输的稳定、安全与高效。
|
Ubuntu Linux 开发工具
Windows11 WSL2 Ubuntu编译安装perf工具
Windows11 WSL2 Ubuntu编译安装perf工具
645 0
|
并行计算 前端开发 安全
【C++并发编程】std::future、std::async、std::packaged_task与std::promise的深度探索(一)
【C++并发编程】std::future、std::async、std::packaged_task与std::promise的深度探索
441 0
|
Ubuntu Linux 数据库
废弃手机别丢弃,秒变8h8g永久服务器
废弃手机别丢弃,秒变8h8g永久服务器
1693 0
|
Web App开发 数据安全/隐私保护 虚拟化
WSL2安装及图形界面使用
WSL2安装及图形界面使用
735 0
|
存储 JSON 自然语言处理
【大数据开发运维解决方案】ElasticSearc写入查询性能优化总结
ES(ElasticSearch) 我们需要根据公司要求,进行偏向性的优化。1、bulk批量写入2、多线程写入3、修改索引刷新时间4、修改merge参数以及线程数6、index buffer7、磁盘间的任务均衡8、Mapping优化8.1、自动生成docID(避免ES对自定义ID验证的操作) 8.2、调整字段Mapping 8.3、调整_source字段 8.4、禁用_all 8.5、禁用Norms 8.6、index_options设置 9、优化存储
【大数据开发运维解决方案】ElasticSearc写入查询性能优化总结
|
Web App开发 监控 UED
《分布式系统:概念与设计》一1.2 分布式系统的例子
本节书摘来华章计算机《分布式系统:概念与设计》一书中的第1章 ,第1.2节,(英) George Coulouris Jean DollimoreTim Kindberg Gordon Blair 著 金蓓弘 马应龙 等译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3528 0
|
机器学习/深度学习 传感器 编解码
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(下)
为了在动态环境中安全驾驶,自动驾驶车辆应该能够预测附近交通参与者的未来状态,尤其是周围车辆,类似于人类驾驶员的预测驾驶能力。这就是为什么研究人员致力于轨迹预测领域并提出不同的方法。本文旨在对过去二十年中提出的自动驾驶轨迹预测方法进行全面和比较性的回顾!!!它从问题公式和算法分类开始。然后,详细介绍和分析了基于物理、经典机器学习、深度学习和强化学习的流行方法。最后,论文评估了每种方法的性能,并概述了潜在的研究方向。
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(下)