如何解决Cloud Run / Docker加载大型文件以进行ML预测
我正在尝试通过Google Cloud Run上由Flask
驱动的Docker容器提供相当大的模型(1GB)。
我正在尝试找到加载pickle
/ joblib
模型文件的最佳方法-以减少容器启动时间。
由于不是在github源中包含选项,所以我现在唯一的想法是尝试使用Dockerfile
将其从gsutil
读入容器。
这将如何影响冷藏集装箱的启动时间?有没有更简单的方法可以做到这一点?
同样,在代码中调用joblib.load(model_file_path)
也不是一个好主意-因为加载可能需要30秒或更长时间。
解决方法
我的建议是建立带有模型的容器。您会赢得2件这样的事情:
- 启动时,您无需下载文件(节省启动时间)
- 您不必存储模型(有关信息,文件存储在内存文件系统中的/ tmp目录中,因此您可以在实例中使用内存空间),从而可以增加所需的内存(省钱,还有地球!)
但是,加载1Gb型号需要花费时间。即将推出一项功能(最小实例,该实例将保持最少数量的实例处于温暖状态,以防止冷启动,但这不是免费的!)
, Cloud Run具有一个内存中文件系统,要下载或使用1GB文件,您需要确保已为实例选择足够的内存。尝试使用4GiB
,请参阅docs to set memory limits
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。