python - 如何从对象检测 TensorRT 模型中提取步幅数和框范数?
问题描述
我在网上找到了一个 python 脚本代码来对作为对象检测模型的 trt 模型进行推理。代码正常工作。但我对这个参数的值有一些疑问:
- 步数
- 框标准化
- 宽度
- 高度
由于这些值取决于每个模型,因此
我想知道我们如何从代码中的 trt 模型中提取这些参数值?
任何帮助都会得到帮助
当将框转移到预定义的单元格时,推理代码的一部分在这里:
def _compute_grids(box_norm, stride):
grid_h = int(height / stride)
grid_w = int(width / stride)
grid_size = grid_h * grid_w
grid_centers_w = []
grid_centers_h = []
for i in range(grid_h):
value = (i * stride + 0.5) /box_norm
grid_centers_h.append(value)
for i in range(grid_w):
value = (i * stride + 0.5) / box_norm
grid_centers_w.append(value)
return grid_w, grid_w, grid_size, grid_centers_w, grid_centers_h
def _applyBoxNorm(o1, o2, o3, o4, x, y, grid_centers_w, grid_centers_h):
o1 = (o1 - grid_centers_w[x]) * -box_norm
o2 = (o2 - grid_centers_h[y]) * -box_norm
o3 = (o3 + grid_centers_w[x]) * box_norm
o4 = (o4 + grid_centers_h[y]) * box_norm
return o1, o2, o3, o4
解决方案
推荐阅读
- python - OpenCV 错误:参数“M”的预期 cv::UMat
- r - 在 R 中修改文本文档后创建相同的格式
- c# - EF:使用桥接表删除对象
- prolog - Prolog 变量名称以下划线开头,然后大写
- swift - 添加嵌套字典会导致 JSONSerialization 返回 nil
- hyperledger-fabric - Hyperledger Fabric 响应:状态:500 消息:“执行事务时执行事务超时超时”
- c# - XAML 更改 svg 的源路径
- angular - 来自具有两种不同操作的 reducer 的总和
- go - 使用 Youtube Data API V3 向 Youtube 视频添加(结束)卡片
- scala - 使用 IntelliJ idea 的 Scala 工作表作为 Apache Spark 的 Scala REPL