2016-11-28 23 views
2

我試圖在我的數據集上微調VGG16,但一直打開VGG16-weights的h5py文件的麻煩。我不明白這個錯誤是什麼意思:我試圖微調我的數據集上的VGG16,但遇到了有關加載VGG16權重的OSError

OSError: Unable to open file (Truncated file: eof = 221184, sblock->base_addr = 0, stored_eoa = 58889256) 

有誰知道如何解決它?謝謝

--------------------------------------------------------------------------- 
OSError         Traceback (most recent call last) 
<ipython-input-3-6059faca8ed7> in <module>() 
     9  K.set_session(sess) 
    10  input_tensor=Input(shape=(h,w,ch)) 
---> 11  base_model=VGG16(input_tensor=input_tensor, include_top=False) 
    12  x_img=base_model.output 
    13  x_img=AveragePooling2D((7,7))(x_img) 

/Users/simin/anaconda/envs/IntroToTensorFlow/lib/python3.5/site-packages/keras/applications/vgg16.py in VGG16(include_top, weights, input_tensor) 
    144           TF_WEIGHTS_PATH_NO_TOP, 
    145           cache_subdir='models') 
--> 146    model.load_weights(weights_path) 
    147    if K.backend() == 'theano': 
    148     convert_all_kernels_in_model(model) 

/Users/simin/anaconda/envs/IntroToTensorFlow/lib/python3.5/site-packages/keras/engine/topology.py in load_weights(self, filepath, by_name) 
    2492   ''' 
    2493   import h5py 
-> 2494   f = h5py.File(filepath, mode='r') 
    2495   if 'layer_names' not in f.attrs and 'model_weights' in f: 
    2496    f = f['model_weights'] 

/Users/simin/anaconda/envs/IntroToTensorFlow/lib/python3.5/site-packages/h5py/_hl/files.py in __init__(self, name, mode, driver, libver, userblock_size, swmr, **kwds) 
    270 
    271     fapl = make_fapl(driver, libver, **kwds) 
--> 272     fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr) 
    273 
    274     if swmr_support: 

/Users/simin/anaconda/envs/IntroToTensorFlow/lib/python3.5/site-packages/h5py/_hl/files.py in make_fid(name, mode, userblock_size, fapl, fcpl, swmr) 
    90   if swmr and swmr_support: 
    91    flags |= h5f.ACC_SWMR_READ 
---> 92   fid = h5f.open(name, flags, fapl=fapl) 
    93  elif mode == 'r+': 
    94   fid = h5f.open(name, h5f.ACC_RDWR, fapl=fapl) 

h5py/_objects.pyx in h5py._objects.with_phil.wrapper (/Users/ilan/minonda/conda-bld/work/h5py/_objects.c:2696)() 

h5py/_objects.pyx in h5py._objects.with_phil.wrapper (/Users/ilan/minonda/conda-bld/work/h5py/_objects.c:2654)() 

h5py/h5f.pyx in h5py.h5f.open (/Users/ilan/minonda/conda-bld/work/h5py/h5f.c:1942)() 

OSError: Unable to open file (Truncated file: eof = 221184, sblock->base_addr = 0, stored_eoa = 58889256) 
+0

[有沒有hdf5設計者解決了與打開.hdf5文件有關的腐敗問題?](http://stackoverflow.com/questions/40186762/have-hdf5-designers-resolved-the-corruption-issue-related -to-開放HDF5文件) – Carpetsmoker

回答

2

有可能文件的下載失敗。

用以下文件替換無法打開的文件可能會解決該問題。我的情況, 該文件位於以下路徑中。 C:\ Users \ MyName \ .keras \ models \ vgg16_weights_tf_dim_ordering_tf_kernels.h5

我替換它並解決它。

相關問題