# 深度学习模型，下载部署efficientnet.h5

在调用与`efficientnet`相关的深度学习模型的时候，`keras`会自动下载网络模型h5文件。如果没有配置好URL就会报类似如下的错误：

```plaintext
Downloading data from https://storage.googleapis.com/keras-applications/efficientnet.h5
Exception: URL fetch failure on https://storage.googleapis.com/keras-applications/efficientnetb3_notop.h5: None -- [Errno -2] Name or service not known
```

这时两种选择，一种是配好URL，另一种是直接替`keras`下载h5文件。有些企业内部服务器是不允许访问公网，所以这里我们推荐使用第二种方式，即先下载好`keras`的h5文件。

我们在可以访问公网的机器上部署程序时发现程序会自动下载`keras`的h5文件并默认存储为`~/.keras/models/efficientnetb3_notop.h5` 。

这样一来，我们将本地的`~/.keras` 目录拷贝到最终部署程序的服务器上，程序检测到本地已有的`keras`配置后就可以绕过`efficientnet.h5`文件的下载。建议将`~/.keras` 目录拷贝定义在Docker基础镜像文件中。

**注意一定要完整复制**`~/.keras` **目录而不是仅**`efficientnet.h5`**文件，否则仍会下载**`efficientnet.h5`**文件且会因为**`~/.keras` **目录非空报错。**
