首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tf.range()乘法的优雅方法

tf.range()乘法的优雅方法
EN

Stack Overflow用户
提问于 2018-08-21 23:16:48
回答 1查看 170关注 0票数 1

我有一个(BatchSize X 1)数的张量,介于0到9之间,例如:

代码语言:javascript
复制
3
4
2
.
.
.
2

从每个数字开始,我需要创建一个新的张量,从数字开始,直到数字- 9。例如,对于数字3,我要创建一个张量:

代码语言:javascript
复制
3 2 1 0 -1 -2 -3 -4 -5 -6

这可以使用一个单独的:

代码语言:javascript
复制
tf.range(3,3-9,1)

我需要对整个张量执行此操作,以创建一个新的张量(遵循上面的示例):

代码语言:javascript
复制
3 2 1 0 -1 -2 -3 -4 -5 -6
4 3 2 1 0 -1 -2 -3 -4 -5
2 1 0 -1 -2 -3 -4 -5 -6 -7
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
2 1 0 -1 -2 -3 -4 -5 -6 -7

一种选择是以迭代的方式完成,但这需要我将批处理大小硬编码到循环中,我正在努力避免这种情况。

任何好的优雅解决方案的想法都将受到欢迎。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-21 23:25:57

您可以使用tf.range(10)对张量进行外部减法,方法是对张量进行适当的整形:

代码语言:javascript
复制
import tensorflow as tf
tf.InteractiveSession()
a = tf.constant([3,4,2,2])

b = tf.reshape(a, (-1,1)) - tf.range(10)
b.eval()
#array([[ 3,  2,  1,  0, -1, -2, -3, -4, -5, -6],
#       [ 4,  3,  2,  1,  0, -1, -2, -3, -4, -5],
#       [ 2,  1,  0, -1, -2, -3, -4, -5, -6, -7],
#       [ 2,  1,  0, -1, -2, -3, -4, -5, -6, -7]], dtype=int32)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51951849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档