Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R Keras展平层-获得形状为1的阵列_R_Tensorflow_Machine Learning_Keras_Deep Learning - Fatal编程技术网

R Keras展平层-获得形状为1的阵列

R Keras展平层-获得形状为1的阵列,r,tensorflow,machine-learning,keras,deep-learning,R,Tensorflow,Machine Learning,Keras,Deep Learning,我试图用TensorFlow在R Keras中建立一个模型,它只有一个平坦层。以下是代码片段: model <- keras_model_sequential() %>% layer_flatten(input_shape = c(lookback, dim(train.data)[-1])) model %>% compile( optimizer = optimizer_rmsprop(), loss = "mae" ) history <- mode

我试图用TensorFlow在R Keras中建立一个模型,它只有一个平坦层。以下是代码片段:

model <- keras_model_sequential() %>%
  layer_flatten(input_shape = c(lookback, dim(train.data)[-1]))

model %>% compile(
  optimizer = optimizer_rmsprop(),
  loss = "mae"
)

history <- model %>% fit_generator(
  train_gen,
  steps_per_epoch = 500,
  epochs = 20
)

我不知道为什么会这样。如果我添加一个
层密度(单位=1)
它可以工作,但我不明白为什么。

目标形状不兼容:您提供一个大小为1的向量作为目标(即
(129,)
表示大小为1的129个样本标签),但是模型的输出形状是
(无,3600)
,因此它需要大小为3600的向量。这就是为什么当你添加一个有一个单元的密集层时,问题就解决了:密集层的输出形状是
(None,1)
,你提供
(129,)
,它们相互匹配,因此没有问题可以抱怨。

我如何解决这个问题?我只想要一个展平层,并从中获得输出。基本上,我正在尝试学习展平层的工作原理。@user2840286然后您需要修改
train\u gen
,以将形状数组
(1293600)
作为标签返回,即基本上是输入的展平版本。
Error in py_call_impl(callable, dots$args, dots$keywords) : 
  ValueError: Error when checking target: expected dense_15 to have shape (3600,) but got array with shape (1,)