【发布时间】:2025-12-15 12:40:01
【问题描述】:
我在 EC2 上进行了手动扩展设置,我在其中基于已在启动时运行我的代码(使用 Systemd)的 AMI 创建实例。我面临一个基本问题:在主实例上(我用来创建 AMI 的实例,启动映像后 Python 代码需要 8 秒才能准备好,这包括导入库、加载模型的状态字典等。 ..)。现在,在我使用 AMI 创建的图像上,代码第一次启动需要 5 分钟以上,将状态字典从磁盘加载到 GPU 内存需要特别长的时间,在第一次代码所花费的时间与要加载的主实例。
AMI 保留与主实例相同的 pycache 文件夹,因此我认为 AMI 应该包含所有内容,所以它不应该花费太多时间,不是吗?所以,我的问题是:是否有任何其他缓存可以使 CUDA / Python 更快,我没有考虑到?我只保留 pycache/ 文件夹,但我不知道我是否可以做任何事情来确保第一次启动所有东西不会花费太多时间。这是我的主要结构:
# Import libraries
import torch
import numpy as np
# Import personal models (takes 1 minute)
from model1 import model1
from model2 import model2
# Load first model
model1_object = model1()
model2_object = model2()
# Load state dicts (takes 3+ minutes, the first time in new instances, seconds other times)
# Note: the models are a bit heavy
model1_object.load_state_dict(torch.load("model1.pth"))
model2_object.load_state_dict(torch.load("model2.pth"))
注意:我正在使用 g4dn.xlarge 实例,用于 AWS 中的主实例和较新的实例。
【问题讨论】:
标签: python amazon-ec2 pytorch