Traceback (most recent call last): File "main.py", line 255, in <module> main(args) File "main.py", line 221, in main test_stats, coco_evaluator = evaluate( File "/public/home/ac2ax5rex7/miniconda3/envs/detr/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context return func(*args, **kwargs) File "/public/home/ac2ax5rex7/projects/lift/detr/engine.py", line 77, in evaluate coco_evaluator = CocoEvaluator(base_ds, iou_types) TypeError: __init__() takes 2 positional arguments but 3 were given
时间: 2024-01-18 20:02:42 浏览: 68
这个错误是由于调用 CocoEvaluator 类的 __init__() 方法时,传递的参数个数不正确。根据错误信息,这个类的构造函数只接受两个位置参数,但是调用时传递了三个参数导致错误。
可能的原因是,你在调用 CocoEvaluator 类时传递了不正确的参数。建议检查一下 CocoEvaluator 类的文档,确保你传递的参数个数和类型都是正确的。你可以通过查看源代码或者官方文档来找到正确的参数列表,并确保你传递的参数与文档中描述的一致。
相关问题
Traceback (most recent call last): File "main.py", line 409, in <module> run_experiment(args) File "main.py", line 266, in run_experiment loss_e = model.get_loss(history_glist, output[0], static_graph, history_tail_seq, one_hot_tail_seq, use_c
引用\[1\]和\[2\]是关于将pth文件转换为onnx文件时使用的错误代码。根据这些引用,错误代码是使用了错误的命令行参数。具体来说,命令行参数中的"--output name"应该是"--output",而不是"--output name"。这可能导致了转换过程中的错误。引用\[3\]是关于转换过程中捕获到的错误。根据这个引用,错误是在运行"main.py"文件时发生的,具体是在"run_experiment"函数中的某个地方。然而,由于引用的内容不完整,无法提供更具体的信息来解决这个问题。建议检查命令行参数和代码中的错误,并确保它们正确无误。
#### 引用[.reference_title]
- *1* *2* *3* [DeBug:An error has been caught in function ‘<module>‘, process ‘MainProcess‘ (1824)..](https://blog.csdn.net/JasonBourneX/article/details/121052025)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
Traceback (most recent call last): File "main.py", line 208, in <module> File "main.py", line 236, in prim File "argparse.py", line 1824, in parse_args File "argparse.py", line 1857, in parse_known_args File "argparse.py", line 2094, in _parse_known_args File "argparse.py", line 2579, in error File "argparse.py", line 2549, in print_usage File "argparse.py", line 2560, in _print_message AttributeError: 'NoneType' object has no attribute 'write'
这个错误通常是因为没有正确配置 argparse 库导致的。在打包成 exe 时,argparse 库会尝试从 sys.argv 中获取命令行参数,但是打包成 exe 后,sys.argv 中的参数并不可用,因此 argparse 库会出现上述错误。
解决这个问题的方法是修改 argparse 的参数解析方式,在解析命令行参数时使用其他方式,例如使用 argparse 库提供的 ArgumentParser.parse_known_args() 方法,该方法可以解析所有已知的参数,并将未知的参数存储在一个列表中,这样就可以避免上述错误了。
以下是一个使用 parse_known_args() 方法的示例:
```python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo')
parser.add_argument('--bar')
args, unknown = parser.parse_known_args()
print(args)
```
在打包成 exe 时,需要添加对 argparse 模块的支持,可以使用 PyInstaller 的 `--hidden-import` 参数来实现:
```bash
pyinstaller your_script.py --hidden-import argparse
```
这样就可以解决 argparse 库在打包成 exe 后的使用问题了。