You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

StrongSORT调用class_id.int()报错:numpy.int64无int属性

解决StrongSORT调用tracker.update时的AttributeError错误

问题根源

错误出在strong_sort/sort/track.py第269行的self.class_id = class_id.int():你传入的classes数组元素是numpy.int64类型,而.int()是PyTorch张量的专属方法,numpy数值类型没有这个属性,导致类型不匹配报错。

解决方法

修改生成classes的代码,将元素转换为Python原生整数类型,或者转换为PyTorch张量,二选一即可:

方法1:生成Python原生整数列表(推荐)

把原来的numpy数组改为普通列表,或者将numpy元素强制转为int:

# 方式A:直接生成列表而非numpy数组
classes = [class_id_mapping.get(class_label, default_class_id) for class_label in labels]

# 方式B:保持numpy数组但转成原生int
classes = np.array([int(class_id_mapping.get(class_label, default_class_id)) for class_label in labels])

方法2:转换为PyTorch张量(如果StrongSORT预期张量输入)

如果跟踪器内部需要PyTorch张量类型,就将classes转为tensor:

import torch
classes = torch.tensor([class_id_mapping.get(class_label, default_class_id) for class_label in labels])

验证修改

修改后重新调用tracker.update(bboxes_xywh,pred.confidence,classes,og_frame),即可解决AttributeError: 'numpy.int64' object has no attribute 'int'的问题。

内容的提问来源于stack exchange,提问作者Anika1683

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 06:52:52