JDet is Object Detection Framework based on Jittor.

Related tags

Deep Learning JDet
Overview

JDet

Introduction

JDet is Object Detection Framework based on Jittor.

Install

JDet environment requirements:

  • System: Linux(e.g. Ubuntu/CentOS/Arch), macOS, or Windows Subsystem of Linux (WSL)
  • Python version >= 3.7
  • CPU compiler (require at least one of the following)
    • g++ (>=5.4.0)
    • clang (>=8.0)
  • GPU compiler (optional)
    • nvcc (>=10.0 for g++ or >=10.2 for clang)
  • GPU library: cudnn-dev (recommend tar file installation, reference link)

Step 1: Install the requirements

git clone https://github.com/li-xl/JDet
cd JDet
python -m pip install -r requirements.txt

If you have any installation problems for Jittor, please refer to Jittor

Step 2: Install JDet

cd JDet
python setup.py install

If you don't have permission for install,please add --user.

Or use PYTHONPATH You can add export PYTHONPATH=$PYTHONPATH:{you_own_path}/JDet/python into .bashrc

source .bashrc

Getting Started

Data

DOTA Dataset documents are avaliable in the dota.md

FAIR Dataset documents are avaliable in the fair.md

Config

Config documents are avaliable in the config.md

Train

python tools/run_net.py --config-file=configs/s2anet_r50_fpn_1x_dota.py --task=train

Test

If you want to test the downloaded trained models, please set resume_path={you_checkpointspath} in the last line of the config file.

python tools/run_net.py --config-file=configs/s2anet_r50_fpn_1x_dota.py --task=test

Build a New Project

In this document, we will introduce how to build a new project(model) with JDet. We need to install JDet first, and build a new project by:

mkdir $PROJECT_PATH$
cd $PROJECT_PATH$
cp $JDet_PATH$/tools/run_net.py ./
mkdir configs

Then we can build and edit configs/base.py like $JDet_PATH$/configs/retinanet.py. If we need to use a new layer, we can define this layer at $PROJECT_PATH$/layers.py and import layers.py in $PROJECT_PATH$/run_net.py, then we can use this layer in config files. Then we can train/test this model by:

python run_net.py --config-file=configs/base.py --task=train
python run_net.py --config-file=configs/base.py --task=test

Models

Models Dataset Train Aug Test Aug Optim Lr schd mAP Paper Config Download
S2ANet-R50-FPN DOTA1.0 flip - SGD 1x 74.11 arxiv config model
S2ANet-R50-FPN DOTA1.0 flip+ra90+bc - SGD 1x 76.40 arxiv config model
S2ANet-R50-FPN DOTA1.0 flip+ra90+bc+ms ms SGD 1x 79.72 arxiv config model
S2ANet-R101-FPN DOTA1.0 Flip - SGD 1x 74.28 arxiv config model
Gliding-R50-FPN DOTA1.0 flip+ms ms SGD 1x 67.42 arxiv config model
Gliding-R101-FPN DOTA1.0 flip+ms+ra90+bc ms SGD 1x 69.53 arxiv config model
RetinaNet-R50-FPN DOTA1.0 - - SGD - 62.503 arxiv config model pretrained

Notice:

  1. ms: multiscale
  2. flip: random flip
  3. ra: rotate aug
  4. ra90: rotate aug with angle 90,180,270
  5. 1x : 12 epochs
  6. bc: balance category

Plan

✔️ Supported 🕒 Doing TODO

  • ✔️ S2ANet
  • ✔️ Gliding
  • ✔️ RetinaNet
  • ✔️ Faster R-CNN
  • 🕒 SSD
  • 🕒 ReDet
  • 🕒 YOLOv5
  • 🕒 R3Det
  • 🕒 Cascade R-CNN
  • 🕒 ROI Transformer
  • CSL
  • DCL
  • GWD
  • KLD
  • ...

Contact Us

Website: http://cg.cs.tsinghua.edu.cn/jittor/

Email: [email protected]

File an issue: https://github.com/Jittor/jittor/issues

QQ Group: 761222083

The Team

JDet is currently maintained by the Tsinghua CSCG Group. If you are also interested in JDet and want to improve it, Please join us!

Citation

@article{hu2020jittor,
  title={Jittor: a novel deep learning framework with meta-operators and unified graph execution},
  author={Hu, Shi-Min and Liang, Dun and Yang, Guo-Ye and Yang, Guo-Wei and Zhou, Wen-Yang},
  journal={Science China Information Sciences},
  volume={63},
  number={222103},
  pages={1--21},
  year={2020}
}

Reference

  1. Jittor
  2. Detectron2
  3. mmdetection
  4. maskrcnn_benchmark
  5. RotationDetection
  6. s2anet
  7. gliding_vertex
  8. r3det
  9. AerialDetection
Comments
  • dota数据处理报错munmap_chunk(): invalid pointer

    dota数据处理报错munmap_chunk(): invalid pointer

    您好,我遇到些问题,想请教下 我的配置文件type='DOTA1_5' source_dataset_path='/media/asus/299D817A2D97AD94/ok_PROJs/JDet/datasets/DOTA1_5/' target_dataset_path='/media/asus/299D817A2D97AD94/ok_PROJs/JDet/datasets/processed_DOTA1_5/' 路径没有错误,DOTA1_5下面是挑选出来的部分数据,我在其他程序上测过,没有问题。

    运行数据处理,报错: (sky) asus@asus-System-Product-Name:/media/asus/299D817A2D97AD94/ok_PROJs/JDet$ python tools/preprocess.py --config-file configs/preprocess/dota1_5_preprocess_config.py [i 1118 17:31:28.681917 08 compiler.py:944] Jittor(1.3.1.18) src: /home/asus/anaconda3/envs/sky/lib/python3.7/site-packages/jittor [i 1118 17:31:28.689649 08 compiler.py:945] g++ at /usr/bin/g++(7.5.0) [i 1118 17:31:28.689716 08 compiler.py:946] cache_path: /home/asus/.cache/jittor/jt1.3.1/g++7.5.0/py3.7.9/Linux-5.4.0-89xd6/AMDRyzen93950Xxea/default [i 1118 17:31:28.697931 08 init.py:372] Found nvcc(10.1.105) at /usr/local/cuda-10.1/bin/nvcc. [i 1118 17:31:28.754584 08 init.py:372] Found gdb(8.1.0) at /usr/bin/gdb. [i 1118 17:31:28.763441 08 init.py:372] Found addr2line(2.30) at /usr/bin/addr2line. [i 1118 17:31:28.866922 08 compiler.py:997] cuda key:cu10.1.105_sm_75 [i 1118 17:31:29.054781 08 init.py:187] Total mem: 62.79GB, using 16 procs for compiling. [i 1118 17:31:29.114659 08 jit_compiler.cc:27] Load cc_path: /usr/bin/g++ [i 1118 17:31:29.215793 08 init.cc:61] Found cuda archs: [75,] [i 1118 17:31:29.230639 08 compile_extern.py:497] mpicc not found, distribution disabled. [i 1118 17:31:29.271848 08 compile_extern.py:29] found /usr/local/cuda-10.1/include/cublas.h [i 1118 17:31:29.283580 08 compile_extern.py:29] found /usr/lib/x86_64-linux-gnu/libcublas.so [i 1118 17:31:29.283738 08 compile_extern.py:29] found /usr/lib/x86_64-linux-gnu/libcublasLt.so.10 [i 1118 17:31:29.420154 08 compile_extern.py:29] found /usr/local/cuda-10.1/include/cudnn.h [i 1118 17:31:29.437553 08 compile_extern.py:29] found /usr/local/cuda-10.1/lib64/libcudnn.so [i 1118 17:31:30.539454 08 compile_extern.py:29] found /usr/local/cuda-10.1/include/curand.h [i 1118 17:31:30.572073 08 compile_extern.py:29] found /usr/local/cuda-10.1/lib64/libcurand.so munmap_chunk(): invalid pointer 已放弃 (核心已转储) (sky) asus@asus-System-Product-Name:/media/asus/299D817A2D97AD94/ok_PROJs/JDet$ python -V Python 3.7.9

    opened by HeuristicLU 7
  • 测试时出现错误

    测试时出现错误

    你好,当我运行python run_net.py --config-file=configs/retinanet_config.py --task=test测试时出现以下错误:

    Caught segfault at address 0x2b95dd8ffe00, thread_name: '', flush log...
    [i 0611 14:45:27.094591 36 tracer.cc:149] stack trace for pid= 78086
    [New LWP 78219]
    [New LWP 78218]
    [New LWP 78217]
    [New LWP 78216]
    [New LWP 78215]
    [New LWP 78214]
    [New LWP 78213]
    [New LWP 78212]
    [New LWP 78211]
    [New LWP 78210]
    [New LWP 78209]
    [New LWP 78208]
    [New LWP 78207]
    [New LWP 78206]
    [New LWP 78205]
    [New LWP 78204]
    [New LWP 78203]
    [New LWP 78202]
    [New LWP 78201]
    [New LWP 78173]
    [New LWP 78172]
    [New LWP 78171]
    [New LWP 78170]
    [New LWP 78169]
    [New LWP 78168]
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib64/libthread_db.so.1".
    Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /home/xxx/anaconda3/envs/jdet/bin/../lib/libstdc++.so.6]
    Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /home/xxx/anaconda3/envs/jdet/bin/../lib/libgcc_s.so.1]
    Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /home/xxx/anaconda3/envs/jdet/lib/libgomp.so.1]
    Missing separate debuginfo for /home/xxx/anaconda3/envs/jdet/lib/python3.9/site-packages/numpy/core/../../numpy.libs/libgfortran-040039e1.so.5.0.0
    Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/5b/be74eb6855e0a2c043c0bec2f484bf3e9f14c0.debug
    Missing separate debuginfo for /home/xxx/anaconda3/envs/jdet/lib/python3.9/site-packages/numpy/core/../../numpy.libs/libquadmath-96973f99.so.0.0.0
    Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/54/9b4c82347785459571c79239872ad31509dcf4.debug
    Missing separate debuginfo for /home/xxx/anaconda3/envs/jdet/lib/python3.9/site-packages/PIL/../Pillow.libs/libXau-00ec42fe.so.6.0.0
    Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/31/af390be616b7cb3e805b5fb014bd097ee08dfd.debug
    Missing separate debuginfo for /home/xxx/anaconda3/envs/jdet/lib/python3.9/site-packages/cv2/../opencv_python.libs/libopenblas-r0-f650aae0.3.3.so
    Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/7c/23b5dcd1a14cd7d5dbfa81e8a02ac76b4e4450.debug
    Missing separate debuginfo for /home/xxx/anaconda3/envs/jdet/lib/python3.9/site-packages/cv2/../opencv_python.libs/libbz2-a273e504.so.1.0.6
    Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/0c/85c0386f0cf41ea39969cf7f58a558d1ad3235.debug
    Missing separate debuginfo for /home/xxx/anaconda3/envs/jdet/lib/python3.9/site-packages/cv2/../opencv_python.libs/libgfortran-91cc3cb1.so.3.0.0
    Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/53/827b36771c70cc3514402ac6e419f0533ad60c.debug
    0x00002b948bc3d1c9 in waitpid () from /lib64/libc.so.6
    [Current thread is 1 (Thread 0x2b948b074880 (LWP 78086))]
    #0  0x00002b948bc3d1c9 in waitpid () from /lib64/libc.so.6
    #1  0x00002b9493098f28 in jittor::print_trace() () from /home/xxx/.cache/jittor/jt1.3.4/g++9.3.0/py3.9.12/Linux-3.10.0-8x74/IntelRXeonRGolx16/default/jit_utils_core.cpython-39-x86_64-linux-gnu.so
    #2  0x00002b9493094f65 in jittor::segfault_sigaction(int, siginfo_t*, void*) () from /home/xxx/.cache/jittor/jt1.3.4/g++9.3.0/py3.9.12/Linux-3.10.0-8x74/IntelRXeonRGolx16/default/jit_utils_core.cpython-39-x86_64-linux-gnu.so
    #3  <signal handler called>
    #4  0x00002b9770aa4ad8 in jittor::CodeOp::jit_run() () from /home/xxx/.cache/jittor/jt1.3.4/g++9.3.0/py3.9.12/Linux-3.10.0-8x74/IntelRXeonRGolx16/default/cu11.2.152_sm_70/jit/code__IN_SIZE_2__in0_dim_1__in0_type_int32__in1_dim_2__in1_type_float32__OUT_SIZE_1__out0____hash_37c6b9432a4203e_op.so
    #5  0x00002b949c57a8ac in jittor::Profiler::record_and_run(void (*)(jittor::Op*), jittor::Op*, char const*) () from /home/xxx/.cache/jittor/jt1.3.4/g++9.3.0/py3.9.12/Linux-3.10.0-8x74/IntelRXeonRGolx16/default/cu11.2.152_sm_70/jittor_core.cpython-39-x86_64-linux-gnu.so
    #6  0x00002b949c420ddb in jittor::Op::jit_run(jittor::JitKey&) () from /home/xxx/.cache/jittor/jt1.3.4/g++9.3.0/py3.9.12/Linux-3.10.0-8x74/IntelRXeonRGolx16/default/cu11.2.152_sm_70/jittor_core.cpython-39-x86_64-linux-gnu.so
    #7  0x00002b949c5826c1 in jittor::Executor::run_sync(std::vector<jittor::Var*, std::allocator<jittor::Var*> >, bool, bool) () from /home/xxx/.cache/jittor/jt1.3.4/g++9.3.0/py3.9.12/Linux-3.10.0-8x74/IntelRXeonRGolx16/default/cu11.2.152_sm_70/jittor_core.cpython-39-x86_64-linux-gnu.so
    #8  0x00002b949c41e710 in jittor::Op::init() () from /home/xxx/.cache/jittor/jt1.3.4/g++9.3.0/py3.9.12/Linux-3.10.0-8x74/IntelRXeonRGolx16/default/cu11.2.152_sm_70/jittor_core.cpython-39-x86_64-linux-gnu.so
    #9  0x00002b949c35e0f0 in jittor::jit_op_maker::make_where(jittor::Var*, jittor::NanoString) () from /home/xxx/.cache/jittor/jt1.3.4/g++9.3.0/py3.9.12/Linux-3.10.0-8x74/IntelRXeonRGolx16/default/cu11.2.152_sm_70/jittor_core.cpython-39-x86_64-linux-gnu.so
    Undefined command: "py-bt".  Try "help".
    Segfault, exit
    Aborted
    

    请问这个错误应该如何解决? 谢谢。

    opened by optimusleobear 3
  • cuda问题

    cuda问题

    你好,我的cuda版本为10.2,在执行python tools/run_net.py --config-file=configs/s2anet/s2anet_r18_fpn_1x_kaggle_rotate_ms.py --task=train后出现以下问题:

    Traceback (most recent call last):
      File "tools/run_net.py", line 56, in <module>
        main()
      File "tools/run_net.py", line 46, in main
        runner.run()
      File "/home/xx/xx/s2a/JDet-s2a/python/jdet/runner/runner.py", line 87, in run
        self.train()
      File "/home/xx/xx/s2a/JDet-s2a/python/jdet/runner/runner.py", line 133, in train
        if all_loss > 10:
      File "/home/xx/anaconda3/envs/jdet2/lib/python3.7/site-packages/jittor/__init__.py", line 1427, in to_bool
        return ori_bool(v.item())
    RuntimeError: [f 1214 20:38:47.244717 36 executor.cc:584] 
    Execute fused operator(1199/1444) failed. 
    [JIT Source]: /home/xx/.cache/jittor/jt1.3.1/g++7.5.0/py3.7.11/Linux-4.15.0-1x19/IntelRXeonRSilxb7/default/cu11.2.152_sm_75/jit/_opkey0_broadcast_to_Tx_float32__DIM_3__BCAST_1__JIT_1__JIT_cuda_1__index_t_int32___opkey1___hash_7c8decc46b39eb60_op.cc 
    [OP TYPE]: fused_op:( broadcast_to, broadcast_to, binary.multiply, reduce.add,)
    [Input]: float32[2304,128,], float32[256,2304,], 
    [Output]: float32[256,128,], 
    [Async Backtrace]: --- 
         tools/run_net.py:56 <<module>> 
         tools/run_net.py:46 <main> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/runner/runner.py:87 <run> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/runner/runner.py:131 <train> 
         /home/xx/anaconda3/envs/jdet2/lib/python3.7/site-packages/jittor/__init__.py:776 <__call__> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/models/networks/s2anet.py:35 <execute> 
         /home/xx/anaconda3/envs/jdet2/lib/python3.7/site-packages/jittor/__init__.py:776 <__call__> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/models/roi_heads/s2anet_head.py:625 <execute> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/utils/general.py:52 <multi_apply> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/models/roi_heads/s2anet_head.py:236 <forward_single> 
         /home/xx/anaconda3/envs/jdet2/lib/python3.7/site-packages/jittor/__init__.py:776 <__call__> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/models/roi_heads/s2anet_head.py:722 <execute> 
         /home/xx/anaconda3/envs/jdet2/lib/python3.7/site-packages/jittor/__init__.py:776 <__call__> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/ops/dcn_v1.py:696 <execute> 
         /home/xx/anaconda3/envs/jdet2/lib/python3.7/site-packages/jittor/__init__.py:1296 <apply> 
         /home/xx/anaconda3/envs/jdet2/lib/python3.7/site-packages/jittor/__init__.py:1252 <__call__> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/ops/dcn_v1.py:598 <execute> 
         /home/xx/xx/s2a/JDet-s2a/python/jdet/ops/dcn_v1.py:447 <deform_conv_forward_cuda> 
         /home/x/anaconda3/envs/jdet2/lib/python3.7/site-packages/jittor/nn.py:151 <matmul> 
    [Reason]: [f 1214 20:38:47.244082 36 helper_cuda.h:126] CUDA error at /home/xx/.cache/jittor/jt1.3.1/g++7.5.0/py3.7.11/Linux-4.15.0-1x19/IntelRXeonRSilxb7/default/cu11.2.152_sm_75/jit/cublas_matmul_T_float32__Trans_a_N__Trans_b_N__op_S__JIT_1__JIT_cuda_1__index_t_int32__hash_bde4b1ed93632c6c_op.cc:51  code=7( CUBLAS_STATUS_INVALID_VALUE ) cublasSgemm(handle_, CUBLAS_OP_N, CUBLAS_OP_N, k, n, m, &alpha, b->ptr<T>(), 'N' == 'N' ? k : m, a->ptr<T>(), 'N' == 'N' ? m : n, &beta, c->ptr<T>(), k)
    

    请问一个如何解决?谢谢。

    opened by liliwannian 2
  • Support Rotated Retinanet

    Support Rotated Retinanet

    rotated_retinanet_obb_r50_fpn_1x_dotapy

    • [x] align precision

    AP50: 0.680703990610472 AP75: 0.3696233166176694 mAP: 0.38239658814449895

    rotated_retinanet_hbb_r50_fpn_1x_dotapy

    • [x] align precision

    AP50: 0.6802395531846536 AP75: 0.3542712497478037 mAP: 0.3763502599932124

    opened by zytx121 1
  • 数据预处理过程内存占用过高以至报错

    数据预处理过程内存占用过高以至报错

    执行 python tools/preprocess.py --config-file configs/preprocess/dota1_5_preprocess_config.py 时, 内存占用量在命令开始执行之后若干秒便开始激增, 直到吃满所有系统内存.

    系统环境:

    • Windows 专业版 21H1 19043.1706
    • Python 3.10.7
    • 内存 32G
    • 显卡 3070

    开始部分日志:

    (数据集目录名是 dota-1.0, 里面的数据使用的是 1.5 版本)

    D:\project-jittor\jdet>python tools\preprocess.py --config-file configs/preprocess/dota1_5_preprocess_config.py
    [i 0930 15:16:14.694000 84 compiler.py:955] Jittor(1.3.5.16) src: c:\users\pc\appdata\local\programs\python\python310\lib\site-packages\jittor-1.3.5.16-py3.10.egg\jittor
    [i 0930 15:16:14.740000 84 compiler.py:956] cl at C:\Users\pc\.cache\jittor\msvc\VC\_\_\_\_\_\bin\cl.exe(19.29.30133)
    [i 0930 15:16:14.741000 84 compiler.py:957] cache_path: C:\Users\pc\.cache\jittor\jt1.3.5\cl\py3.10.7\Windows-10-10.xb1\IntelRCoreTMi7x95\default
    [i 0930 15:16:14.745000 84 install_cuda.py:88] cuda_driver_version: [11, 7, 0]
    [i 0930 15:16:14.796000 84 __init__.py:411] Found C:\Users\pc\.cache\jittor\jtcuda\cuda11.2_cudnn8_win\bin\nvcc.exe(11.2.67) at C:\Users\pc\.cache\jittor\jtcuda\cuda11.2_cudnn8_win\bin\nvcc.exe.
    [i 0930 15:16:14.911000 84 compiler.py:1010] cuda key:cu11.2.67
    [i 0930 15:16:14.913000 84 __init__.py:227] Total mem: 31.91GB, using 10 procs for compiling.
    [i 0930 15:16:15.796000 84 jit_compiler.cc:28] Load cc_path: C:\Users\pc\.cache\jittor\msvc\VC\_\_\_\_\_\bin\cl.exe
    [i 0930 15:16:15.797000 84 init.cc:62] Found cuda archs: [86,]
    [i 0930 15:16:15.892000 84 compile_extern.py:517] mpicc not found, distribution disabled.
    [w 0930 15:16:15.941000 84 compile_extern.py:200] CUDA related path found in LD_LIBRARY_PATH or PATH(['', 'C', '\\Users\\pc\\.cache\\jittor\\jtcuda\\cuda11.2_cudnn8_win\\lib64', '', 'C', '\\Users\\pc\\.cache\\jittor\\mkl\\dnnl_win_2.2.0_cpu_vcomp\\bin', '', 'C', '\\Users\\pc\\.cache\\jittor\\mkl\\dnnl_win_2.2.0_cpu_vcomp\\lib', '', 'C', '\\Users\\pc\\.cache\\jittor\\jt1.3.5\\cl\\py3.10.7\\Windows-10-10.xb1\\IntelRCoreTMi7x95\\default', '', 'C', '\\Users\\pc\\.cache\\jittor\\jt1.3.5\\cl\\py3.10.7\\Windows-10-10.xb1\\IntelRCoreTMi7x95\\default\\cu11.2.67', '', 'C', '\\Users\\pc\\.cache\\jittor\\jtcuda\\cuda11.2_cudnn8_win\\bin', '', 'C', '\\Users\\pc\\.cache\\jittor\\jtcuda\\cuda11.2_cudnn8_win\\lib\\x64', '', 'C', '\\Users\\pc\\.cache\\jittor\\msvc\\win10_kits\\lib\\ucrt\\x64', '', 'C', '\\Users\\pc\\.cache\\jittor\\msvc\\win10_kits\\lib\\um\\x64', '', 'C', '\\Users\\pc\\.cache\\jittor\\msvc\\VC\\lib', '', 'c', '\\users\\pc\\appdata\\local\\programs\\python\\python310\\libs', 'C', '\\Users\\pc\\.cache\\jittor\\msvc\\VC\\_\\_\\_\\_\\_\\bin', 'C', '\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python310\\Lib\\site-packages\\opencv_python-4.6.0.66-py3.10-win-amd64.egg\\cv2\\../../x64/vc14/bin', 'C', '\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\bin', 'C', '\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\libnvvp', 'D', '\\Release', 'D', '\\ffmpeg\\bin', 'C', '\\ProgramData\\Oracle\\Java\\javapath', 'C', '\\Program Files\\Java\\jdk1.8.0_131\\bin', 'C', '\\Program Files\\Java\\jdk1.8.0_131\\jre\\bin', 'C', '\\Windows\\system32', 'C', '\\Windows', 'C', '\\Windows\\System32\\Wbem', 'C', '\\Windows\\System32\\WindowsPowerShell\\v1.0\\', 'C', '\\Windows\\System32\\OpenSSH\\', 'C', '\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common', 'C', '\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR', 'C', '\\Program Files\\NVIDIA Corporation\\Nsight Compute 2022.2.1\\', 'C', '\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python310\\Scripts\\', 'C', '\\Users\\pc\\AppData\\Local\\Programs\\Python\\Python310\\', 'C', '\\Program Files\\MySQL\\MySQL Shell 8.0\\bin\\', 'C', '\\Users\\pc\\AppData\\Local\\Microsoft\\WindowsApps', '', 'C', '\\Users\\pc\\AppData\\Local\\Programs\\Microsoft VS Code\\bin']), This path may cause jittor found the wrong libs, please unset LD_LIBRARY_PATH and remove cuda lib path in Path.
    Or you can let jittor install cuda for you: `python3.x -m jittor_utils.install_cuda`
    Loading config from:  configs/preprocess/dota1_5_preprocess_config.py
    {'type': 'DOTA1_5', 'source_dataset_path': 'D:\\project-jittor\\dataset\\dota-1.0', 'target_dataset_path': 'D:\\project-jittor\\dataset\\dota-1.0-processed', 'tasks': [{'label': 'trainval', 'config': {'subimage_size': 600, 'overlap_size': 150, 'multi_scale': [1.0], 'horizontal_flip': False, 'vertical_flip': False, 'rotation_angles': [0.0]}}, {'label': 'test', 'config': {'subimage_size': 600, 'overlap_size': 150, 'multi_scale': [1.0], 'horizontal_flip': False, 'vertical_flip': False, 'rotation_angles': [0.0]}}], 'name': 'dota1_5_preprocess_config', 'work_dir': 'work_dirs/dota1_5_preprocess_config'}
    ==============
    processing trainval
    fatal   fatal   : : Memory allocation failureMemory allocation failure
    
    fatal   : Memory allocation failure
    系统无法执行指定的程序。
    内存资源不足,无法处理此命令。
    内存资源不足,无法处理此命令。
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 116, in spawn_main
        exitcode = _main(fd, parent_sentinel)
      File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 125, in _main
        prepare(preparation_data)
      File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 236, in prepare
        _fixup_main_from_path(data['init_main_from_path'])
      File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
        main_content = runpy.run_path(main_path,
      File "c:\users\pc\appdata\local\programs\python\python310\lib\runpy.py", line 289, in run_path
        return _run_module_code(code, init_globals, run_name,
      File "c:\users\pc\appdata\local\programs\python\python310\lib\runpy.py", line 96, in _run_module_code
        _run_code(code, mod_globals, init_globals,
      File "c:\users\pc\appdata\local\programs\python\python310\lib\runpy.py", line 86, in _run_code
        exec(code, run_globals)
      File "D:\project-jittor\jdet\tools\preprocess.py", line 5, in <module>
        from jdet.config import init_cfg, get_cfg
      File "d:\project-jittor\jdet\python\jdet\__init__.py", line 1, in <module>
        from . import models
      File "d:\project-jittor\jdet\python\jdet\models\__init__.py", line 1, in <module>
        from .networks import *
      File "d:\project-jittor\jdet\python\jdet\models\networks\__init__.py", line 1, in <module>
        from .rcnn import RCNN
      File "d:\project-jittor\jdet\python\jdet\models\networks\rcnn.py", line 2, in <module>
        import jittor as jt
      File "C:\Users\pc\AppData\Local\Programs\Python\Python310\lib\site-packages\jittor-1.3.5.16-py3.10.egg\jittor\__init__.py", line 32, in <module>
        from typing import List, Tuple
      File "C:\Users\pc\AppData\Local\Programs\Python\Python310\lib\typing.py", line 2178, in <module>
        class SupportsInt(Protocol):
      File "c:\users\pc\appdata\local\programs\python\python310\lib\abc.py", line 106, in __new__
        cls = super().__new__(mcls, name, bases, namespace, **kwargs)
      File "C:\Users\pc\AppData\Local\Programs\Python\Python310\lib\typing.py", line 1554, in __init_subclass__
        cls._is_protocol = any(b is Protocol for b in cls.__bases__)
    MemoryError: Out of memory interning an attribute name
    1 / 10
    / 0
    1 / 0
    C:\Users\pc\AppData\Local\Programs\Python\Python310\lib\site-packages\shapely-2.0a1-py3.10-win-amd64.egg\shapely\set_operations.py:132: RuntimeWarning: invalid value encountered in intersection
      return lib.intersection(a, b, **kwargs)
    C:\Users\pc\AppData\Local\Programs\Python\Python310\lib\site-packages\shapely-2.0a1-py3.10-win-amd64.egg\shapely\set_operations.py:132: RuntimeWarning: invalid value encountered in intersection
      return lib.intersection(a, b, **kwargs)
    C:\Users\pc\AppData\Local\Programs\Python\Python310\lib\site-packages\shapely-2.0a1-py3.10-win-amd64.egg\shapely\set_operations.py:132: RuntimeWarning: invalid value encountered in intersection
      return lib.intersection(a, b, **kwargs)
    2 / 0
    2 / 0
    3 / 0
    4 / 0
    

    在这后面有很多类似的 "数字 / 0" 日志, 以及下面这样的日志:

    C:\Users\pc\AppData\Local\Programs\Python\Python310\lib\site-packages\shapely-2.0a1-py3.10-win-amd64.egg\shapely\set_operations.py:132: RuntimeWarning: invalid value encountered in intersection
      return lib.intersection(a, b, **kwargs)
    

    命令执行过程中会弹出系统错误弹窗: nvcc.exe 应用程序无法正常启动(0xc0000142).请单击"确定"关闭应用程序.

    再往后有大量类似的报错日志:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 116, in spawn_main
        exitcode = _main(fd, parent_sentinel)
      File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 125, in _main
        prepare(preparation_data)
      File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 236, in prepare
    Traceback (most recent call last):
          File "<string>", line 1, in <module>
    _fixup_main_from_path(data['init_main_from_path'])
      File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
        main_content = runpy.run_path(main_path,
      File "c:\users\pc\appdata\local\programs\python\python310\lib\runpy.py", line 289, in run_path
      File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 116, in spawn_main
        return _run_module_code(code, init_globals, run_name,
    exitcode = _main(fd, parent_sentinel)  File "c:\users\pc\appdata\local\programs\python\python310\lib\runpy.py", line 96, in _run_module_code
    
          File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 125, in _main
    _run_code(code, mod_globals, init_globals,
    prepare(preparation_data)  File "c:\users\pc\appdata\local\programs\python\python310\lib\runpy.py", line 86, in _run_code
    
          File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 236, in prepare
    exec(code, run_globals)
    _fixup_main_from_path(data['init_main_from_path'])  File "D:\project-jittor\jdet\tools\preprocess.py", line 5, in <module>
    
          File "c:\users\pc\appdata\local\programs\python\python310\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    from jdet.config import init_cfg, get_cfg
          File "d:\project-jittor\jdet\python\jdet\__init__.py", line 1, in <module>
    main_content = runpy.run_path(main_path,
    from . import models  File "c:\users\pc\appdata\local\programs\python\python310\lib\runpy.py", line 289, in run_path
    
      File "d:\project-jittor\jdet\python\jdet\models\__init__.py", line 1, in <module>
        return _run_module_code(code, init_globals, run_name,
      File "c:\users\pc\appdata\local\programs\python\python310\lib\runpy.py", line 96, in _run_module_code
        _run_code(code, mod_globals, init_globals,
      File "c:\users\pc\appdata\local\programs\python\python310\lib\runpy.py", line 86, in _run_code
        exec(code, run_globals)
      File "D:\project-jittor\jdet\tools\preprocess.py", line 5, in <module>
        from jdet.config import init_cfg, get_cfg
      File "d:\project-jittor\jdet\python\jdet\__init__.py", line 1, in <module>
        from . import models
      File "d:\project-jittor\jdet\python\jdet\models\__init__.py", line 1, in <module>
            from .networks import *from .networks import *
    
      File "d:\project-jittor\jdet\python\jdet\models\networks\__init__.py", line 1, in <module>
      File "d:\project-jittor\jdet\python\jdet\models\networks\__init__.py", line 1, in <module>
    
    MemoryError: Out of memory interning an attribute name
    
    ImportError: DLL load failed while importing cv2: 页面文件太小,无法完成操作。
    

    请问如此高的内存占用是否是正常情况? 有无限制内存使用量的配置项? 还是说目前只能使用更高内存的设备运行预处理指令?

    opened by FirokOtaku 1
  • NotImplementedError from jdet/ops/dcn_v1.py

    NotImplementedError from jdet/ops/dcn_v1.py

    Hi,

    我在运行 https://github.com/Jittor/JDet/blob/master/docs/fair1m_1_5.md 里的 s2anet baseline 时遇到以下问题。 我已经按说明预处理了 FAIR1m1.5 数据。 修改了 configs/s2anet/s2anet_r50_fpn_1x_fair1m_1_5.py 文件里的数据路径,其他地方没有改动。

    运行 python tools/run_net.py --config-file configs/s2anet/s2anet_r50_fpn_1x_fair1m_1_5.py --no_cuda 得到以下输出

    [i 0816 14:20:39.752772 76 compiler.py:955] Jittor(1.3.5.3) src: /home/guangzhi/.local/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor
    [i 0816 14:20:39.757749 76 compiler.py:956] g++ at /usr/bin/g++(12.1.1)
    [i 0816 14:20:39.757837 76 compiler.py:957] cache_path: /home/guangzhi/.cache/jittor/jt1.3.5/g++12.1.1/py3.7.13/Linux-5.10.136xc2/AMDRyzen73700Xx25/default
    [i 0816 14:20:39.761451 76 __init__.py:411] Found nvcc(11.7.99) at /opt/cuda/bin/nvcc.
    [i 0816 14:20:39.768425 76 __init__.py:411] Found addr2line(2.39) at /usr/bin/addr2line.
    [i 0816 14:20:39.877018 76 compiler.py:1010] cuda key:cu11.7.99_sm_
    [i 0816 14:20:40.065266 76 __init__.py:227] Total mem: 62.78GB, using 16 procs for compiling.
    [i 0816 14:20:40.115608 76 jit_compiler.cc:28] Load cc_path: /usr/bin/g++
    [i 0816 14:20:40.117752 76 init.cc:62] Found cuda archs: []
    [i 0816 14:20:40.179477 76 __init__.py:411] Found mpicc(4.1.4) at /usr/bin/mpicc.
    [i 0816 14:20:40.255035 76 compile_extern.py:30] found /opt/cuda/include/cublas.h
    [i 0816 14:20:40.259419 76 compile_extern.py:30] found /opt/cuda/lib64/libcublas.so
    [i 0816 14:20:40.259539 76 compile_extern.py:30] found /opt/cuda/lib64/libcublasLt.so.11
    [i 0816 14:20:40.273131 76 compile_extern.py:30] found /usr/include/cudnn.h
    [i 0816 14:20:40.280202 76 compile_extern.py:30] found /usr/lib/libcudnn.so.8
    [i 0816 14:20:40.280335 76 compile_extern.py:30] found /usr/lib/libcudnn_ops_infer.so.8
    [i 0816 14:20:40.281289 76 compile_extern.py:30] found /usr/lib/libcudnn_ops_train.so.8
    [i 0816 14:20:40.282017 76 compile_extern.py:30] found /usr/lib/libcudnn_cnn_infer.so.8
    [i 0816 14:20:40.309235 76 compile_extern.py:30] found /usr/lib/libcudnn_cnn_train.so.8
    [i 0816 14:20:40.330474 76 compile_extern.py:30] found /opt/cuda/include/curand.h
    [i 0816 14:20:40.335617 76 compile_extern.py:30] found /opt/cuda/lib64/libcurand.so
    [i 0816 14:20:40.342631 76 compile_extern.py:30] found /opt/cuda/include/cufft.h
    [i 0816 14:20:40.350033 76 compile_extern.py:30] found /opt/cuda/lib64/libcufft.so
    Loading config from:  configs/s2anet/s2anet_r50_fpn_1x_fair1m_1_5.py
    [w 0816 14:20:41.049850 76 __init__.py:1344] load parameter fc.weight failed ...
    [w 0816 14:20:41.049903 76 __init__.py:1344] load parameter fc.bias failed ...
    [w 0816 14:20:41.050578 76 __init__.py:1363] load total 267 params, 2 failed
    Tue Aug 16 14:20:41 2022 Start running
    Traceback (most recent call last):
      File "tools/run_net.py", line 56, in <module>
        main()
      File "tools/run_net.py", line 47, in main
        runner.run()
      File "/home/guangzhi/codes/JDet/python/jdet/runner/runner.py", line 84, in run
        self.train()
      File "/home/guangzhi/codes/JDet/python/jdet/runner/runner.py", line 126, in train
        losses = self.model(images,targets)
      File "/home/guangzhi/.local/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor/__init__.py", line 950, in __call__
        return self.execute(*args, **kw)
      File "/home/guangzhi/codes/JDet/python/jdet/models/networks/s2anet.py", line 35, in execute
        outputs = self.bbox_head(features, targets)
      File "/home/guangzhi/.local/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor/__init__.py", line 950, in __call__
        return self.execute(*args, **kw)
      File "/home/guangzhi/codes/JDet/python/jdet/models/roi_heads/s2anet_head.py", line 625, in execute
        outs = multi_apply(self.forward_single, feats, self.anchor_strides)
      File "/home/guangzhi/codes/JDet/python/jdet/utils/general.py", line 53, in multi_apply
        return tuple(map(list, zip(*map_results)))
      File "/home/guangzhi/codes/JDet/python/jdet/models/roi_heads/s2anet_head.py", line 236, in forward_single
        align_feat = self.align_conv(x, refine_anchor.clone(), stride)
      File "/home/guangzhi/.local/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor/__init__.py", line 950, in __call__
        return self.execute(*args, **kw)
      File "/home/guangzhi/codes/JDet/python/jdet/models/roi_heads/s2anet_head.py", line 722, in execute
        x = self.relu(self.deform_conv(x, offset_tensor))
      File "/home/guangzhi/.local/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor/__init__.py", line 950, in __call__
        return self.execute(*args, **kw)
      File "/home/guangzhi/codes/JDet/python/jdet/ops/dcn_v1.py", line 696, in execute
        self.dilation, self.groups, self.deformable_groups)
      File "/home/guangzhi/.local/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor/__init__.py", line 1603, in apply
        return func(*args, **kw)
      File "/home/guangzhi/.local/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor/__init__.py", line 1559, in __call__
        ori_res = self.execute(*args)
      File "/home/guangzhi/codes/JDet/python/jdet/ops/dcn_v1.py", line 589, in execute
        raise NotImplementedError
    NotImplementedError
    

    此外运行以下几个测试均没有提示错误:

    • python -m jittor.test.test_example
    • python -m jittor.test.test_resnet
    • python -m jittor.test.test_array
    • python -m jittor.test.test_cudnn_op

    运行环境:

    • OS: Manjaro Linux
    • python: anaconda 3.7.13
    • jittor: 1.3.5.3
    • jdet: 0.2.0.0
    • GCC: 12.1.1
    • nvcc: 11.7.99

    求帮助!

    opened by Xunius 1
  • Rotated Localization Distillation

    Rotated Localization Distillation

    opened by Zzh-tju 0
  • [Draft] Refactor rotated retinanet

    [Draft] Refactor rotated retinanet

    rotated_retinanet_obb_r50_fpn_1x_dotapy

    • [x] align precision

    AP50: 0.680703990610472 AP75: 0.3696233166176694 mAP: 0.38239658814449895

    rotated_retinanet_hbb_r50_fpn_1x_dotapy

    • [x] align precision

    AP50: 0.6802395531846536 AP75: 0.3542712497478037 mAP: 0.3763502599932124

    rotated_retinanet_hbb_kld_r50_fpn_1x_dota.py

    • [x] align precision

    AP50: 0.6910463482493526 AP75: 0.3973996496628208 mAP: 0.3992403292982243

    rotated_retinanet_obb_kld_r50_fpn_1x_dota.py

    • [ ] align precision

    AP50: 0.6785966713604832 AP75: 0.38222915279287456 mAP: 0.38497389390796355

    rotated_retinanet_hbb_gwd_r50_fpn_1x_dota.py

    • [x] align precision

    AP50: 0.6888047290917456 AP75: 0.39804467910688085 mAP: 0.4001945828110586

    rotated_retinanet_obb_gwd_r50_fpn_1x_dota.py

    • [x] align precision

    AP50: 0.6832703331758821 AP75: 0.3858674353183646 mAP: 0.3934375807556728

    Thanks @OrangeSodahub for providing gaussian_dist_loss_v1.py in #65

    opened by zytx121 0
  • [WIP] Add CSL

    [WIP] Add CSL

    MMRotate 0.x fp16 le90: 69.51 MMRotate 1.x fp16 le90: 68.05 JDet le135: 66.99 (loss_weight=0.8) JDet le135: 67.62 (loss_weight=0.4) JDet le135: 68.04 (loss_weight=0.2)

    opened by zytx121 0
  • 为何 poly2obb 函数中要对 cv2.minAreaRect 返回的角度取负号?

    为何 poly2obb 函数中要对 cv2.minAreaRect 返回的角度取负号?

    请问一下,为何 JDet 的 poly2obb 函数会对 cv2.minAreaRect 返回的角度取负号(angle = -angleangle = -90 - angle)?

        for poly in polys_np:
            (x, y), (w, h), angle = cv2.minAreaRect(poly)
            if w >= h:
                angle = -angle
            else:
                w, h = h, w
                angle = -90 - angle
    

    自己推理了一下,感觉没必要取负号。作为佐证,贴一段 MMRotate 的 poly2obb_np_le90 函数,相同功能,但没有取负号。

        rbbox = cv2.minAreaRect(bboxps)
        x, y, w, h, a = rbbox[0][0], rbbox[0][1], rbbox[1][0], rbbox[1][1], rbbox[2]
        if w < h:
            w, h = h, w
            a += np.pi / 2
    

    请大佬不吝赐教~

    opened by YimianDai 0
  • SyntaxError: invalid syntax

    SyntaxError: invalid syntax

    Extracting jdet-0.2.0.0-py3.7.egg to /environment/miniconda3/lib/python3.7/site-packages File "/environment/miniconda3/lib/python3.7/site-packages/jdet-0.2.0.0-py3.7.egg/jdet/models/roi_heads/rretina_head.py", line 964 outs =

    def execute(self,features): outs =

    opened by fcqfcq 0
  • Tesla v100 for training error

    Tesla v100 for training error

    你好,服务器上有两张卡。一张3090,一张v100,在测试同一个程序时,v100报错但是3090没报错,请问这个是什么问题呢?我尝试了调小batchsize不行,也试了使用其他框架在这张卡是训练是正常的

    发生异常: RuntimeError (note: full exception trace is shown but execution is paused at: _run_module_as_main) [f 0919 16:27:01.178698 16 executor.cc:665] Execute fused operator(41/49) failed. [JIT Source]: /home/lwb/.cache/jittor/jt1.3.5/g++7.5.0/py3.7.13/Linux-5.15.0-4xe4/IntelRXeonRGolxda/default/cu11.1.74_sm_70_86/jit/cutt_transpose__T_1__JIT_1__JIT_cuda_1__index_t_int32_hash_e6e42f8f6f3e9195_op.cc [OP TYPE]: cutt_transpose [Input]: float32[10,238950,], [Output]: float32[238950,10,], [Async Backtrace]: not found, please set env JT_SYNC=1, trace_py_var=3 [Reason]: cudaFuncSetSharedMemConfig(transposePacked<float, 1>, cudaSharedMemBankSizeFourByte ) in file /home/lwb/.cache/jittor/cutt/cutt-1.2/src/calls.h:2, function cuttKernelSetSharedMemConfig Error message: invalid device function


    Async error was detected. To locate the async backtrace and get better error report, please rerun your code with two enviroment variables set:

    export JT_SYNC=1 export trace_py_var=3 File "/home/lwb/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor/contrib.py", line 183, in getitem return getitem(x, slices.where()) File "/home/lwb/work/code/jdet/python/jdet/models/boxes/assigner.py", line 148, in assign_wrt_overlaps assigned_gt_inds[pos_inds] = argmax_overlaps[pos_inds] + 1 File "/home/lwb/work/code/jdet/python/jdet/models/boxes/assigner.py", line 108, in assign assign_result = self.assign_wrt_overlaps(overlaps, gt_labels) File "/home/lwb/work/code/jdet/python/jdet/models/roi_heads/oriented_rpn_head.py", line 314, in _get_targets_single assign_result = self.assigner.assign(anchors, target_bboxes, target_bboxes_ignore, None if self.sampling else gt_labels) File "/home/lwb/work/code/jdet/python/jdet/utils/general.py", line 53, in multi_apply return tuple(map(list, zip(*map_results))) File "/home/lwb/work/code/jdet/python/jdet/models/roi_heads/oriented_rpn_head.py", line 383, in get_targets all_bbox_weights, pos_inds_list, neg_inds_list, sampling_results_list) = multi_apply(self._get_targets_single, anchor_list, valid_flag_list, targets) File "/home/lwb/work/code/jdet/python/jdet/models/roi_heads/oriented_rpn_head.py", line 464, in loss labels_list, label_weights_list, bbox_targets_list, bbox_weights_list,num_total_pos, num_total_neg = self.get_targets(anchor_list, valid_flag_list, targets) File "/home/lwb/work/code/jdet/python/jdet/models/roi_heads/oriented_rpn_head.py", line 494, in execute losses = self.loss(*outs,targets) File "/home/lwb/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor/init.py", line 951, in call return self.execute(*args, **kw) File "/home/lwb/work/code/jdet/python/jdet/models/networks/cascade_orcnn.py", line 47, in execute proposals_list, rpn_losses = self.rpn(features,targets) File "/home/lwb/anaconda3/envs/jdet/lib/python3.7/site-packages/jittor/init.py", line 951, in call return self.execute(*args, **kw) File "/home/lwb/work/code/jdet/python/jdet/runner/runner.py", line 126, in train losses = self.model(images,targets) File "/home/lwb/work/code/jdet/python/jdet/runner/runner.py", line 84, in run self.train() File "/home/lwb/work/code/jdet/tools/run_net.py", line 47, in main runner.run() File "/home/lwb/work/code/jdet/tools/run_net.py", line 56, in main() File "/home/lwb/anaconda3/envs/jdet/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/lwb/anaconda3/envs/jdet/lib/python3.7/runpy.py", line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name) File "/home/lwb/anaconda3/envs/jdet/lib/python3.7/runpy.py", line 263, in run_path pkg_name=pkg_name, script_name=fname) File "/home/lwb/anaconda3/envs/jdet/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/lwb/anaconda3/envs/jdet/lib/python3.7/runpy.py", line 193, in _run_module_as_main (Current frame) "main", mod_spec)

    这个是config文件,应该不是代码的问题,因为3090是可以正常跑的

    model settings

    model = dict( type='CascadeORCNN', backbone=dict( type='Resnet50', frozen_stages=1, return_stages=["layer1","layer2","layer3","layer4"], pretrained= True), neck=dict( type='FPN', in_channels=[256, 512, 1024, 2048], out_channels=256, num_outs=5), rpn = dict( type = "OrientedRPNHead", in_channels=256, num_classes=1, min_bbox_size=0, nms_thresh=0.8, nms_pre=2000, nms_post=2000, feat_channels=256, bbox_type='obb', reg_dim=6, background_label=0, reg_decoded_bbox=False, pos_weight=-1, anchor_generator=dict( type='AnchorGenerator', scales=[8], ratios=[0.5, 1.0, 2.0], strides=[4, 8, 16, 32, 64]), bbox_coder=dict( type='MidpointOffsetCoder', target_means=[.0, .0, .0, .0, .0, .0], target_stds=[1.0, 1.0, 1.0, 1.0, 0.5, 0.5]), loss_cls=dict(type='CrossEntropyLossForRcnn', use_sigmoid=True, loss_weight=1.0), loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0), assigner=dict( type='MaxIoUAssigner', pos_iou_thr=0.7, neg_iou_thr=0.3, min_pos_iou=0.3, ignore_iof_thr=-1, match_low_quality=True, assigned_labels_filled=-1, ), sampler=dict( type='RandomSampler', num=256, pos_fraction=0.5, neg_pos_ub=-1, add_gt_as_proposals=False) ), roi_head=dict( type='OBBCascadeRoIHead', num_stages=3, stage_loss_weights=[1,0.5,0.25], bbox_roi_extractor=dict( type='OrientedSingleRoIExtractor', roi_layer=dict(type='ROIAlignRotated_v1', output_size=7, sampling_ratio=2), out_channels=256, extend_factor=(1.4, 1.2), featmap_strides=[4, 8, 16, 32]), bbox_head=[ dict( type='SharedFCBBoxHeadRbbox', start_bbox_type='obb', end_bbox_type='obb', in_channels=256, fc_out_channels=1024, roi_feat_size=7, num_classes=11, bbox_coder=dict( type='OrientedDeltaXYWHTCoder', target_means=[0., 0., 0., 0., 0.], target_stds=[0.1, 0.1, 0.2, 0.2, 0.1]), reg_class_agnostic=True, loss_cls=dict( type='CrossEntropyLoss'), loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)), dict( type='SharedFCBBoxHeadRbbox', start_bbox_type='obb', end_bbox_type='obb', in_channels=256, fc_out_channels=1024, roi_feat_size=7, num_classes=11, bbox_coder=dict( type='OrientedDeltaXYWHTCoder', target_means=[0., 0., 0., 0., 0.], target_stds=[0.1, 0.1, 0.2, 0.2, 0.1]), reg_class_agnostic=True, loss_cls=dict( type='CrossEntropyLoss'), loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0)), dict( type='SharedFCBBoxHeadRbbox', start_bbox_type='obb', end_bbox_type='obb', in_channels=256, fc_out_channels=1024, roi_feat_size=7, num_classes=11, bbox_coder=dict( type='OrientedDeltaXYWHTCoder', target_means=[0., 0., 0., 0., 0.], target_stds=[0.1, 0.1, 0.2, 0.2, 0.1]), reg_class_agnostic=True, loss_cls=dict( type='CrossEntropyLoss'), loss_bbox=dict(type='SmoothL1Loss', beta=1.0, loss_weight=1.0))] ), train_cfg = dict( rcnn=[ dict( assigner=dict( type='MaxIoUAssigner', pos_iou_thr=0.5, neg_iou_thr=0.5, min_pos_iou=0.5, match_low_quality=False, ignore_iof_thr=-1, iou_calculator=dict(type='BboxOverlaps2D_rotated_v1')), sampler=dict( type='RandomSamplerRotated', num=512, pos_fraction=0.25, neg_pos_ub=-1, add_gt_as_proposals=True), pos_weight=-1, debug=False), dict( assigner=dict( type='MaxIoUAssigner', pos_iou_thr=0.6, neg_iou_thr=0.6, min_pos_iou=0.6, match_low_quality=False, ignore_iof_thr=-1, iou_calculator=dict(type='BboxOverlaps2D_rotated_v1')), sampler=dict( type='RandomSamplerRotated', num=512, pos_fraction=0.25, neg_pos_ub=-1, add_gt_as_proposals=True), pos_weight=-1, debug=False), dict( assigner=dict( type='MaxIoUAssigner', pos_iou_thr=0.7, neg_iou_thr=0.7, min_pos_iou=0.7, match_low_quality=False, ignore_iof_thr=-1, iou_calculator=dict(type='BboxOverlaps2D_rotated_v1')), sampler=dict( type='RandomSamplerRotated', num=512, pos_fraction=0.25, neg_pos_ub=-1, add_gt_as_proposals=True), pos_weight=-1, debug=False) ]) )

    dataset = dict( train=dict( type="FAIR1M_1_5_Dataset", dataset_dir='/home/lwb/work/code/jdet/data/Fair1m1_5/split_aug_ss/train_1024_200_1.0', transforms=[ dict( type="RotatedResize", min_size=1024, max_size=1024 ), dict( type='RotatedRandomFlip', direction="horizontal", prob=0.5), dict( type='RotatedRandomFlip', direction="vertical", prob=0.5), # dict( # type="RandomRotateAug", # random_rotate_on=True, # ), dict( type = "Pad", size_divisor=32), dict( type = "Normalize", mean = [123.675, 116.28, 103.53], std = [58.395, 57.12, 57.375], to_bgr=False,)

        ],
        batch_size=1,
        num_workers=4,
        shuffle=True,
        filter_empty_gt=False,
        balance_category=False
    ),
    val=dict(
        type="FAIR1M_1_5_Dataset",
        dataset_dir='/home/lwb/work/code/jdet/data/Fair1m1_5/split_aug_ss/train_1024_200_1.0',
        transforms=[
            dict(
                type="RotatedResize",
                min_size=1024,
                max_size=1024
            ),
            dict(
                type = "Pad",
                size_divisor=32),
            dict(
                type = "Normalize",
                mean =  [123.675, 116.28, 103.53],
                std = [58.395, 57.12, 57.375],
                to_bgr=False,),
        ],
        batch_size=2,
        num_workers=4,
        shuffle=False
    ),
    test=dict(
        type="ImageDataset",
        images_dir='/home/lwb/work/code/jdet/data/Fair1m1_5/split_aug_ss/test_1024_200_1.0/images',
        transforms=[
            dict(
                type="RotatedResize",
                min_size=1024,
                max_size=1024
            ),
            dict(   
                type = "Pad",
                size_divisor=32),
            dict(
                type = "Normalize",
                mean =  [123.675, 116.28, 103.53],
                std = [58.395, 57.12, 57.375],
                to_bgr=False,),
        ],
        dataset_type="FAIR1M_1_5",
        num_workers=4,
        batch_size=1,
    )
    

    )

    optimizer = dict(type='SGD', lr=0.025, momentum=0.9, weight_decay=0.0001, grad_clip=dict(max_norm=35, norm_type=2))

    scheduler = dict( type='StepLR', warmup='linear', warmup_iters=500, warmup_ratio=0.001, milestones=[7, 10])

    logger = dict( type="RunLogger")

    when we the trained model from cshuan, image is rgb

    max_epoch = 12 eval_interval = 100 checkpoint_interval = 1 log_interval = 50

    opened by 54wb 1
Owner
null
Jittor implementation of PCT:Point Cloud Transformer

PCT: Point Cloud Transformer This is a Jittor implementation of PCT: Point Cloud Transformer.

MenghaoGuo 547 Jan 3, 2023
Jittor Medical Segmentation Lib -- The assignment of Pattern Recognition course (2021 Spring) in Tsinghua University

THU模式识别2021春 -- Jittor 医学图像分割 模型列表 本仓库收录了课程作业中同学们采用jittor框架实现的如下模型: UNet SegNet DeepLab V2 DANet EANet HarDNet及其改动HarDNet_alter PSPNet OCNet OCRNet DL

null 48 Dec 26, 2022
GANSketchingJittor - Implementation of Sketch Your Own GAN in Jittor

GANSketching in Jittor Implementation of (Sketch Your Own GAN) in Jittor(计图). Or

Bernard Tan 10 Jul 2, 2022
Jittor 64*64 implementation of StyleGAN

StyleGanJittor (Tsinghua university computer graphics course) Overview Jittor 64

Song Shengyu 3 Jan 20, 2022
Hybrid CenterNet - Hybrid-supervised object detection / Weakly semi-supervised object detection

Hybrid-Supervised Object Detection System Object detection system trained by hybrid-supervision/weakly semi-supervision (HSOD/WSSOD): This project is

null 5 Dec 10, 2022
Yolo object detection - Yolo object detection with python

How to run download required files make build_image make download Docker versio

null 3 Jan 26, 2022
Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera.

Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera. This project prepares training and testing data for various deep learning projects such as 6D object pose estimation projects singleshotpose, as well as object detection and instance segmentation projects.

null 305 Dec 16, 2022
Official PyTorch implementation of Joint Object Detection and Multi-Object Tracking with Graph Neural Networks

This is the official PyTorch implementation of our paper: "Joint Object Detection and Multi-Object Tracking with Graph Neural Networks". Our project website and video demos are here.

Richard Wang 443 Dec 6, 2022
CLOCs: Camera-LiDAR Object Candidates Fusion for 3D Object Detection

CLOCs is a novel Camera-LiDAR Object Candidates fusion network. It provides a low-complexity multi-modal fusion framework that improves the performance of single-modality detectors. CLOCs operates on the combined output candidates of any 3D and any 2D detector, and is trained to produce more accurate 3D and 2D detection results.

Su Pang 254 Dec 16, 2022
Object Detection and Multi-Object Tracking

Object Detection and Multi-Object Tracking

Bobby Chen 1.6k Jan 4, 2023
Object tracking and object detection is applied to track golf puts in real time and display stats/games.

Putting_Game Object tracking and object detection is applied to track golf puts in real time and display stats/games. Works best with the Perfect Prac

Max 1 Dec 29, 2021
Auto-Lama combines object detection and image inpainting to automate object removals

Auto-Lama Auto-Lama combines object detection and image inpainting to automate object removals. It is build on top of DE:TR from Facebook Research and

null 44 Dec 9, 2022
A Data Annotation Tool for Semantic Segmentation, Object Detection and Lane Line Detection.(In Development Stage)

Data-Annotation-Tool How to Run this Tool? To run this software, follow the steps: git clone https://github.com/Autonomous-Car-Project/Data-Annotation

TiVRA AI 13 Aug 18, 2022
object detection; robust detection; ACM MM21 grand challenge; Security AI Challenger Phase VII

赛题背景 在商品知识产权领域,知识产权体现为在线商品的设计和品牌。不幸的是,在每一天,存在着非法商户通过一些对抗手段干扰商标识别来逃避侵权,这带来了很高的知识产权风险和财务损失。为了促进先进的多媒体人工智能技术的发展,以保护企业来之不易的创作和想法免受恶意使用和剽窃,因此提出了鲁棒性标识检测挑战赛

null 65 Dec 22, 2022
This project deals with the detection of skin lesions within the ISICs dataset using YOLOv3 Object Detection with Darknet.

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Skin Lesion detection using YOLO This project deal

Lalith Veerabhadrappa Badiger 1 Nov 22, 2021
The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

MIC-DKFZ 1.2k Jan 4, 2023