我正在寻找AWS Lambda来创建一个处理数据的Python函数。 我需要加载一个重型模型来运行我的脚本(训练有素的word2vec模型),例如,在我的计算机上执行它需要大约5分钟。但是一旦加载,该函数的执行速度非常快。 如果我使用AWS Lambda,这个模型只会加载一次,还是每次调用我的函数时都会加载?
谢谢,
答案 0 :(得分:0)
每次调用Lambda时,它都会加载(感谢Michael-sqlbot进行更正)。
我们可以根据以下内容推断AWS Lambdas是无状态的
“Lambda函数是'无状态',与底层基础架构没有任何关联性,因此Lambda可以根据需要快速启动该函数的多个副本,以扩展到传入事件的速率
Lambda must be coded in stateless style
您的Lambda函数代码必须以无状态样式编写,并且与底层计算基础结构没有任何关联。您的代码应该期望本地文件系统访问,子进程和类似工件仅限于请求的生命周期
然而Container reuse is possible in Lambda
如果您没有更改代码并且没有太多时间过去,Lambda可能会重复使用以前的容器
所以基本上回答你的问题,有可能你回到模型,并且它的概率与2个Lambda调用之间的时间跨度成反比。但你根本不能依赖那个
答案 1 :(得分:0)
也许
AWS Lambda使用可重复使用的容器。因此,对于您的用例,如果Lambda函数发生在已经初始化的容器中,它将快速执行。否则它会很慢。但是,你无法预测行为。
相关文件: