文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
7.5 客户端应用
由于gRPC是基于HTTP/2的,将来可能会直接从浏览器调用基于gRPC的服务,但除非主流的浏览器支持所需的HTTP/2特性,且谷歌发布浏览器端的JavaScript gRPC客户端程序,从webapp访问推断服务都应当通过服务器端的组件进行。
接下来将基于BaseHTTPServer搭建一个简单的Python Web服务器,BaseHTTPServer将处理上载的图像文件,并将其发送给推断服务进行处理,再将推断结果以纯文本形式返回。
为了将图像发送到推断服务器进行分类,服务器将以一个简单的表单对GET请求做出响应。所使用的代码如下:
为了从Web App服务器调用推断功能,需要ClassificationService相应的Python protocol buffer客户端。为了生成它,需要运行Python的protocol buffer编译器:
它将生成包含了用于调用服务的stub的classification_service_pb2.py文件。
服务器接收到POST请求后,将对发送的表单进行解析,并用它创建一个Classification-Request对象。然后为这个分类服务器设置一个channel,并将请求提交给它。最后,它会将分类响应渲染为HTML,并送回给用户。
为了运行该服务器,可从该容器外部使用命令python client.py。然后,用浏览器导航到http://localhost:8080来访问其UI。请上传一幅图像并查看推断结果如何。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论