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

时间:2017-01-04 19:11:44

标签: r tensorflow

您好,我是Tensorflow的新手。我想要做的是在R:

中这样的事情
mat = tf$Variable(matrix(1:4, nrow = 2))
apply(mat, 1, cumprod)

Tensorflow中是否可以使用Python API或R tensorflow包?谢谢!

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

1 个答案:

答案 0 :(得分:3)

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

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