我正在使用从colab TPU实例中的GCS加载tfhub.dev模型
os.environ["TFHUB_CACHE_DIR"] = "gs://BUCKETNAME/model-cache-dir/"
with strategy.scope():
layer = hub.KerasLayer("https://tfhub.dev/google/inaturalist/inception_v3/feature_vector/4",trainable=True)
但这需要花费大量的时间近15分钟,而且我最后也得到了警告
WARNING:absl:Deleting lock file gs://BUCKETNAME/model-cache-dir/a6cc63f37ce9d4a026a90b8d56f20a387de46a3f.lock due to inactivity.
知道为什么吗
我的猜测:tensorflow有某种锁,因此只有一个会话可以编辑或修改缓存文件,但在完成其操作后,hub.KerasLayer不会删除导致不活动的锁
这可能是由于通过运行colab的机器将文件从GCS复制到GCS的延迟造成的
对于TFHUB\u CACHE\u DIR,有一种使用默认/tmp位置的方法可能更快。尝试不显式设置TFHUB\u CACHED\u DIR,而是使用实验性的\u io\u device='/job:localhost'将LoadOptions传递给hub.KerasLayer,例如
load_options=tf.saved_model.LoadOptions(实验性_io_设备='/job:localhost') layer=hub.KerasLayer(…,加载选项=加载选项)
相关问题 更多 >
编程相关推荐