【问题标题】:Object Detection Django Rest API Deployment on Google Cloud Platform or Google ML EngineGoogle Cloud Platform 或 Google ML Engine 上的对象检测 Django Rest API 部署
【发布时间】:2019-12-15 21:15:05
【问题描述】:

我开发了 Django API,它接受来自 livefeed 相机的图像,使用 base64 的形式作为请求。然后,在 API 中,此图像被转换为​​ numpy 数组以传递给机器学习模型,即使用 tensorflow 对象 API 进行对象检测。响应是检测到的对象的简单文本。

我需要基于 GPU 的云实例,我可以在其中部署此应用程序以进行快速处理以实现实时结果。我搜索了很多,但没有找到这样的资源。我相信谷歌云控制台(实例)可以连接到实时 API,但我不确定具体如何。

谢谢

【问题讨论】:

    标签: django google-app-engine google-cloud-platform computer-vision object-detection


    【解决方案1】:

    我假设您在本地或托管 Django 应用程序的任何地方使用 GPU。

    首先要确保您使用的是tensorflow-gpu,并且已完成Cuda 的所有必要设置。

    您可以在 Google Cloud Platform (GCP) 上轻松启动您的 GPU 实例。有多种方法可以做到这一点。

    快速选项

    • 搜索 notebooks 并使用所需的 GPU 启动一个新实例,然后 内存。
    • 如果您需要一些特定的操作系统并在选择机器时更灵活,您可以单独设置实例,而不是笔记本实例。
    • 要使用ssh 访问实例,只需添加您的 ssh 公钥 打开实例详细信息时可以看到的元数据。
    • 像在服务器上一样设置 Django。要对其进行测试,只需在主机 00.0.0.0 和首选端口上进行调试即可。
    • 您可以通过机器的外部IP访问API,可以在实例详细信息页面中找到。

    一些建议

    • 虽然第一个选项既快又脏,但不建议在生产中使用它。
    • 最好配合 Kubeflow 使用一些部署服务,例如 tensorflow-serving
    • 如果您认为自己正确地处理了推理,请确保正确地对服务器进行负载平衡。使用 NGINX 或任何其他好的服务器以及 gunicorn/uwsgi。
    • 您可以使用 redis 进行队列管理。当有人调用 API 时,GPU 不一定可用于推理。当您每秒对 API 的点击次数非常少时,最好不要使用它。但是当我们考虑扩展时,想想每秒 50 个请求,单个 GPU 一次无法处理,我们可以使用队列系统。
    • 所有的请求都应该先直接到redis,GPU从队列中取出需要完成的工作。如果需要,您可以随时扩展 GPU。

    【讨论】:

      【解决方案2】:

      Google Cloud 实际上提供 Cloud GPU。如果您希望使用需要实时功能的应用程序执行更高级别的计算,我建议您查看以下链接以获取更多信息。 https://cloud.google.com/gpu/

      Compute Engine 还提供可添加到您的虚拟机实例的 GPU。使用 GPU 加速您的实例上的特定工作负载,例如机器学习和数据处理。 https://cloud.google.com/compute/docs/gpus/

      但是,如果您的应用程序需要大量资源,则需要增加配额以确保项目中有足够的 GPU 可用。确保选择 GPU 可用的区域。如果这需要更多的计算能力,您需要提交增加配额的请求。 https://cloud.google.com/compute/docs/gpus/add-gpus#create-new-gpu-instance

      由于您将在 ML Engine 上为您的应用程序使用 Tensorflow API,我建议您查看下面的此链接。它提供了使用 TensorFlow 和其他预安装工具创建深度学习 VM 实例的说明。 https://cloud.google.com/ai-platform/deep-learning-vm/docs/tensorflow_start_instance

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-24
        • 2018-10-03
        • 1970-01-01
        • 2016-12-19
        • 1970-01-01
        • 2018-12-15
        • 2021-09-25
        • 1970-01-01
        相关资源
        最近更新 更多