属性错误:"numpy.ndarray"对象没有属性"strip"



我试图制作一个具有多个输入和输出的训练模型。

这个模型在单个输入和输出下工作得很好,但我收到一条错误消息。

属性错误:"numpy.ndarray"对象没有属性"strip">

我想问题是fit_generator无法处理 numpy 数组。

我的适合生成器看起来像这样:

def train_model(model, X_train, X_valid, y_train, y_valid):
"""
Train the model
"""
checkpoint = ModelCheckpoint('model-{epoch:03d}-Hunet-LSTM-Canny_Final_bc50.h5',
monitor='val_loss',
verbose=0,
save_best_only=True,
mode='auto')

model.compile(loss='mse', optimizer=Adam(lr=0.0001))
X=X_train
print(X)
y=y_train
print(y)
history = model.fit_generator(batcher(data_dir, X_train, y_train, batch_size, True),
samples_per_epoch,
nb_epoch,
max_q_size=1,
validation_data=batcher(data_dir, X_valid, y_valid, batch_size, False),
nb_val_samples=len(X_valid),
callbacks=[checkpoint],
verbose=1)

和打印结果(X_train(

[['images/photo6190.jpg' 0.119999997318]
['images/photo8791.jpg' 0.10000000149]
['images/photo12711.jpg' 0.060000006109499994]
...
['images/photo9846.jpg' 0.0700000077486]
['images/photo10800.jpg' 0.109999999404]
['images/photo2733.jpg' 0.10000000149]]

和打印(y_train(

[[ 0.20000002  0.12      ]
[ 0.30000001  0.1       ]
[-0.19999999  0.06000001]
...
[ 0.30000001  0.07000001]
[ 0.5         0.11      ]
[ 0.40000001  0.1       ]]

有什么想法可以修复它吗?

从文档中,您不能简单地在fit_generator()函数中传递 numpy 数组。顾名思义fit_generator()采用 python 生成器作为参数。您可以使用 KerasImageDataGenerator()生成器函数来获取生成器,也可以制作自己的自定义生成器函数,以yields您的xy训练对

此示例示例可能会有所帮助: https://keras.io/examples/cifar10_cnn/

最新更新