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())