tf.gather 实例

这篇博客深入探讨了 TensorFlow 中的 `tf.gather` 函数,通过实例展示了如何从给定的数组中按索引选取元素,输出结果为 `[11, 51, 91]`,揭示了该函数在处理张量数据时的灵活性和实用性。" 86506354,7727947,C++代码优化:利用函数复用简化臃肿代码,"['C++编程', '代码重构', '函数优化', '运算符重载', 'C++特性']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import tensorflow as tf

temp = tf.range(0,10)*10 + tf.constant(1,shape=[10])
temp2 = tf.gather(temp,[1,5,9])

with tf.Session() as sess:

    print sess.run(temp)
    print sess.run(temp2)

输出
[ 1 11 21 31 41 51 61 71 81 91]
[11 51 91]

当然可以!`tf.gather` 是 TensorFlow 中的一个函数,它用于根据指定的索引从一个张量中收集(或提取)元素。这个函数在处理稀疏数据、从查找表中获取值或者重新排列张量的维度时非常有用。 `tf.gather` 的基本定义如下: ``` python tf.gather( params, indices, validate_indices=None, axis=None, batch_dims=0, name=None ) ``` 参数解释: - `params`:一个张量,从中收集元素。 - `indices`:一个整数张量,表示要收集的元素的索引。 - `validate_indices`(可选):布尔值,用于检查索引是否越界。默认为 `None`,表示不进行检查。 - `axis`(可选):指定沿哪个轴收集元素。默认为 0。 - `batch_dims`(可选):整数,表示在收集操作之前,`params` 和 `indices` 张量的批处理维度。默认为 0。 - `name`(可选):操作的名称。 `tf.gather` 的返回值是一个新的张量,其中包含从 `params` 中收集的元素。 下面是一个简单的例子: ``` python import tensorflow as tf # 创建一个张量 params = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 指定要收集的元素的索引 indices = tf.constant([0, 2]) # 使用 tf.gather 收集元素 result = tf.gather(params, indices, axis=1) # 输出结果 print(result) ``` 输出: ``` tf.Tensor( [[1 3] [4 6] [7 9]], shape=(3, 2), dtype=int32) ``` 在这个例子中,我们沿着第 1 轴(列方向)从 `params` 张量中收集了索引为 0 和 2 的元素。
04-25
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-Love-Coding-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值