Я хотел бы использовать tf$reduce_mean()
в списке тензоров, который я создал и сохранил в list()
. Как вы можете взять список тензоров и создать тензор более высокого ранга, который имеет эти отдельные тензоры в качестве записей в позиции axis=0
нового тензора? Я думаю, что в Python вы берете список и используете np.newaxis
, чтобы это произошло (tf$newaxis
).
Я предполагаю, что большой вопрос заключается в следующем: когда TensorFlow в Python передает списки своим функциям, как, например:
tf.concat([a, b, c], 0)
Что такое параллельная конструкция в R Keras? Как вы увидите ниже, перенос list()
не работает так, как я его пробовал.
Вот как я могу сделать простой пример в базе R, используя array()
и apply()
:
## reduce_mean() behavior I want -- mean across the matrix elements:
a <- matrix(1:4)
b <- matrix(5:8)
c <- matrix(9:12)
## How to do this in base R
(abc <- array(c(a, b, c), dim = c(2, 2, 3)))
#> , , 1
#>
#> [,1] [,2]
#> [1,] 1 3
#> [2,] 2 4
#>
#> , , 2
#>
#> [,1] [,2]
#> [1,] 5 7
#> [2,] 6 8
#>
#> , , 3
#>
#> [,1] [,2]
#> [1,] 9 11
#> [2,] 10 12
apply(abc, MARGIN = c(1,2), FUN = mean)
#> [,1] [,2]
#> [1,] 5 7
#> [2,] 6 8
Создано в 2020-04-14 пакетом представ. (v0.3.0)
Предположение относительно того, что должно быть выглядеть в TensorFlow:
library(tensorflow)
a <- tf$constant(array(1:4, dim=c(2,2)))
b <- tf$constant(array(5:8, dim=c(2,2)))
c <- tf$constant(array(9:12, dim=c(2,2)))
## Does not work
abc <- list(a, b, c)
# tf$reduce_mean(abc, axis=0)