TensorFlow将函数应用于矩阵变量的每一行

3

你好,我是一个Tensorflow的新手。我的目标是在Tensorflow中实现以下R代码的功能:

mat = tf$Variable(matrix(1:4, nrow = 2))
apply(mat, 1, cumprod)

这在Tensorflow中可行吗?可以使用Python API或R tensorflow包进行操作吗?谢谢!编辑:tf$cumprod实际上是我想要的。
1个回答

7
TensorFlow Python API 包含 tf.map_fn(fn, elems) 高阶操作符,允许您指定一个(Python)函数 fn,该函数将应用于 0th 维度中每个切片的elems(即如果 elems 是矩阵,则应用于每一行)。
请注意,虽然 tf.map_fn() 非常通用,但使用专门的运算符可能更高效,这些运算符在一个或多个维度上广播其参数(例如 tf.multiply()),或者在一个或多个维度上并行减少(例如 tf.reduce_sum())。然而,当没有内置运算符来实现所需时,tf.map_fn() 非常有用。

谢谢你的回答,我在这里遇到了一个问题,当我将scipy中的熵设置为参数时,它会引发错误。难道不能调用库中的任何函数吗? - sariii
谢谢您的回答。我希望将这个问题概括为更具体的内容(在每个像素关联的所有深度通道上映射函数)。您能帮助我吗?我在这里提出了我的问题:https://dev59.com/mrfna4cB1Zd3GeqPy8qy非常感谢 :) - gab
无论效率如何,提供实际解决 OP 问题的代码会很好。 - Marius Hofert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接