该方法是在国外网站中找到的,并没有完全按照原文翻译,而是按着步骤意思去写的
1、找到模型链接
在tfhub.dev中找到你需要的模型链接,例如:https://tfhub.dev/google/imagenet/inception_v1/feature_vector/1
2、找到模型真实下载地址
替换tfhub.dev
为storage.googleapis.com/tfhub-modules
,并且在末尾加上后缀.tar.gz
,这个地址就是真实的模型下载地址,上述地址替换后变为:https://storage.googleapis.com/tfhub-modules/google/imagenet/inception_v1/feature_vector/1.tar.gz
3、设置缓存
在加载tfhub模型前,设置一下环境变量,代码如下
os.environ["TFHUB_CACHE_DIR"] = '/tmp/tfhub'
调用代码计算出模型的hash值
import hashlib
handle = "https://tfhub.dev/google/imagenet/inception_v1/feature_vector/1"
hashlib.sha1(handle.encode("utf8")).hexdigest()
以上代码将输出一个hash值,例如
f002061d9dee6acda3f90d591a65dbab7627f665
最后,在你设置的tfhub缓存目录中建立一个文件夹,文件夹名称就是刚刚计算出来的hash值,然后将下载的1.tar.gz
解压出来,放到刚刚新建的目录中即可,你的文件目录结构应该是这样的
/ # your cache directory
/f002061d9dee6acda3f90d591a65dbab7627f665/ # a module folder
/assets/
/variables/
/saved_model.pb
/tfhub_module.pb
现在就可以离线使用该模型了,enjoy!