2017-08-10 96 views
3

我试着运行keras模型,试图用预先训练VGGnet- 当我运行此命令 base_model = applications.VGG16(weights='imagenet', include_top=False, input_shape=(img_rows, img_cols, img_channel))负载权重需要h5py

我得到这个错误:

``------------------------------------------------------------------ 
--------- 
ImportError        Traceback (most recent call 
last) 
<ipython-input-79-9b18deb3bc0f> in <module>() 
    1 
----> 2 base_model = applications.VGG16(weights='imagenet', 
include_top=False, input_shape=(img_rows, img_cols, img_channel)) 

/usr/local/lib/python3.5/dist-packages/keras/applications/vgg16.py in 
VGG16(include_top, weights, input_tensor, input_shape, pooling, 
classes) 
167          WEIGHTS_PATH_NO_TOP, 
168          cache_subdir='models') 
--> 169   model.load_weights(weights_path) 
170   if K.backend() == 'theano': 
171    layer_utils.convert_all_kernels_in_model(model) 

/usr/local/lib/python3.5/dist-packages/keras/engine/topology.py in 
load_weights(self, filepath, by_name) 
    2563   """ 
    2564   if h5py is None: 
-> 2565    raise ImportError('`load_weights` requires h5py.') 
    2566   f = h5py.File(filepath, mode='r') 
    2567   if 'layer_names' not in f.attrs and 'model_weights' in f: 

ImportError: `load_weights` requires h5py.`` 

我经历了一些github问题页面提出了相关问题,但没有给出解决方案。 有什么建议吗?如果使用畅达

pip install h5py 

或者:

回答

6

安装h5py

conda install h5py 
+1

我试过了,但仍然抛出相同的错误 – Ryan

+0

@Ryan检查你的Python路径:'echo $ PYTHONPATH'。它可以防止它被加载。之后,你使用conda?如果是这样,请检查您是否处于正确的环境中。 – Y0da

+0

我该如何检查我的Python路径? – Ryan

0

技术上需要依赖关系,如:

pip install cython 
sudo apt-get install libhdf5-dev 
pip install h5py 

,并重新启动jupyter notebok。