gpt4 book ai didi

machine-learning - Keras:ValueError:没有为 "input_1"提供数据。需要每个键的数据

转载 作者:行者123 更新时间:2023-11-30 08:23:54 27 4
gpt4 key购买 nike

我正在使用 keras 功能 API 和尺寸为 (224, 224, 3) 的输入图像。我使用函数式 API 建立了以下模型,尽管顺序模型似乎也出现了类似的问题:

input = Input(shape=(224, 224, 3,))
shared_layers = Dense(16)(input)
model = KerasModel(input=input, output=shared_layers)
model.compile(loss='binary_crossentropy', optimizer='sgd', metrics='accuracy'])

我正在调用 model.fit_generator 我的生成器有

yield ({'input_1': image}, {'output': classification}) 

image 是输入 (224, 224, 3) 图像,classification 位于 {-1,1} 中。

在拟合模型时,出现错误

ValueError: No data provided for "dense_1". Need data for each key in: ['dense_1']

一件奇怪的事情是,如果我将字典的 input_1 目标切换为 dense_1,错误就会切换为缺少 input_1 的输入,但如果两个 key 都在数据生成器中,则返回到缺少 dense_1

无论我调用 fit_generator 还是从生成器获取批处理并调用 train_on_batch,都会发生这种情况。

有人知道这是怎么回事吗?据我所知,这应该与 the documentation 中给出的相同。尽管输入大小不同。

Full traceback:
Traceback (most recent call last):
File "pymask.py", line 303, in <module>
main(sys.argv)
File "pymask.py", line 285, in main
keras.callbacks.ProgbarLogger()
File "/home/danielunderwood/virtualenvs/keras/lib/python3.6/site-packages/keras/engine/training.py", line 1557, in fit_generator
class_weight=class_weight)
File "/home/danielunderwood/virtualenvs/keras/lib/python3.6/site-packages/keras/engine/training.py", line 1314, in train_on_batch
check_batch_axis=True)
File "/home/danielunderwood/virtualenvs/keras/lib/python3.6/site-packages/keras/engine/training.py", line 1029, in _standardize_user_data
exception_prefix='model input')
File "/home/danielunderwood/virtualenvs/keras/lib/python3.6/site-packages/keras/engine/training.py", line 52, in standardize_input_data
str(names))
ValueError: No data provided for "input_1". Need data for each key in: ['input_1']

最佳答案

我在 3 种情况下遇到了这个错误(在 R 中):

  1. 输入数据的维度与第一层中声明的维度不同
  2. 输入数据包含缺失值
  3. 输入数据不是矩阵(例如数据框)

请检查以上所有内容。

也许 R 中的这段代码可以提供帮助:

library(keras)

#The network should identify the rule that a row sum greater than 1.5 should yield an output of 1

my_x=matrix(data=runif(30000), nrow=10000, ncol=3)
my_y=ifelse(rowSums(my_x)>1.5,1,0)
my_y=to_categorical(my_y, 2)

model = keras_model_sequential()
layer_dense(model,units = 2000, activation = "relu", input_shape = c(3))
layer_dropout(model,rate = 0.4)
layer_dense(model,units = 50, activation = "relu")
layer_dropout(model,rate = 0.3)
layer_dense(model,units = 2, activation = "softmax")

compile(model,loss = "categorical_crossentropy",optimizer = optimizer_rmsprop(),metrics = c("accuracy"))

history <- fit(model, my_x, my_y, epochs = 5, batch_size = 128, validation_split = 0.2)

evaluate(model,my_x, my_y,verbose = 0)

predict_classes(model,my_x)

关于machine-learning - Keras:ValueError:没有为 "input_1"提供数据。需要每个键的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42379138/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com