解决 Python 中 'AttributeError: 'VOCDetection' object has no attribute 'cache'' 错误

这段代码出错是因为 VOCDetection 对象没有 cache 属性。要解决这个问题,可以检查代码中是否正确地为 VOCDetection 对象添加了 cache 属性。

如果 VOCDetection 对象应该具有 cache 属性,可以在 VOCDetection 类中添加一个 cache 属性,并在适当的地方进行初始化。

如果 VOCDetection 对象不需要 cache 属性,那么可以在 CacheDataset.__del__ 方法中添加一个条件来检查 self 是否为 VOCDetection 对象,以避免访问不存在的属性。

下面是一个可能的修复代码的示例:

class VOCDetection(Dataset):
    def __init__(self, ...):
        self.cache = None
        ...

class CacheDataset(Dataset):
    def __del__(self):
        if hasattr(self, 'cache') and self.cache and self.cache_type == "ram":
            ...

请根据实际情况进行调整和修改。


原文地址: https://www.cveoy.top/t/topic/paEa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录