gpt4 book ai didi

python - 如何通过fast-api监控服务器上运行的模型训练状态

转载 作者:行者123 更新时间:2023-12-05 04:23:39 24 4
gpt4 key购买 nike

通过下面的代码,我想获取训练的状态,即开始时和结束时。

app = FastAPI()

@app.post("/train")
async def train_on_background():
background_tasks.add_task(train, input_data, output_data)




def train(input_data, output_data):
dataset = prepare_dataset(input_data, output_data)

model = Trainer(dataset)
model.auto_train()


filename = "Model"
filename = filename + ".pkl"
dump(model, open(filename, 'wb'))

train() 函数应该通过几个步骤来训练模型。 train_on_background() 应该在后台运行训练函数。

我想添加一个单独的命令来检查训练状态。该命令应在训练开始时响应开始(调用 train() 函数),并在 train() 函数结束时响应。

最佳答案

您的问题的解决方案是制作一个包含 train() 状态的临时文件:

@app.get(“/check”)
def check():
filename = “Model”
filename = filename + “.pkl”
file_exists = os.path.exists(filename)
if file_exists:
return {“message”: “Model Already Exists”}
elif (os.path.exists(f”temp_monitor.txt”)):
return {“message”: “Training in progress...“}
def monitor_file(text):
if text is None:
os.remove(f”temp_monitor.txt”)
else:
with open(f’temp_monitor.txt’, ‘w’) as f:
f.write(text)

这 2 个函数用于创建包含当前训练状态的临时文件。 check 命令查找模型(如果存在)以完成响应。

如果模型不存在,它会查找临时文件,并通过 training in progress 响应,表明训练已经开始。

def train(input_data, output_data):4
dataset = prepare_dataset(input_data, output_data)
monitor_file(“started”)
model = Trainer(dataset)
model.auto_train()

修改您的train 函数以保存当前状态。

请注意,您可以使用此方法保存您想要的任何状态并使用检查命令进行检查。

关于python - 如何通过fast-api监控服务器上运行的模型训练状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73678481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com