我想将我的Keras NER模型放到基于Django的网站上。
我的问题是,投放后,该模型应该在CPU还是GPU上运行?假设GPU不能像CPU一样执行多线程处理,那么如何处理数百个用户同时发送请求。
感谢您的时间。
答案 0 :(得分:0)
“数百名用户”将需要使用GPU。
了解用户的操作可能会提供更多的见解,但我会考虑为您的模型准备一个专用的实例。设计一个持久的小程序,并使用队列策略等待输入数据。
比方说,您有100个用户为您的ner模型上传“文本文档”。您的Web应用程序将收集/验证文本上传/发布,并建立与模型服务器的套接字连接,传递文本,接收响应,解析响应并相应地响应用户。
您的模型服务器具有一个套接字侦听器,该侦听器在连接后会将套接字+数据请求传递到队列。您的模型坐下来等待...看着那个队列-取出队列中的任何项目,处理并通过附带的套接字(序列化句柄)将结果传递回去。它在python中有点混乱,但效果很好。 运行持久模型的原因: 1)对于“ 100个”用户,每次启动一个模型应用程序都需要几秒钟。将其初始化并准备好使用将有助于用户体验。 2)使用一台gpu服务器,您不希望竞争gpu资源。