我一直在尝试使用来自tf-hub https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/2的BERT模型。
import tensorflow_hub as hub
bert_layer = hub.keras_layer('./bert_en_uncased_L-12_H-768_A-12_2', trainable=True)
字符串
但问题是,它是下载数据后,每次运行。
所以我从tf-hub https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/2下载了.tar文件
现在我尝试使用这个下载的tar文件(untar之后)
我已经遵循本教程https://medium.com/@xianbao.qian/how-to-run-tf-hub-locally-without-internet-connection-4506b850a915
但它并没有很好地工作,并没有进一步的信息或脚本是在这篇博客文章提供
如果有人可以提供完整的脚本,在本地使用下载的模型(没有互联网)或可以改善上述博客文章(中等)。
我也试过
untarredFilePath = './bert_en_uncased_L-12_H-768_A-12_2'
bert_lyr = hub.load(untarredFilePath)
print(bert_lyr)
型
输出
<tensorflow.python.saved_model.load.Loader._recreate_base_user_object.<locals>._UserObject object at 0x7f05c46e6a10>
型
好像不管用。
有没有其他方法可以做到这一点?
5条答案
按热度按时间du7egjpx1#
嗯,我不能重现你的问题。对我有效的是:
第一个月
字符串
test.py
个型
sgtfey8w2#
我使用这篇中型文章(https://medium.com/@xianbao.qian/how-to-run-tf-hub-locally-without-internet-connection-4506b850a915)作为参考编写了这个脚本。我在我的项目中创建了一个缓存目录,tensorflow模型被缓存在这个缓存目录中,我可以在本地加载模型。希望这对你有帮助。
字符串
sh7euo9m3#
在从tf-hub团队获得信息后,他们提供了这个解决方案。假设你已经从tf-hub官方模型页面下载了. tar.gz文件。你已经解压缩了它。你得到了一个包含资产,变量和模型的文件夹。你把它放在你的工作目录中。
在脚本中,只需添加该文件夹的路径:
字符串
希望它也能对你起作用。给予试试吧
slhcrj9b4#
tensorflow_hub库将下载和未压缩的模型缓存在磁盘上,以避免重复上传。tensorflow.org/hub/caching上的文档已经扩展到讨论这种情况和其他情况。
mnemlml85#
我发现模块下载到:/tmp/tfhub_modules