深度学习(7)TensorFlow基础操作三: 索引与切片
深度学习(7)TensorFlow基础操作三: 索引与切片
- 一. 基础索引
- 1. Basic indexing
- 2. Numpy-style indexing
- 3. start : end
- 4. 切片索引(1)Indexing by “ : ”
- 5. 切片索引(2)Indexing by “ : : ”
- 6. 切片索引(3)Indexing by “ : : -1”
- 7. 切片索引(4)Indexing by “ … ”
- 二. 选择性索引
- 1. tf.gather
- 2. tf.gather_nd
- 3. tf.boolean_mask
一. 基础索引
Indexing
- Basic indexing
- [idx][idx][idx]
- Same with Numpy
- [idx, idx, …]
- start : end
- start : end : step
- …
1. Basic indexing
(1) a = tf.ones([1, 5, 5, 3])
: 创建一个元素值全为1的4维Tensor,可以这样理解: 共有1个任务,每个任务重有5个矩阵,每个矩阵的维度为5行3列;
(2) a[0][0]
: 取出a中第1个任务中的第1个矩阵,即:
(111111111111111)\begin{pmatrix}1&1&1\\1&1&1\\1&1&1\\1&1&1\\1&1&1 \end{pmatrix}⎝⎜⎜⎜⎜⎛111111111111111⎠⎟⎟⎟⎟⎞
所以,这个a[0][0]
的shape=(5, 3);
(3) a[0][0][0]
: 取出a中第1个任务中的第1个矩阵中的第1行,即:
[111]\begin{bmatrix}1&1&1 \end{bmatrix}[111]
所以,这个a[0][0][0]
的shape=(3,);
(4) a[0][0][0][2]
: 取出a中第1个任务中的第1个矩阵中的第1行中的第3个元素,即:
111
所以,这个a[0][0][0][2]
的shape=();
- 缺点: 读取不灵活。
2. Numpy-style indexing
(1) a = tf.random.normal([4, 28, 28, 3])
: 创建一个4维Tensor,可以这样理解: 一个batch里共有4张图片,每张图片为28×28,图片为彩色图片,所以通道数为3;
(2) a[1].shape
: 这个batch中的第2张照片的shape为[28, 28, 3];
(3) a[1, 2].shape
: 这个batch中的第2张照片的第3行有3个RGB的数值,其shape为[28, 3];
(4) a[1, 2, 3].shape
: 这个batch中的第2张照片的第3行第4列有1个RGB数值,其shape为[3];
(5) a[1, 2, 3, 2].shape
: 这个batch中的第2张照片的第3行第4列RGB数值中的B通道,也就是蓝色,其shape为[];
3. start : end
(1) a = tf.range(10)
: 创建一个0~9的Tensor;
(2) a[x: y]
: 取出a中从x开始到y(不包括y)的所有元素;
(3) a[-1:]
: 取出a中从倒数第1个元素到最后1个元素,就是最后一个元素它自己,即[9];
(4) a[-2:]
: 取出a中从倒数第2个元素到最后1个元素,即[8, 9];
(5) a[:2]
: 取出a中从第1个元素到第3个元素(不包括第3个元素),即[0, 1];
(6) a[:-1]
: 取出a中从第1个元素到倒数第1个元素(不包括最后1个元素),即[0, 1, 2, 3, 4, 5, 6, 7, 8];
4. 切片索引(1)Indexing by “ : ”
(1) a[0, : , : , :].shape
: 取出第1张照片中的所有数据,就是[28, 28, 3];
(2) a[0, : , : , :].shape
: 取出第1张照片中的所有数据,就是[28, 28, 3];
(3) a[0, 1, : , :].shape
: 取出第1张照片中的第2行的所有数据,就是[28, 3];
(4) a[: , : , : , 0].shape
: 取出R(红色)通道的所有4张照片中的数据,就是[4, 28, 28];
(5) a[: , : , : , 2].shape
: 取出B(蓝色)通道的所有4张照片中的数据,就是[4, 28, 28];
(6) a[: , 0, : , :].shape
: 取出所有照片中的第2行的所有数据,就是[4, 28, 3];
5. 切片索引(2)Indexing by “ : : ”
- start
深度学习(7)TensorFlow基础操作三: 索引与切片相关推荐
- 视频教程-人人都会深度学习之Tensorflow基础入门-深度学习
人人都会深度学习之Tensorflow基础入门 大数据工程师/算法工程师/大数据讲师,毕业于西华大学软件工程专业.在大数据领域有着丰富的实战经验. 擅长领域:Spark/Hadoop.算法设计及系统架 ...
- 【深度学习】TensorFlow基础知识点总结
TensorFlow基础 其是一个面向于深度学习算法的科学计算库,内部数据保存在张量(Tensor)对象上,所有操作也都是基于张量对象进行. 1.数据类型 数值型 --其是TensorFlow的主 ...
- 深度学习框架-Tensorflow基础学习
Tensorflow简介 1. Tensorflow是一个编程系统,使用图来表示计算任务.使用图来表示计算任务. 图中的节点被称之为 op (operation 的缩写). 一个 op 获得 0 个或 ...
- 深度学习(6)TensorFlow基础操作二: 创建Tensor
深度学习(6)TensorFlow基础操作二: 创建Tensor 一. 创建方式 1. From Numpy,List 2. zeros,ones (1) tf.zeros() (2) tf.zero ...
- 深度学习(11)TensorFlow基础操作七: 向前传播(张量)实战
深度学习(11)TensorFlow基础操作七: 向前传播(张量)实战 1. 导包 2. 加载数据集 3. 转换数据类型 4. 查看x.shape, y.shape, x.dtype, y.dtype ...
- 深度学习(10)TensorFlow基础操作六: 数学运算
深度学习(10)TensorFlow基础操作六: 数学运算 1. Operation type 2. + - * / % // 3. tf.math.log & tf.exp 4. log2, ...
- 深度学习(9)TensorFlow基础操作五: Broadcasting
深度学习(9)TensorFlow基础操作五: Broadcasting 1. 操作思想 2. 具体例子 3. 理解 (1) How to understand? (2) Why Broadcasti ...
- 深度学习(8)TensorFlow基础操作四: 维度变换
深度学习(8)TensorFlow基础操作四: 维度变换 1. View 2. 示例 3. Reshape操作可能会导致潜在的bug 4. tf.transpose 5. Squeeze VS Exp ...
- 深度学习(5)TensorFlow基础操作一: TensorFlow数据类型
深度学习(5)TensorFlow基础操作一: TensorFlow数据类型 Data Container(数据载体) What's Tensor TF is a computing lib(科学计算 ...
最新文章
- SQL学习笔记:库和表的创建
- 如何预约升级鸿蒙,超过66万人预约,华为亮出真正王牌旗舰,支持优先升级鸿蒙系统...
- 在linux系统中 用于配置和显示,在Linux系统中使用sway设置多个显示器/监视器
- mysql使用释放资源_数据库--释放mysql数据库资源
- CV之face_recognition:Py之face_recognition库安装、介绍、使用方法详细攻略
- 介绍一个快速找出 Visual Studio Code 代码多余空格的扩展 - trailing space
- NET问答: C# 中有哪些 HttpPost 工具包
- 说说python程序的执行过程_表示说的词语
- nifi将hive同步到oracle,NiFi使用总结 一 hive到hive的PutHiveStreaming processor和SelectHiveQL...
- sublime for mac 注册码
- 《Java并发编程实战》 第二章:线程安全性
- 21. 包含min函数的栈(C++版本)
- 【ArcGIS操作】2 高级编辑篇
- Differential Privacy差分隐私
- CSS进阶(2)—— width,height如此高深,难道你真懂得
- 群晖系统硬盘损毁的修复
- 使用安卓模拟器+Xposed+JustTrustMe+burp suite抓取app的https流量
- 读取cpu温度的api_温度读取vc++获取cpu温度
- 概率论与数理统计中基于有限样本推断总体分布的方法,基于总体未知参数区间估计的假设检验方法之讨论,以及从数理统计视角重新审视线性回归函数本质...
- API 服务器健康状态自检
热门文章
- 外星人台式电脑_执掌游戏世界 外星人ALIENWARE m15丨17.9mm机身轻悍降临【电脑组装】公众号分享台式机笔记本电脑 京东商城特惠通道...
- Recyclerview删除数据后无法加载下一页数据(或者是漏了一条数据)
- java nio详解,Java NIO API详解
- 易驾佳智能机器人教练_学车吗?全智能模拟+车载机器人教练,让你轻松学车...
- layoutSubviews 详解
- IOS开发UIScrollView控件详解
- java B2B2C Springcloud多租户电子商城系统-集成项目简介
- Android的ADB工具使用
- HTML特殊字符大全2
- linux下raid5的配置
- 视频教程-人人都会深度学习之Tensorflow基础入门-深度学习