wolfwjs / ganet Goto Github PK
View Code? Open in Web Editor NEWA Keypoint-based Global Association Network for Lane Detection. Accepted by CVPR 2022
License: MIT License
A Keypoint-based Global Association Network for Lane Detection. Accepted by CVPR 2022
License: MIT License
Just as described in the title, thank you very much
我单卡训练会报这个错误,用的分支的那个ganet,多卡就不会,是啥问题
Current code only support per image input with ktdet_decode_fast.
unexpected key in source state_dict: bbox_head.centerpts_head.hm.0.weight, bbox_head.centerpts_head.hm.0.bias, bbox_head.centerpts_head.hm.2.weight, bbox_head.centerpts_head.hm.2.bias
Traceback (most recent call last):
File "/home/chenyuyang/anaconda3/envs/torch1.8/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/chenyuyang/anaconda3/envs/torch1.8/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/chenyuyang/anaconda3/envs/torch1.8/lib/python3.8/site-packages/torch/distributed/launch.py", line 340, in
main()
File "/home/chenyuyang/anaconda3/envs/torch1.8/lib/python3.8/site-packages/torch/distributed/launch.py", line 326, in main
sigkill_handler(signal.SIGTERM, None) # not coming back
File "/home/chenyuyang/anaconda3/envs/torch1.8/lib/python3.8/site-packages/torch/distributed/launch.py", line 301, in sigkill_handler
raise subprocess.CalledProcessError(returncode=last_return_code, cmd=cmd)
subprocess.CalledProcessError: Command '['/home/chenyuyang/anaconda3/envs/torch1.8/bin/python', '-u', './train.py', '--local_rank=3', '../configs/culane/final_exp_res18_s8.py', '--work-dir=./output/culane/final_exp_res18_s8/', '--resume-from=./output/culane/final_exp_res18_s8/latest.pth', '--launcher=pytorch', '--gpu-ids', '0', '1', '2', '3']' died with <Signals.SIGKILL: 9>.
Has anyone successfully changed to onnx?
(ganet) root@e875a0f0cb46:/workspace/PycharmProjects/GANet-master# python setup.py develop/workspace/PycharmProjects/GANet-master# pip list
No local packages or working download links found for Pillow<=6.2.2
Traceback (most recent call last):
File "setup.py", line 300, in
zip_safe=False)
File "/root/anaconda3/envs/ganet/lib/python3.6/distutils/core.py", line 108, in setup
_setup_distribution = dist = klass(attrs)
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/setuptools/dist.py", line 335, in init
self.fetch_build_eggs(attrs['setup_requires'])
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/setuptools/dist.py", line 456, in fetch_build_eggs
replace_conflicting=True,
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/pkg_resources/init.py", line 863, in resolve
replace_conflicting=replace_conflicting
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/pkg_resources/init.py", line 1141, in best_match
return self.obtain(req, installer)
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/pkg_resources/init.py", line 1153, in obtain
return installer(requirement)
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/setuptools/dist.py", line 522, in fetch_build_egg
return cmd.easy_install(req)
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 666, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('Pillow<=6.2.2')
(ganet) root@e875a0f0cb46:
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
absl-py (1.0.0)
addict (2.4.0)
albumentations (0.4.6)
cachetools (4.2.4)
certifi (2021.10.8)
charset-normalizer (2.0.12)
cycler (0.11.0)
Cython (0.29.28)
dataclasses (0.8)
decorator (4.4.2)
dill (0.3.4)
filetype (1.0.8)
flatbuffers (2.0)
future (0.18.2)
google-auth (2.6.0)
google-auth-oauthlib (0.4.6)
grpcio (1.44.0)
idna (3.3)
imageio (2.10.1)
imgaug (0.4.0)
importlib-metadata (4.8.3)
importmagician (0.1.0)
joblib (1.1.0)
kiwisolver (1.3.1)
Markdown (3.3.6)
matplotlib (3.3.4)
mkl-fft (1.3.0)
mkl-random (1.1.1)
mkl-service (2.3.0)
mmcv (0.5.6)
mmcv-full (1.3.5)
multiprocess (0.70.12.2)
networkx (2.5.1)
numpy (1.19.2)
oauthlib (3.2.0)
olefile (0.44)
onnx (1.10.2)
onnxruntime (1.10.0)
opencv-python (4.5.5.64)
p-tqdm (1.3.3)
pathos (0.2.8)
Pillow (8.3.2)
pip (21.3.1)
pox (0.3.0)
ppft (1.6.6.4)
protobuf (3.19.4)
pyasn1 (0.4.8)
pyasn1-modules (0.2.8)
pycocotools (2.0.4)
pyparsing (3.0.7)
pytest-runner (5.3.2)
python-dateutil (2.8.2)
PyWavelets (1.1.1)
PyYAML (6.0)
requests (2.27.1)
requests-oauthlib (1.3.1)
rsa (4.8)
scikit-image (0.17.2)
scikit-learn (0.23.2)
scipy (1.5.4)
setuptools (59.6.0)
Shapely (1.8.0)
six (1.10.0)
sklearn (0.0)
tensorboard (2.7.0)
tensorboard-data-server (0.6.1)
tensorboard-plugin-wit (1.8.1)
terminaltables (3.1.10)
thop (0.0.31.post2005241907)
threadpoolctl (3.1.0)
tifffile (2020.9.3)
timm (0.3.2)
torch (1.6.0)
torchvision (0.7.0)
tqdm (4.62.3)
typing-extensions (4.1.1)
ujson (0.0.0)
urllib3 (1.26.8)
Werkzeug (2.0.3)
wheel (0.29.0)
yapf (0.32.0)
zipp (3.6.0)
You are using pip version 21.3.1, however version 22.0.4 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(ganet) root@e875a0f0cb46:/workspace/PycharmProjects/GANet-master# pip install Pillow==6.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn/workspace/PycharmProjects/GANet-master# python setup.py develop
Collecting Pillow==6.2.2
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/8a/fd/bbbc569f98f47813c50a116b539d97b3b17a86ac7a309f83b2022d26caf2/Pillow-6.2.2-cp36-cp36m-manylinux1_x86_64.whl (2.1MB)
100% |################################| 2.1MB 279kB/s
Installing collected packages: Pillow
Found existing installation: Pillow 8.3.2
Uninstalling Pillow-8.3.2:
Successfully uninstalled Pillow-8.3.2
Successfully installed Pillow-6.2.2
You are using pip version 21.3.1, however version 22.0.4 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(ganet) root@e875a0f0cb46:
No local packages or working download links found for pillow>=8.3.2
Traceback (most recent call last):
File "setup.py", line 300, in
zip_safe=False)
File "/root/anaconda3/envs/ganet/lib/python3.6/distutils/core.py", line 108, in setup
_setup_distribution = dist = klass(attrs)
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/setuptools/dist.py", line 335, in init
self.fetch_build_eggs(attrs['setup_requires'])
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/setuptools/dist.py", line 456, in fetch_build_eggs
replace_conflicting=True,
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/pkg_resources/init.py", line 863, in resolve
replace_conflicting=replace_conflicting
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/pkg_resources/init.py", line 1141, in best_match
return self.obtain(req, installer)
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/pkg_resources/init.py", line 1153, in obtain
return installer(requirement)
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/setuptools/dist.py", line 522, in fetch_build_egg
return cmd.easy_install(req)
File "/root/anaconda3/envs/ganet/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 666, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pillow>=8.3.2')
Two different error:
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('Pillow<=6.2.2')
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pillow>=8.3.2')
i run test.py on single gpu(no distributed),i get error:
File "/mmyolo/GANet/mmdet/models/detectors/ganet.py", line 134, in forward_test
kwargs['thr'], kwargs['kpt_thr'],
File "/mmyolo/GANet/mmdet/models/detectors/ganet.py", line 63, in forward
return self.forward_test(img, img_metas, **kwargs)
File "/mmyolo/work_dirs/miniconda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/mmyolo/work_dirs/miniconda/lib/python3.8/site-packages/torch/nn/parallel/data_parallel.py", line 165, in forward
return self.module(*inputs[0], **kwargs[0])
File "/mmyolo/work_dirs/miniconda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/mmyolo/GANet/mmdet/apis/test.py", line 25, in single_gpu_test
result = model(return_loss=False, rescale=True, **data)
File "/mmyolo/GANet/tools/test.py", line 137, in main
outputs = single_gpu_test(model, data_loader, args.show, args.show_dir,
File "/mmyolo/GANet/tools/test.py", line 160, in
main()
File "/mmyolo/work_dirs/miniconda/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/mmyolo/work_dirs/miniconda/lib/python3.8/runpy.py", line 194, in _run_module_as_main (Current frame)
return _run_code(code, main_globals, None,
KeyError: 'thr'
i debug it, found that forward_test()'s input parameter kwargs not include key thr.
did I do something wrong?
Hello, is the LFA module the deformable convolution?
Hello author, thank you so much for your open source contributions. How do I visualize Tusimple test set results? I used
bash dist_test.sh tusimple final_exp_res18_s8 .. /checkpoints/ganet_tusimple_resnet18.pth --show
This command gets the test set results, but does not produce a visual picture.
Hi there,
I really appreciate your efforts on sharing the code. I would also like to supplement a detail that might be easily ignored during compile the mmdet tools, thus leading to ERRORS like 'error in deformable_col2im' in traing procedure.
So double checking the version of runtime cuda version(nvcc) and pytorch&cudatoolkit before running python setup.py develop
.
Check it out quickly:
conda list | grep pytorch
. You should see pytorch 1.6.0 py3.7_cuda10.1.243_cudnn7.6.3_0 if following author's docementation.nvcc -V
to check version of Cuda compilation tools. If these two are totally the same, then it should be fine. If it is not exactly the same as above then there might be problems after compling. We tried nvcc of two versions V10.0.130 and V10.1.105 on our CentOS server to complie, in both cases it would keep throwing 'error in deformable_col2im' info during training . Though the program is still running and losses going down, I am not sure the influence on model performance. This is sovled by install cuda10.1.243 from nvidia officical repo.Explanation:
Official pytorch1.6.0 is prebuilt with cuda10.1.243. It should be fine in most cases when proper cudatoolkit are installed with pytorch as long as the GPU driver installed is higher enough. But when extra cpp_extensions are needed, we have to make sure they have to be compiled using the runtime cuda (nvcc) of same version of the one used by pytorch(in this case its cuda10.1.243). More related discussion here
Some Other Tips/Questions:
你好,在ganet_head.py中, 你们使用了#generate root centers array from offset map parallel, 请问为什么要通过这种生成固定起点的方式去抑制一些看起来【正确】的车道线?
why it can train of culane ,but can not train of a small data set builded with the same format
have u guys ever encountered this?
error in ms_deformable_col2im_cuda: invalid device function
but even like this, the training session still working. not knowing that whether the result would be affected
For a resolution input of (800, 320), calculate the HeatMap on (800, 320) at inference time, and test the performance at the same size? Does performance degrade if points are directly resized to their original size? I didn't see the relevant upsampling code, I would like to ask where it is, thank you.
作者你好~请问cuda11.3可以复现GANet嘛?因为是4090,至少cuda11.3以上,但是其他环境配好后,怎么运行都是报错
CUDA error: CUBLAS_STATUS_NOT_SUPPORTED when calling `cublasSgemmStridedBatched
真的是没有办法了啊啊啊!
It's better to change the line 118 in */mmdet/models/necks/dcn_fpn.py, from x += pos
--> x = x + pos
, otherwise it will cause RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation
?
Current Envs: pytorch 1.10.2
这段代码是用来计算推理速度,但是有这样的一个问题:
作者如果看到了,请解答我的疑惑,谢谢。
Hi,
we're interested in using your code for one of our projects.
Could you please tell us, what license your code is under and provide the respective License file in the repo?
You might not be aware of it, but without an explicit license, no-one can legally use your code: http://opensource.stackexchange.com/q/1720/775
Thanks in advance!
Hi, may I ask in which part of the code the LFA module mentioned in the paper is specifically implemented?
Hello, GANet is a great work. But I have one question, can we replace the deformable conv with normal conv? if we replace it, the performance will drop? the influence is how ? Looking forward to your reply.
Thanks for releasing your great work.
I want to know that how do you calculate your test dataset FPS in your code?
Looking forward to your reply.
I want to know why the detected line is only about half of that in the picture, or is there any way to extend it .
I noticed 0.2 is used in your code here. But its set as 1.0 in paper. I guess the balancing effect of using 0.2 is better. But how different would the results be?
Hi, I'm so interested in GANet,I want to ask what's the meaning of cpts_hm, kpts_hm, pts_offset, int_offset?
您好,我可以问一下您mmdet2_25分支中mmcv和mmdet的版本吗?
我按照默认的方式安装,报错如下:
File "tools/speed_test.py", line 12, in
from mmcv import Timer
ImportError: cannot import name 'Timer' from 'mmcv'
我然后查了一下,我现在安装的mmdet是3.0.0版本,它依赖的mmcv>=2.0.0rc4。我了解到自从mmcv2.x版本开始后,就没有mmcv-full了。所以您提供的安装方法本质上有一些冲突,mmcv-full与mmdet的版本不太对得上,所以想请问下您的版本是什么
可以在训练的的时候,打开--validation吗,我看有数据载入报错,是不支持吗?
I have visualized latest.pth. But how do I visualize the results of the test set?
Nice work!
Why does lane detection need instance segmentation? Is semantic segmentation not applicable?
in sec 3.1.3, what is the meaning of " select points of maximum responses within a horizontal local region as valid keypoints".i dont know what is maximum response and horizontal local region?
Thanks for sharing your work. Is there an expected date?
First of all, I would like to thank you for your nice work.
I want to input [partition] and [job_name] in the command:
sh slurm_train.sh [PARTITION] [JOB_NAME] tusimple final_exp_res18_s8 ./output
However, I am not clear about the two parameters above. Could you help me to understand it?
refer https://github.com/Wolfwjs/GANet/blob/master/mmdet/models/dense_heads/ganet_head.py#L286
i run test using configs/culane/final_exp_res34_s8.py
and found cpts
is not used any more, but it has loss during training, why? @Wolfwjs thanks!
subprocess.CalledProcessError: Command '[' '--seed', '0', '--launcher', 'pytorch']' returned non-zero exit status 1.
运行dist_train.sh报如下错误是什么原因?
在window10 平台下运行 python setup.py develop
弹出的相关报错,显卡为桌面显卡3060,该系列显卡仅支持CUDA11以上设备,不确定导致该错误的具体原因是为何。
Could you please tell me why the output of _neg_loss
always being zero?
GANet/mmdet/models/losses/ganetloss.py
Line 60 in 80bfb20
运行python setup.py develop 并且配置好环境之后,我修改了configs里的数据集root,然后运行python train.py ./configs/culane/final_exp_res18_s8.py 但是一直报错如下:
No module named 'configs.culane'
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpayfcfwsi/tmpt997zvmj.py'
thanks replay.
How to choose the number of points used in lfa.
你好,非常感谢你们的开源代码,我在测试您的代码的时候,在mmdet.apis.test.py的single_gpu_test里面看到您原来的绘图代码注释掉了,我现在想要保存绘图结果,但是发现mmdet的绘图函数show_result要求results是一个tuple或tensor,但您提供的代码的results类型似乎是list,导致绘图报错。
此外,同样是此处(注释代码块之前),在您调用model求得result的时候,会报错没有thr, kpt_thr, cpt_thr等字段的错误。
非常期待您有空帮忙解答。谢谢您!
GANet/mmdet/models/dense_heads/ganet_head.py
Line 240 in 7378d7b
There are only offset_head and keypts_head in the paper. Why are there centerpts_head and reg_head in the code?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.