从 GCS 在 Tensorflow TPU 中加载 tfdev.hub 个模型
loading tfdev.hub models in Tensorflow TPU from GCS
我正在使用
在 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_CACHE_DIR 使用默认 /tmp 位置的方法可能会更快。尝试不显式设置 TFHUB_CACHED_DIR,而是使用 experimental_io_device='/job:localhost' 将 LoadOptions 传递给 hub.KerasLayer,例如
load_options = tf.saved_model.LoadOptions(experimental_io_device='/job:localhost')
图层 = hub.KerasLayer(..., load_options=load_options)
我正在使用
在 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_CACHE_DIR 使用默认 /tmp 位置的方法可能会更快。尝试不显式设置 TFHUB_CACHED_DIR,而是使用 experimental_io_device='/job:localhost' 将 LoadOptions 传递给 hub.KerasLayer,例如
load_options = tf.saved_model.LoadOptions(experimental_io_device='/job:localhost') 图层 = hub.KerasLayer(..., load_options=load_options)