[英]how to fix 'Unable to create file' error when trying to save model weights while training
我在訓練時正在做圖像字幕項目我嘗試在每個時期之后通過 model.save('./model_weights1/model_'+ str(i) + '.h5') 保存模型權重,但我得到錯誤
它返回
無法創建文件(無法打開文件:name = './model_weights1/model_0.h5', errno = 2, error message = 'No such file or directory', flags = 13, o_flags = 602)
我檢查了目錄路徑是否存在,路徑似乎也是正確的
for i in range(epochs):
generator = data_loader(train_descriptions,encoded_images,maxlen,batch_size,word_to_idx)
model.fit_generator(generator,epochs=1,steps_per_epoch=steps,verbose = 1)
model.save('./model_weights1/model_'+ str(i) + '.h5')
錯誤
OSError Traceback (most recent call last)
<ipython-input-58-00c04165c7ca> in <module>()
2 generator = data_loader(train_descriptions,encoded_images,maxlen,batch_size,word_to_idx)
3 model.fit_generator(generator,epochs=1,steps_per_epoch=steps,verbose = 1)
----> 4 model.save('./model_weights1/model_'+ str(i) + '.h5',overwrite=True)
~/anaconda3/lib/python3.6/site-packages/keras/engine/network.py in save(self, filepath, overwrite, include_optimizer)
1088 raise NotImplementedError
1089 from ..models import save_model
-> 1090 save_model(self, filepath, overwrite, include_optimizer)
1091
1092 def save_weights(self, filepath, overwrite=True):
~/anaconda3/lib/python3.6/site-packages/keras/engine/saving.py in save_model(model, filepath, overwrite, include_optimizer)
377 opened_new_file = False
378
--> 379 f = h5dict(filepath, mode='w')
380
381 try:
~/anaconda3/lib/python3.6/site-packages/keras/utils/io_utils.py in __init__(self, path, mode)
184 self._is_file = False
185 elif isinstance(path, str):
--> 186 self.data = h5py.File(path, mode=mode)
187 self._is_file = True
188 elif isinstance(path, dict):
~/anaconda3/lib/python3.6/site-packages/h5py/_hl/files.py in __init__(self, name, mode, driver, libver, userblock_size, swmr, **kwds)
267 with phil:
268 fapl = make_fapl(driver, libver, **kwds)
--> 269 fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr)
270
271 if swmr_support:
~/anaconda3/lib/python3.6/site-packages/h5py/_hl/files.py in make_fid(name, mode, userblock_size, fapl, fcpl, swmr)
103 fid = h5f.create(name, h5f.ACC_EXCL, fapl=fapl, fcpl=fcpl)
104 elif mode == 'w':
--> 105 fid = h5f.create(name, h5f.ACC_TRUNC, fapl=fapl, fcpl=fcpl)
106 elif mode == 'a':
107 # Open in append mode (read/write).
h5py/_objects.pyx in h5py._objects.with_phil.wrapper()
h5py/_objects.pyx in h5py._objects.with_phil.wrapper()
h5py/h5f.pyx in h5py.h5f.create()
OSError: Unable to create file (unable to open file: name = './model_weights1/model_0.h5', errno = 2, error message = 'No such file or directory', flags = 13, o_flags = 602)
你有路徑問題
做
import os
os.getcwd()
知道當前的工作目錄。 然后改變
model.save('./model_weights1/BLABLABLA)
有好的路徑
如果你只是想節省重量,那就更容易了
import os
然后定義您的 wights_path 並保存它們:
weights_path = os.getcwd() + "\\model_weights\\your_model.h5"
model.save_weights(weights_path)
經過數小時的搜索,這是有效的。 您需要輸入完整的文件路徑。 例如, /home/Desktop/Your_Directory/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.