MingtaoFu / gliding_vertex

The implementation of paper "Gliding vertex on the horizontal bounding box for multi-oriented object detection".
271 stars 63 forks source link

train question about ignore annotation #9

Closed riciche closed 4 years ago

riciche commented 4 years ago

前辈您好,我在复现您在dota数据集上的结果时,遇到了一些问题,图片切片生成json文件没有按照您给的流程来,自己是dota_devkit切的,然后dota2coco转的json文件,环境配置好了,预训练权重也加载进来了,处理注释的程序dota.py出了点问题,您看应该怎么修改,谢谢 loading annotations into memory... Done (t=0.85s) creating index... index created! Traceback (most recent call last): File "tools/train_net.py", line 203, in main() File "tools/train_net.py", line 196, in main model = train(cfg, args.local_rank, args.distributed) File "tools/train_net.py", line 81, in train start_iter=arguments["iteration"], File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/build.py", line 158, in make_data_loader datasets = build_dataset(dataset_list, transforms, DatasetCatalog, is_train) File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/build.py", line 47, in build_dataset dataset = factory(**args) File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/datasets/dota.py", line 52, in init if has_valid_annotation(anno): File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/datasets/dota.py", line 20, in has_valid_annotation anno = [obj for obj in anno if obj["iscrowd"] == 0 and obj["ignore"] == 0 ] File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/datasets/dota.py", line 20, in anno = [obj for obj in anno if obj["iscrowd"] == 0 and obj["ignore"] == 0 ] KeyError: 'ignore' Traceback (most recent call last): File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/distributed/launch.py", line 246, in main() File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/distributed/launch.py", line 242, in main cmd=cmd) subprocess.CalledProcessError: Command '['/home/love208/anaconda3/envs/pytorch/bin/python', '-u', 'tools/train_net.py', '--local_rank=0', '--config-file', 'configs/glide/dota.yaml']' returned non-zero exit status 1.

MingtaoFu commented 4 years ago

按理来说,应该是有这么一个字段来处理diff的,因此json里面应该有。但是似乎您的json里面没有,如果您不care这个的话,您直接把ignore相关的判断去掉即可

riciche commented 4 years ago

按理来说,应该是有这么一个字段来处理diff的,因此json里面应该有。但是似乎您的json里面没有,如果您不care这个的话,您直接把ignore相关的判断去掉即可

感谢您的回答,dota_devkit官方程序确实没有对diff的处理,我看您写的txt2json.py程序中有,现在有遇到了一个新问题,机器是单1080ti,您知道该如何修改吗,再次感谢。 Tcreating index... index created! 2020-04-03 15:51:09,107 maskrcnn_benchmark.utils.miscellaneous INFO: Saving labels mapping into exp_dota/dota/labels.json 2020-04-03 15:51:09,116 maskrcnn_benchmark.trainer INFO: Start training /home/love208/anaconda3/envs/pytorch/bin/python: symbol lookup error: /home/love208/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/lib/libtorch_python.so: undefined symbol: PySlice_Unpack Traceback (most recent call last): File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/distributed/launch.py", line 246, in main() File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/distributed/launch.py", line 242, in main cmd=cmd) subprocess.CalledProcessError: Command '['/home/love208/anaconda3/envs/pytorch/bin/python', '-u', 'tools/train_net.py', '--local_rank=0', '--config-file', 'configs/glide/dota.yaml']' returned non-zero exit status 127.

MingtaoFu commented 4 years ago

这个问题一般是您的编译环境和您的运行环境不一致导致的,非本项目的问题。我估计如果您直接跑原版maskrcnn benchmark也会出现相同的问题。建议您重新安装或编译您的环境。

riciche commented 4 years ago

这个问题一般是您的编译环境和您的运行环境不一致导致的,非本项目的问题。我估计如果您直接跑原版maskrcnn benchmark也会出现相同的问题。建议您重新安装或编译您的环境。

好的谢谢,似乎是我的python版本有点低3.6.0,我升到3.6.7看看,谢谢您

MingtaoFu commented 4 years ago

问题在于libtorch_python.so,我觉得有可能是您使用某一个版本的pytorch对C++写的部分进行了编译,运行的时候却使用了另外的pytorch版本。问题应该不是python的问题。

riciche commented 4 years ago

问题在于libtorch_python.so,我觉得有可能是您使用某一个版本的pytorch对C++写的部分进行了编译,运行的时候却使用了另外的pytorch版本。问题应该不是python的问题。 好的,我看看,确实将pytorch升了下版本,忘记是那个版本编译的了,谢谢您

riciche commented 4 years ago

您好,确实是python版本的问题,3.6.2以上不会出现这样的问题,我在这找到了答案,,现在可以正常训练了,感谢您一直耐心的回复。 https://github.com/pytorch/pytorch/issues/17221

LegendSun0 commented 4 years ago

@riciche 您好,最近我在复现时遇到一些问题,方便加下qq:157075073沟通下么?

lijain commented 4 years ago

前辈您好,我在复现您在dota数据集上的结果时,遇到了一些问题,图片切片生成json文件没有按照您给的流程来,自己是dota_devkit切的,然后dota2coco转的json文件,环境配置好了,预训练权重也加载进来了,处理注释的程序dota.py出了点问题,您看应该怎么修改,谢谢 loading annotations into memory... Done (t=0.85s) creating index... index created! Traceback (most recent call last): File "tools/train_net.py", line 203, in main() File "tools/train_net.py", line 196, in main model = train(cfg, args.local_rank, args.distributed) File "tools/train_net.py", line 81, in train start_iter=arguments["iteration"], File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/build.py", line 158, in make_data_loader datasets = build_dataset(dataset_list, transforms, DatasetCatalog, is_train) File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/build.py", line 47, in build_dataset dataset = factory(**args) File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/datasets/dota.py", line 52, in init if has_valid_annotation(anno): File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/datasets/dota.py", line 20, in has_valid_annotation anno = [obj for obj in anno if obj["iscrowd"] == 0 and obj["ignore"] == 0 ] File "/media/love208/DATA/gliding_vertex-master/maskrcnn_benchmark/data/datasets/dota.py", line 20, in anno = [obj for obj in anno if obj["iscrowd"] == 0 and obj["ignore"] == 0 ] KeyError: 'ignore' Traceback (most recent call last): File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/distributed/launch.py", line 246, in main() File "/home/love208/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/distributed/launch.py", line 242, in main cmd=cmd) subprocess.CalledProcessError: Command '['/home/love208/anaconda3/envs/pytorch/bin/python', '-u', 'tools/train_net.py', '--local_rank=0', '--config-file', 'configs/glide/dota.yaml']' returned non-zero exit status 1.

兄弟你好,能问下你最后预测的结果map是多少?