OSError: [Errno 22] Недействительный аргумент при использовании функции optim.minimize из Hyperas

Я пытаюсь настроить свой CNN с помощью Hyperas. Я создал функцию данных и функцию модели. Однако, когда я запускал функцию optim.minimize, я всегда получаю следующую ошибку:

Traceback (most recent call last):
  File "<ipython-input-23-500d747c4da9>", line 67, in <module>
    trials=Trials())
  File "C:\Users\ASUS\Anaconda3\lib\site-packages\hyperas\optim.py", line 69, in minimize
    keep_temp=keep_temp)
  File "C:\Users\ASUS\Anaconda3\lib\site-packages\hyperas\optim.py", line 98, in base_minimizer
    model_str = get_hyperopt_model_string(model, data, functions, notebook_name, verbose, stack)
  File "C:\Users\ASUS\Anaconda3\lib\site-packages\hyperas\optim.py", line 185, in get_hyperopt_model_string
    with open(calling_script_file, 'r') as f:

OSError: [Errno 22] Invalid argument: 'C:\\Users\\ASUS\\Desktop\\DL project II\\<ipython-input-23-500d747c4da9>

Может ли кто-нибудь помочь мне найти проблему? Я уже застрял с этой проблемой с 6 дней до сих пор

Ниже вы можете найти код:

def data():

    train_datagen = ImageDataGenerator(rescale = 1./255,
                                       shear_range = 0.2,
                                       zoom_range = 0.2,
                                       horizontal_flip = True)

    test_datagen = ImageDataGenerator(rescale = 1./255)

    training_set = train_datagen.flow_from_directory('dataset/Train',
                                                     target_size = (64, 64),
                                                     batch_size = 32,
                                                     class_mode = 'categorical')

    validation_set = test_datagen.flow_from_directory('dataset/Validation',
                                                target_size = (64, 64),
                                                batch_size = 32,
                                                class_mode = 'categorical')
    return training_set, validation_set



def model(training_set, validation_set):
    model = Sequential()
    model.add(Conv2D({{choice([64,126,256, 512,1024])}}, (3, 3), input_shape = (64, 64, 3), activation = 'relu'))
    model.add(MaxPooling2D(pool_size = (2, 2)))
    model.add(Dropout({{uniform(0, 1)}}))
    model.add(Conv2D({{choice([64,126,256, 512,1024])}}, (3, 3), activation = 'relu'))
    model.add(MaxPooling2D(pool_size = (2, 2)))
    model.add(Dropout({{uniform(0, 1)}}))
    model.add(Flatten())
    model.add(Dropout({{uniform(0, 1)}}))
    model.add(Dense({{choice([128, 256, 512, 1024])}}, activation = 'relu'))
    model.add(Dense({{choice([128, 256, 512, 1024])}}, activation = 'softmax'))
    model.compile(loss={{choice(['categorical_crossentropy', 'binary_crossentropy'])}},
                  optimizer='adam',
                  metrics=['accuracy'])
    model.fit_generator(
        training_set,
        steps_per_epoch=31077 // 32,
        epochs=10,
        validation_data=validation_set,
        validation_steps=8132 // 32)
    score, acc = model.evaluate_generator(generator=validation_set,steps=8132 // 32)
    print('Val accuracy:', acc)
    return {'loss': -acc, 'status': STATUS_OK, 'model': model}

training_set,validation_set= data()
best_run, best_model = optim.minimize(model=model,
                                      data=data,
                                      algo=tpe.suggest,
                                      max_evals=10,
                                      trials=Trials())

0 ответов

Другие вопросы по тегам