簡體   English   中英

Python 錯誤:OSError:[Errno 22] 無效參數

[英]Python Error:OSError: [Errno 22] Invalid argument

Traceback (most recent call last):
File "main.py", line 312, in <module> display=viz) 
File "C:\Users\yang6\PycharmProjects\DeepHyperX\models.py", line 1059, in train save_model(net, camel_to_snake(str(net.__class__.__name__)), data_loader.dataset.name, epoch=e, metric=abs(metric)) 
File "C:\Users\yang6\PycharmProjects\DeepHyperX\models.py", line 1068, in save_model torch.save(model.state_dict(), model_dir + filename + '.pth') 
File "C:\Users\yang6\Anaconda3\envs\DeepHyperX\lib\site-packages\torch\serialization.py", line 260, in save return _with_file_like(f, "wb", lambda f: _save(obj, f, pickle_module, pickle_protocol)) 
File "C:\Users\yang6\Anaconda3\envs\DeepHyperX\lib\site-packages\torch\serialization.py", line 183, in _with_file_like f = open(f, mode) 
OSError: [Errno 22] Invalid argument: './checkpoints/hamida_et_al/PaviaU/2020-07-03 10:52:46.094626_epoch2_0.78.pth'

我的文件路徑是'./checkpoints/hamida_et_al/PaviaU/2020-07-03 10:52:46.094626_epoch2_0.78.pth' ,怎么解決呢?

在此處輸入圖像描述

我的代碼:

def save_model(model, model_name, dataset_name, **kwargs):
 model_dir = 'C:/Users/yang6/PycharmProjects/DeepHyperX/checkpoints/' + model_name + "/" + dataset_name + "/"
 if not os.path.isdir(model_dir):
     os.makedirs(model_dir, exist_ok=True)
 if isinstance(model, torch.nn.Module):
     filename = str(datetime.datetime.now()) + "_epoch{epoch}_{metric:.2f}".format(**kwargs)
     tqdm.write("Saving neural network weights in {}".format(filename))
     torch.save(model.state_dict(), model_dir + filename + '.pth')
 else:
     filename = str(datetime.datetime.now())
     tqdm.write("Saving model params in {}".format(filename))
     joblib.dump(model, model_dir + filename + '.pkl')

由於您使用 Windows 並使用 PyCharm,因此在我看來,您需要將絕對路徑傳遞給open()而不是相對路徑,請參見此處

如果四個路徑中有空格,請進一步確保使用正確的轉義序列,請參見此處

暫無
暫無

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

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