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

Mil*_*Zhu 3 r tensorflow

嗨,我是Tensorflow的新手。我想做的是在R中这样的事情:

mat = tf$Variable(matrix(1:4, nrow = 2))
apply(mat, 1, cumprod)
Run Code Online (Sandbox Code Playgroud)

在Python API或R tensorflow包中的Tensorflow中这是否可行?谢谢!

编辑:tf$cumprod实际上是我想要的。

mrr*_*rry 6

TensorFlow Python API包含一个tf.map_fn(fn, elems)高阶运算符,它允许您指定一个(Python)函数fn,该函数将应用于elems第0维的每个切片(即,如果elems是矩阵,则应用于每行)。

请注意,尽管tf.map_fn()非常通用,但使用专门的操作可能会更有效,这些操作要么在一个或多个维度上广播其参数(例如tf.multiply()),要么在一个或多个维度上并行减少其参数(例如tf.reduce_sum())。但是,tf.map_fn()当没有内置运算符可以执行您想要的操作时,此功能很有用。