AWS Lambdaでtimm.create_modelでのpre-trainedモデルダウンロードでRead-only file systemと言われる
公開日:
更新日:
PyTorchのスクリプトをLambdaでAPI化しているときのお話です
Lambdaで書き込み可能な領域は /tmp 配下のみです
ということで、スクリプト上には
torch.hub.set_dir("/tmp")
と書いているのですが、返ってくるエラーが
[ERROR] OSError: [Errno 30] Read-only file system: '/home/sbx_userXXXX'
という感じ
PyTorchのドキュメントによると、Where are my downloaded models saved? というセクションに以下のように書かれています
The locations are used in the order of
- Calling hub.set_dir(
) - $TORCH_HOME/hub, if environment variable TORCH_HOME is set.
- $XDG_CACHE_HOME/torch/hub, if environment variable XDG_CACHE_HOME is set.
- ~/.cache/torch/hub
問題ないはずなのだけど…
ということで、本記事を書いている時点ではまだ未解決なのでした
解決しました!
timmの現在のバージョンでは、torch.hub.set_dirが効かないようです
環境変数 HUGGINGFACE_HUB_CACHE に/tmpを設定することで通るようになりました
How can i change the path of pre-train models cache? #790