感光术:一个深度学习推理原型设计和调试工具包
项目描述
# 感光术:一个深度学习推理原型设计和调试工具包
## 目录
[介绍](#introduction)
[安装](#installation)
[命令行工具](#command-line-toolkit)
[Python API](#python-api)
[示例](#examples)
[指南](#how-to-guides)
[贡献](#contributing)
## 介绍
感光术是一个设计用来帮助在不同框架中运行和调试深度学习模型的工具包。它包括一个[Python API](./polygraphy)和一个使用此API构建的[命令行界面(CLI)](./polygraphy/tools)。
感光术让您能够
- 在多个后端之间运行推理,例如TensorRT和ONNX-Runtime,并比较结果
(示例:[API](examples/api/01_comparing_frameworks/), [CLI](examples/cli/run/01_comparing_frameworks/))
- 将模型转换为各种格式,例如带后训练量化的TensorRT引擎
(示例:[API](examples/api/04_int8_calibration_in_tensorrt/), [CLI](examples/cli/convert/01_int8_calibration_in_tensorrt/))
- 查看关于各种类型模型的详细信息
(示例:[CLI](examples/cli/inspect/))
- 在命令行中修改ONNX模型
提取子图(示例:[CLI](examples/cli/surgeon/01_isolating_subgraphs/))
简化和消毒(示例:[CLI](examples/cli/surgeon/02_folding_constants/))
- 隔离TensorRT中的错误策略
(示例:[CLI](examples/cli/debug/01_debugging_flaky_trt_tactics/))
## 安装
- 重要:感光术仅支持Python 3.6及以后版本。
在执行以下说明之前,请确保您使用的是支持的Python版本。
### 安装预构建轮
`bash python -m pip install colored polygraphy --extra-index-url https://pypi.ngc.nvidia.com `
- 注意: 在Linux上,命令行工具默认安装到`${HOME}/.local/bin`。
请确保将此目录添加到您的`PATH`环境变量中。
### 从源码构建
#### 使用Make目标(Linux)
`bash make install `
#### 使用PowerShell脚本(Windows)
确保您有权在系统上执行脚本,然后运行:`ps .\install.ps1`
#### 手动构建
安装依赖项
` python -m pip install wheel `
构建wheel
` python setup.py bdist_wheel `
从外部仓库手动安装wheel
在Linux上,运行
` python -m pip install Polygraphy/dist/polygraphy-*-py2.py3-none-any.whl`
在Windows上,使用PowerShell,运行
`ps $wheel_path = gci -Name Polygraphy\dist python -m pip install Polygraphy\dist\$wheel_path`
注意: 强烈建议安装Polygraphy的`colored`模块以获得彩色输出,因为这可以大大提高可读性: ` python -m pip install colored `
### 安装依赖项
Polygraphy不硬性依赖于其他Python包。然而,其中包含的许多功能确实需要其他Python包。
#### 自动安装依赖项
在事先确定所有需要的包是非平凡的,因为这取决于确切使用哪些功能。
为了使这更容易,Polygraphy可以自动安装或升级运行时所需的依赖项。要启用此行为,将环境变量POLYGRAPHY_AUTOINSTALL_DEPS设置为1或使用Python API设置polygraphy.config.AUTOINSTALL_DEPS = True。
- 注意: 默认情况下,依赖项将使用当前解释器进行安装,并可能覆盖现有
包。默认安装命令`python -m pip install`可以通过设置环境变量`POLYGRAPHY_INSTALL_CMD`或使用Python API设置`polygraphy.config.INSTALL_CMD`来覆盖。
如果您希望在自动安装或升级包之前提示Polygraphy,请使用Python API设置环境变量POLYGRAPHY_ASK_BEFORE_INSTALL为1或设置polygraphy.config.ASK_BEFORE_INSTALL = True。
#### 手动安装
每个backend目录都包含一个requirements.txt文件,它指定了它所依赖的最小包集。这并不一定包括后端提供所有功能的所需所有包,但可以作为良好的起点。
您可以使用以下命令安装您感兴趣的任何后端的依赖项:`bash python -m pip install -r polygraphy/backend/<name>/requirements.txt`
如果需要额外的包,将记录警告或错误。您可以使用以下命令手动安装额外的包:`bash python -m pip install <package_name>`
## 命令行工具包
有关Polygraphy工具包中包含的各种工具的详细信息,请参阅[CLI用户指南](./polygraphy/tools)。
### Python API
有关Polygraphy Python API的更多信息,包括高级概述和Python API参考文档,请参阅[API目录](./polygraphy)。
## 示例
有关CLI和Python API的示例,请参阅[示例目录](./examples)。
## 指南
有关指南,请参阅[指南目录](./how-to)。
## 贡献
有关如何为此项目做出贡献的信息,请参阅[CONTRIBUTING.md](./CONTRIBUTING.md)
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。