如何只加载一次深度学习模型,从而减少在Django中调用API时每次都加载模型的问题?

问题描述 投票:0回答:1

我正在尝试使用 Django 通过 API 加载大小大于 1 GB 的重型预训练模型。每次调用 API 时都会加载模型,这非常耗时。有什么办法可以解决这个问题吗?

我原本期望只加载模型一次,并且可以在调用 API 时使用方法。

django deep-learning
1个回答
0
投票

解决方案只需将模型加载到 apps.py 中,如下所示:

# myapp/apps.py
from django.apps import AppConfig
import torch

class MyAppConfig(AppConfig):
    # Load the pretrained model during application initialization
    model = torch.load('path_to_model.pth')

之后,在您的视图中,您可以像这样访问模型:

from .apps import MyAppConfig
model = MyAppConfig.model

[PS] 您还可以创建一个单例模型包装器,以确保仅创建一个模型实例并在 API 调用之间共享。

© www.soinside.com 2019 - 2024. All rights reserved.