簡體   English   中英

類型錯誤:流()缺少 1 個必需的位置參數:'x'

[英]TypeError: flow() missing 1 required positional argument: 'x'

我試圖運行這段代碼,但我仍然卡住了。

在這段代碼中,我使用了預訓練的神經 resnet50,並嘗試提取深度特征並預測我的類。

請,如果有人遇到此錯誤,請告訴我如何解決?

謝謝

NUM_CLASSES = 2
CHANNELS = 3
IMAGE_RESIZE = 224
RESNET50_POOLING_AVERAGE = 'avg'
DENSE_LAYER_ACTIVATION = 'softmax'
OBJECTIVE_FUNCTION = 'binary_crossentropy'
LOSS_METRICS = ['accuracy']
NUM_EPOCHS = 10
EARLY_STOP_PATIENCE = 3
STEPS_PER_EPOCH_TRAINING = 10
STEPS_PER_EPOCH_VALIDATION = 10
batch_size = 32
from keras.models import load_model
BATCH_SIZE_TRAINING = 100
BATCH_SIZE_VALIDATION = 100
image_size = IMAGE_RESIZE
WEIGHTS_PATH = "C:\\Users\\Desktop\\RESNET  \\resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5"
model = Sequential()
train_data_dir = "C:\\Users\\Desktop\\RESNET"
model = ResNet50(include_top=True, weights='imagenet')
model.layers.pop()
model = Model(input=model.input,output=model.layers[-1].output)
model.summary()
model.compile(loss='binary_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9), metrics=['binary_accuracy'])

data_dir = "C:\\Users\\Desktop\\RESNET"
data_generator = ImageDataGenerator(preprocessing_function=preprocess_input)

train_datagenerator = ImageDataGenerator(rescale=1./255,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True,
    validation_split=0.2)
train_generator = train_datagenerator.flow_from_directory(
    train_data_dir,
    target_size=(image_size, image_size), 
    batch_size=BATCH_SIZE_TRAINING,
    class_mode='categorical', shuffle=False, subset='training') # set as training data


validation_generator = train_datagenerator.flow_from_directory(
    train_data_dir, # same directory as training data kifkif
    target_size=(image_size, image_size), 
    batch_size=BATCH_SIZE_TRAINING,
    class_mode='categorical', shuffle=False, subset='validation') # set as validation data

generator = data_generator.flow(batch_size=batch_size)
batch_size = 32
X_train = np.zeros((len(train_generator.images_ids_in_subset),2048))
Y_train = np.zeros((len(train_generator.images_ids_in_subset),2))
nb_batches = int(len(train_generator.images_ids_in_subset) / batch_size) + 1

如果您對此問題有任何疑問,請告訴我

謝謝你的幫助

原始代碼使用 pascal 數據庫,如下所示:

from data_gen import PascalVOCDataGenerator
data_dir = '/data/VOCdevkit/VOC2007/' 
data_generator_train = PascalVOCDataGenerator('trainval', data_dir)

我正在嘗試在我的個人數據集上調整此代碼。

謝謝

刪除此行

generator = data_generator.flow(batch_size=batch_size)

如果您的代碼在那里結束,它什么也不做。

flow方法用於轉換 ram 數據中的已有數據,但您的代碼沒有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM