这是比较简单的模式
先通过flask创建一个api服务
还没怎么写过后端api的可以借鉴这个
python flask api基础的生产级别的需要的知识
编写AI模型功能
编写一个文件夹,在里面编写功能
在路由的函数里面调用AI模型功能
启动并发功能
gunicorn启动
bug
后多个子进程会启动,每一个子进程的ai模型占了显存,但是没有并发响应。
分析:在同一个GPU里面启动多个ai模型实例,由于gpu context 的原因。导致只有一个进程能响应,其他不行,(期待更近一步的分析)
解决:
1模型在一个gpu里面进程并发的问题(后面解决)
2在多个GPU里面启动隔离开来
在gunicorn里面启动进程的时候添加启动钩子,根据启动进程的pid获取到空闲的 gpu id,然后设置不可选取状态。并且在关闭进程的时候,把gpu id的状态设置为空闲。