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