Tensorflow Keras k_聚集函数

Tensorflow Keras k_聚集函数,tensorflow,keras,Tensorflow,Keras,目前,我正在尝试让Keras后端函数k_gather在R中工作。到目前为止,运气不好。我只能找到有关tensorflow聚集函数的正确文档。如果我遵循这个文档,下面的代码应该提取张量a的(1,1,1)-条目 库(keras) a=k_常数(c(1L,2L,3L,4L),数据类型='int32',形状=c(1L,1L,4L)) c=k_常数(c(1L,0L,0L,0L),数据类型='int32',形状=c(1L,1L,4L)) out=k_聚集(a,索引=c) sess$run(用完) 然而,它

目前,我正在尝试让Keras后端函数k_gather在R中工作。到目前为止,运气不好。我只能找到有关tensorflow聚集函数的正确文档。如果我遵循这个文档,下面的代码应该提取张量a的(1,1,1)-条目

库(keras)
a=k_常数(c(1L,2L,3L,4L),数据类型='int32',形状=c(1L,1L,4L))
c=k_常数(c(1L,0L,0L,0L),数据类型='int32',形状=c(1L,1L,4L))
out=k_聚集(a,索引=c)
sess$run(用完)
然而,它似乎不是这样工作的。当我运行它时,我得到了错误

py_call_impl(可调用、dots$args、dots$keywords)中的
错误:
InvalidArgumentError:索引[0,0,0]=1不在[0,1]中
一个错误并不能支持我,因为它的形状似乎是错的

shape=(1,1,4,1,4)
而不仅仅是

shape=(1,1,4)

它是如何工作的。如何提取我可爱的张量a的第一个分量?

我找到了一种解决k_聚集问题的方法。我现在使用以下步骤来排列张量a

library(keras)

a =  k_constant(c(1L, 2L,3L,4L), dtype = 'int32' , shape = c(1L, 1L, 4L ))

a_1 =  a[,,1:2]
a_2 =  a[,,3:4]

a_new = k_concatenate( list(a_2, a_1))

sess = k_get_session()

sess$run(a_new)

它不能解决我在k_gather上的问题,但它满足了我的要求。

“似乎不起作用”并不是很有用,你应该彻底解释这个问题,并包含任何错误消息。最好说明它是哪种语言……是R吗?是的,它在R中,但我可以将Python中的解决方案翻译回R。