如何在Keras中更改预先训练模型的默认下载目录?

Sun*_*nil 7 pip virtualenv keras

根据文档,它说所有Keras文件的默认下载目录是$HOME/.keras.我正在使用虚拟环境,我想将预先训练的模型的默认下载目录更改为其他目录.也许这与virtualenv有关,而不是与Keras有关?

小智 5

如果使用的是keras的master分支,可以通过设置KERAS_HOME环境变量来设置缓存目录。如果未设置,缓存目录默认为$HOME/.keras.

export KERAS_HOME="/path/to/keras/dir"
Run Code Online (Sandbox Code Playgroud)

将这一行添加到“.bashrc”中,以便在每次打开新终端时设置变量。

目前尚未发布,必须使用 master 分支才能使用此功能。


Yil*_*ang 2

根据文件

签名:ResNet50(include_top=True,weights='imagenet',input_tensor=None,input_shape=None,pooling=None,classes=1000)

没有参数来指定在哪里下载预训练的模型权重。

(1) 您可以做的是在从终端下载文件后将文件移动到您想要的位置mvhttps://www.macworld.com/article/2080814/master-the-command-line-copying -and-moving-files.html)。


更新:我去检查了 Keras 的 github 存储库(https://github.com/keras-team/keras/blob/master/keras/applications/resnet50.py)并找到了权重的链接。对于resnet:

WEIGHTS_PATH = 'https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels.h5'
WEIGHTS_PATH_NO_TOP = 'https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5'
Run Code Online (Sandbox Code Playgroud)

您可以使用任何方法(即urllib)将这些权重直接下载到您的文件系统。

  • @Sunil 路径 `~/.keras` 是硬编码的,但它不一定是目录。它可以是指向有足够空间的目录的符号链接。 (3认同)