Tensorflow进阶

Posted lzy820260594

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensorflow进阶相关的知识,希望对你有一定的参考价值。

摘要:本文主要介绍另外一些稍微有点难度的功能函数。

1、高级操作

1.1 tf.gather

tf.gather 可以实现根据索引号收集数据的目的。

技术图片

技术图片

1.2 tf.gather_nd

tf.gather_nd函数可以获取某一个或者某几个点的数据。

技术图片

1.3 tf.boolean_mask

利用函数tf.boolean_mask可以达到使用掩码来获取数据的目的。

技术图片

1.4 tf.where

通过 tf.where(cond, a, b)操作可以根据cond 条件的真假从a 或b 中读取数据,条件判定规则如下:

技术图片

其中 i 为张量的索引,返回张量大小与a,b 张量一致,当对应位置中??????????为True,????位置从????中复制数据;当对应位置中??????????为False,????位置从????中复制数据。考虑从2 个全1、全0 的3x3 大小的张量a,b 中提取数据,其中cond 为True 的位置从a 中对应位置提取,cond 为False 的位置从b 对应位置提取:

技术图片

1.5 scatter_nd

通过 tf.scatter_nd(indices, updates, shape)可以高效地刷新张量的部分数据,但是只能在全0 张量的白板上面刷新,因此可能需要结合其他操作来实现现有张量的数据刷新功能。如下图所示,演示了一维张量白板的刷新运算,白板的形状表示为shape 参数,需要刷新的数据索引为indices,新数据为updates,其中每个需要刷新的数据对应在白板中的位置,根据indices 给出的索引位置将updates 中新的数据依次写入白板中,并返回更新后的白板张量。

技术图片

技术图片

1.6 meshgrid

通过 tf.meshgrid 可以方便地生成二维网格采样点坐标,方便可视化等应用场合。

现在我们要绘制出下列函数的图像:

技术图片

技术图片

以上是关于Tensorflow进阶的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow进阶

机器学习进阶笔记之一 | TensorFlow安装与入门

TensorFlow进阶---名称域和共享变量

Tensorflow进阶

分享《深度学习之TensorFlow:入门原理与进阶实战》PDF+源代码

Google老师亲授 TensorFlow2.0入门到进阶笔记- (dataset)