xiuqhou / Salience-DETR

[CVPR 2024] Official implementation of the paper "Salience DETR: Enhancing Detection Transformer with Hierarchical Salience Filtering Refinement"
https://arxiv.org/abs/2403.16131
Apache License 2.0
109 stars 7 forks source link

[Bug]: ModuleNotFoundError: No module named 'fvcore.common' #24

Open Free-ToT opened 1 month ago

Free-ToT commented 1 month ago

Bug

配置好环境后报错ModuleNotFoundError: No module named 'fvcore.common' misc.py文件报错在'init_.py'中找不到引用'common':16未解析的引用'PathManager' :16未解析的引用'pygments' :113未解析的引用'Terminal256Formatter' :113未解析的引用'pygments':114未解析的引用'Python3Lexer':114未解析的引用'YamlLexer' :114

环境信息

环境按照官方引导配置在RTX4060 Windows系统上

补充信息

No response

xiuqhou commented 1 month ago

有原始输出的报错信息吗?可能是fvcore版本不对,用下面命令升级版本试试:

pip install -U 'git+https://github.com/facebookresearch/fvcore'
Free-ToT commented 1 month ago

Traceback (most recent call last): File "E:\Salience-DETR\main.py", line 16, in from util.collate_fn import collate_fn File "E:\Salience-DETR\util\collate_fn.py", line 5, in from util.misc import to_device File "E:\Salience-DETR\util\misc.py", line 16, in from fvcore.common.file_io import PathManager ModuleNotFoundError: No module named 'fvcore.common'

xiuqhou commented 1 month ago

升级fvcore版本后问题还存在吗?我是用的fvcore版本是0.1.5.post20221221版本,如果还不行可以试试我用的版本:

pip install fvcore==0.1.5.post20221221
Free-ToT commented 1 month ago

还是不行,用你的版本也不行,我下来再找找原因吧 谢谢

xiuqhou commented 1 month ago

我单独把fvcore.common相关的部分摘出来了,你可以用下面的代码替换util.logger.py前10行的import部分,应该能解决这个问题。

import atexit
import functools
import logging
import os
import re
import sys

from accelerate.logging import get_logger
from iopath.common.file_io import HTTPURLHandler, OneDrivePathHandler
from iopath.common.file_io import PathManager as PathManagerBase
from termcolor import colored

PathManager = PathManagerBase()
PathManager.register_handler(HTTPURLHandler())
PathManager.register_handler(OneDrivePathHandler())
Free-ToT commented 1 month ago

按照你的方法修改后,还是原来的问题,util.misc.py中import部分报错 Traceback (most recent call last): File "E:\Salience-DETR\main.py", line 16, in from util.collate_fn import collate_fn File "E:\Salience-DETR\util\collate_fn.py", line 5, in from util.misc import to_device File "E:\Salience-DETR\util\misc.py", line 16, in from fvcore.common.file_io import PathManager ModuleNotFoundError: No module named 'fvcore.common'

xiuqhou commented 1 month ago

代码中有两处用到了fvcore.common,现在我都改过来了,请用最新版仓库代码试一试。