这是我的代码:
sava_path = 'D:/5-PyCharm/unet-membrane/membrane/data/models/' + model_name
checkpoint = ModelCheckpoint(filepath=sava_path, monitor='binary_accuracy', verbose=1,
save_best_only=True, mode='max')
history = unet_model.fit(x=x_train, y=y_train, batch_size=batch_size, callbacks=[checkpoint],
validation_split=0.2, epochs=epochs, shuffle=False)
但出现错误:
OSError: Unable to create file (unable to open file: name = 'D:/5-PyCharm/unet-membrane/membrane/data/models/Unet_membrane2019-09-28_09:50:25.h5', errno = 22, error message = 'Invalid argument', flags = 13, o_flags = 302)
如果save_path
./membrane/data/models/unet_membrane.h5
,一切都很好。 两者之间最重要的区别是路径前面是否带有Windows磁盘字符。 所以,我想问一下save_path
是否有D:
会导致此错误?
单击此链接查看我捕获的图像: 保存成功,出现错误"参数无效">
Invalid argument
是由非法字符引起的。Windows 文件的文件名不能包含/:*?"<>|
。您的文件名包含字符:
,请将其删除。
选择其他模型名称,或尝试将"/"替换为"\\"。在从 Tensorboard 回调创建"logs"文件夹时,我也想到了这一点。
我提到的方法帮助我解决了我的问题。