如何在执行Python脚本时将大数据(高效地)缓存在复杂变量中的内存中



我正试图调用(来自Java Spring Bean(包含经过训练的神经网络的Python Pytorch脚本以供使用:我的Pytorch神经网络是接受状态、编码并返回动作的神经函数,根据学习/训练的策略解码所有这些。

所以,每次当我试图调用Python脚本时,我都应该构造torch.nn,从一些外部存储(DB、文件(加载权重和偏差,然后执行这个nn来获得单个答案,这是一个非常昂贵的操作。

如何将torch.nn实例(带有加载的权重和偏差(保存在内存中,并使其在每次执行Python脚本时立即可用

Memcached不是解决方案,因为它只能保留字符串或二进制值,并且序列化和反序列化torch.nn实例的成本相当高。一个建议是Tensorflow Serving,我目前正在研究它,所以——我还不知道这是否是答案。

Tensorflow很可能有一些缓存技术,我也可以用于Pytroch?

如果我正确理解您的用例,您需要的是一个模型服务器,它可以保持模型加载,理想情况下还可以处理不正确数据的任何异常。

将推理脚本转换为类似tensorflow的可调用服务的一种相当简单的方法是python库flask。另一种方式似乎是一种名为torchserve的新工具。

最新更新