DeepStream 库 (开发者预览)#
DeepStream 库提供 CVCUDA、NvImageCodec 和 PyNvVideoCodec 模块作为 Python API,以便轻松集成到自定义框架中。开发人员可以使用完全加速的组件,利用直观的 Python API 构建完整的 Python 应用程序。大多数 DeepStream 库构建块及其 Python API 现在都以独立软件包的形式提供。DeepStream 库为 Python 开发人员提供了一种使用单个安装程序安装这些软件包的方法。所有这些软件包都基于相同的 CUDA 版本构建,并已通过指定的驱动程序版本验证。提供了参考应用程序来演示 Python API 的用法。
DeepStream 库安装#
从 NGC 下载 DeepStream 库 wheel 文件。
从此 NGC 链接 下载 wheel 文件
安装 DeepStream 库软件包。
$ pip3 install deepstream_libraries-1.1-cp310-cp310-linux_x86_64.whl
DeepStream 库存储库设置#
要运行 示例应用程序,请按照以下步骤操作
克隆 DeepStream 库存储库。
$ git clone https://github.com/NVIDIA-AI-IOT/deepstream_libraries.git $ cd deepstream_libraries
安装依赖项。
安装示例应用程序所需的所有依赖软件包
$ sudo sh scripts/install_dependencies.sh
下载测试文件
下载图像/视频以运行示例应用程序
$ sh scripts/download_data.sh
DeepStream 库 API 入门#
我们可以使用 DeepStream 库 API 来创建应用程序。
考虑以下参考示例
使用 NvImageCodec 从给定的文件路径读取图像
使用 CVCUDA 和指定尺寸和三次插值方法调整图像大小
使用 NvImageCodec 保存调整大小后的图像
# Import necessary libraries import cvcuda from nvidia import nvimgcodec # Create Decoder decoder = nvimgcodec.Decoder() # Read image with nvImageCodec inputImage = decoder.read("path/to/image.jpg") # Pass it to cvcuda using as_tensor nvcvInputTensor = cvcuda.as_tensor(inputImage, "HWC") # Resize with cvcuda to 320x240 cvcuda_stream = cvcuda.Stream() with cvcuda_stream: nvcvResizeTensor = cvcuda.resize(nvcvInputTensor, (320, 240, 3), cvcuda.Interp.CUBIC) nvcvResizeTensor.cuda().__cuda_array_interface__ # Write with nvImageCodec encoder = nvimgcodec.Encoder() output_image_path = "output.jpg" encoder.write(output_image_path, nvimgcodec.as_image(nvcvResizeTensor.cuda(), cuda_stream = cvcuda_stream.handle))
示例应用程序#
应用程序 |
描述 |
---|---|
分类 |
一个 CUDA 加速的图像和视频分类管道,集成了 PyTorch 或 TensorRT,可在 NVIDIA GPU 上实现高效处理 |
对象检测 |
使用带有 TensorFlow 或 TensorRT 的 CV-CUDA 库进行 GPU 加速对象检测 |
分割 |
通过利用带有 PyTorch 或 TensorRT 的 CV-CUDA 库实现 GPU 加速语义分割 |
调整图像大小 |
一个示例应用程序,使用 CVCUDA 和 NvImageCodec Python API 解码、调整大小和编码图像 |
解码视频 |
使用 PyNvVideoCodec 解码 API 解码编码的比特流 |
编码视频 |
使用 PyNvVideoCodec 编码 API 编码原始 YUV 文件 |
转码视频 |
使用 PyNvVideoCodec API 转码视频文件 |
其他参考资料和应用程序#
有关更多参考资料和应用程序,请参阅以下链接