简体   繁体   English

拟合 keras 模型时发生无法识别的关键字参数

[英]An Unrecognized keyword arguments happened while fitting keras model

I am trying to use ImageDataGenerator to label the data.我正在尝试使用 ImageDataGenerator 来标记数据。 However, when I fitting models, an error showed.但是,当我拟合模型时,显示错误。

TypeError: Unrecognized keyword arguments: {'generator': <keras_preprocessing.image.dataframe_iterator.DataFrameIterator object at 0x0000021CC81BBE48>}

Here is my full code :这是我的完整代码:

import area:进口地区:

import numpy as np
import keras  
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras.callbacks import ModelCheckpoint
import pandas as pd
from keras_preprocessing.image import ImageDataGenerator

Data loading and labeling:数据加载和标记:

dataset=pd.read_csv('labelset.csv')
columns=['Agonist','Antagonist','Binding']
datagen=ImageDataGenerator(rescale=1./255.)
test_datagen=ImageDataGenerator(rescale=1./255.)

train_generator=datagen.flow_from_dataframe(
dataframe=dataset[:1500],
directory ='C:/Users/j7042/Desktop/Training set/' ,
x_col="Filenames",
y_col=columns,
batch_size=1,
seed=42,
shuffle=True,
class_mode="raw",
target_size=(500,500))

test_generator=test_datagen.flow_from_dataframe(
dataframe=dataset[1500:],
directory='C:/Users/j7042/Desktop/Training set/',
x_col="Filenames",
y_col=columns,
batch_size=1,
seed=42,
shuffle=True,
class_mode="raw",
target_size=(500,500))

Model area :模型区:

model = Sequential()
model.add(Conv2D(8, kernel_size=(3, 3),activation='relu',input_shape=[500,500,3]))
model.add(Conv2D(16,(3,3),activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dense(3, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer=keras.optimizers.Adadelta(),
              metrics=['acc'])

Fitting:配件:

STEP_SIZE_TRAIN=train_generator.n//train_generator.batch_size
STEP_SIZE_VALID=valid_generator.n//test_generator.batch_size


model.fit(generator=train_generator,steps_per_epoch=STEP_SIZE_TRAIN,validation_data=valid_generator,validation_steps=STEP_SIZE_VALID,batch_size=1, epochs=10)

Full error message :完整的错误信息:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-59-e499c6763112> in <module>
      3 
      4 
----> 5 model.fit(generator=train_generator,steps_per_epoch=STEP_SIZE_TRAIN,validation_data=valid_generator,validation_steps=STEP_SIZE_VALID,batch_size=1, epochs=10)

~\anaconda3\envs\keras environment\lib\site-packages\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing, **kwargs)
   1116             epochs = kwargs.pop('nb_epoch')
   1117         if kwargs:
-> 1118             raise TypeError('Unrecognized keyword arguments: ' + str(kwargs))
   1119 
   1120         if x is None and y is None and steps_per_epoch is None:

TypeError: Unrecognized keyword arguments: {'generator': <keras_preprocessing.image.dataframe_iterator.DataFrameIterator object at 0x0000021CC81BBE48>}

Here is a part of my labelset.csv: enter image description here这是我的 labelset.csv 的一部分:在此处输入图像描述

I have no idea about this error, hoping someone can help me.我不知道这个错误,希望有人可以帮助我。

The error is because you're using generator parameter on model.fit , which is not a valid argument (see Keras documentation on Fit ).错误是因为您在model.fit上使用了generator参数,这不是一个有效的参数(请参阅关于 Fit 的 Keras 文档)。

You can call model.fit with a generator, but the generator is your x parameter:您可以使用生成器调用model.fit ,但生成器是您的x参数:

model.fit(x=train_generator,steps_per_epoch=STEP_SIZE_TRAIN,validation_data=valid_generator,validation_steps=STEP_SIZE_VALID,batch_size=1, epochs=10)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM