diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..af957a3d --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,27 @@ +[project] +name = "dfine" +version = "0.1.0" +description = "Real-time object detector based on DETRs and FDR." +readme = "README.md" +requires-python = ">=3.10" +dependencies = [ + "calflops>=0.3.2", + "loguru>=0.7.3", + "pyyaml>=6.0.2", + "scipy>=1.15.2", + "torch>=2.0.1", + "torchvision>=0.15.2", + "transformers>=4.50.3", +] + +[project.optional-dependencies] +training = [ + "faster-coco-eval>=1.6.5", + "tensorboard>=2.19.0", +] +all = [ + "dfine[training]", +] + +[tool.uv.sources] +dfine = { workspace = true } diff --git a/src/__init__.py b/src/dfine/__init__.py similarity index 100% rename from src/__init__.py rename to src/dfine/__init__.py diff --git a/src/core/__init__.py b/src/dfine/core/__init__.py similarity index 100% rename from src/core/__init__.py rename to src/dfine/core/__init__.py diff --git a/src/core/_config.py b/src/dfine/core/_config.py similarity index 100% rename from src/core/_config.py rename to src/dfine/core/_config.py diff --git a/src/core/workspace.py b/src/dfine/core/workspace.py similarity index 100% rename from src/core/workspace.py rename to src/dfine/core/workspace.py diff --git a/src/core/yaml_config.py b/src/dfine/core/yaml_config.py similarity index 100% rename from src/core/yaml_config.py rename to src/dfine/core/yaml_config.py diff --git a/src/core/yaml_utils.py b/src/dfine/core/yaml_utils.py similarity index 100% rename from src/core/yaml_utils.py rename to src/dfine/core/yaml_utils.py diff --git a/src/data/__init__.py b/src/dfine/data/__init__.py similarity index 100% rename from src/data/__init__.py rename to src/dfine/data/__init__.py diff --git a/src/data/_misc.py b/src/dfine/data/_misc.py similarity index 100% rename from src/data/_misc.py rename to src/dfine/data/_misc.py diff --git a/src/data/dataloader.py b/src/dfine/data/dataloader.py similarity index 100% rename from src/data/dataloader.py rename to src/dfine/data/dataloader.py diff --git a/src/data/dataset/__init__.py b/src/dfine/data/dataset/__init__.py similarity index 100% rename from src/data/dataset/__init__.py rename to src/dfine/data/dataset/__init__.py diff --git a/src/data/dataset/_dataset.py b/src/dfine/data/dataset/_dataset.py similarity index 100% rename from src/data/dataset/_dataset.py rename to src/dfine/data/dataset/_dataset.py diff --git a/src/data/dataset/cifar_dataset.py b/src/dfine/data/dataset/cifar_dataset.py similarity index 100% rename from src/data/dataset/cifar_dataset.py rename to src/dfine/data/dataset/cifar_dataset.py diff --git a/src/data/dataset/coco_dataset.py b/src/dfine/data/dataset/coco_dataset.py similarity index 100% rename from src/data/dataset/coco_dataset.py rename to src/dfine/data/dataset/coco_dataset.py diff --git a/src/data/dataset/coco_eval.py b/src/dfine/data/dataset/coco_eval.py similarity index 100% rename from src/data/dataset/coco_eval.py rename to src/dfine/data/dataset/coco_eval.py diff --git a/src/data/dataset/coco_utils.py b/src/dfine/data/dataset/coco_utils.py similarity index 100% rename from src/data/dataset/coco_utils.py rename to src/dfine/data/dataset/coco_utils.py diff --git a/src/data/dataset/voc_detection.py b/src/dfine/data/dataset/voc_detection.py similarity index 100% rename from src/data/dataset/voc_detection.py rename to src/dfine/data/dataset/voc_detection.py diff --git a/src/data/dataset/voc_eval.py b/src/dfine/data/dataset/voc_eval.py similarity index 100% rename from src/data/dataset/voc_eval.py rename to src/dfine/data/dataset/voc_eval.py diff --git a/src/data/transforms/__init__.py b/src/dfine/data/transforms/__init__.py similarity index 100% rename from src/data/transforms/__init__.py rename to src/dfine/data/transforms/__init__.py diff --git a/src/data/transforms/_transforms.py b/src/dfine/data/transforms/_transforms.py similarity index 100% rename from src/data/transforms/_transforms.py rename to src/dfine/data/transforms/_transforms.py diff --git a/src/data/transforms/container.py b/src/dfine/data/transforms/container.py similarity index 100% rename from src/data/transforms/container.py rename to src/dfine/data/transforms/container.py diff --git a/src/data/transforms/functional.py b/src/dfine/data/transforms/functional.py similarity index 100% rename from src/data/transforms/functional.py rename to src/dfine/data/transforms/functional.py diff --git a/src/data/transforms/mosaic.py b/src/dfine/data/transforms/mosaic.py similarity index 100% rename from src/data/transforms/mosaic.py rename to src/dfine/data/transforms/mosaic.py diff --git a/src/data/transforms/presets.py b/src/dfine/data/transforms/presets.py similarity index 100% rename from src/data/transforms/presets.py rename to src/dfine/data/transforms/presets.py diff --git a/src/misc/__init__.py b/src/dfine/misc/__init__.py similarity index 100% rename from src/misc/__init__.py rename to src/dfine/misc/__init__.py diff --git a/src/misc/box_ops.py b/src/dfine/misc/box_ops.py similarity index 100% rename from src/misc/box_ops.py rename to src/dfine/misc/box_ops.py diff --git a/src/misc/dist_utils.py b/src/dfine/misc/dist_utils.py similarity index 100% rename from src/misc/dist_utils.py rename to src/dfine/misc/dist_utils.py diff --git a/src/misc/lazy_loader.py b/src/dfine/misc/lazy_loader.py similarity index 100% rename from src/misc/lazy_loader.py rename to src/dfine/misc/lazy_loader.py diff --git a/src/misc/logger.py b/src/dfine/misc/logger.py similarity index 100% rename from src/misc/logger.py rename to src/dfine/misc/logger.py diff --git a/src/misc/profiler_utils.py b/src/dfine/misc/profiler_utils.py similarity index 100% rename from src/misc/profiler_utils.py rename to src/dfine/misc/profiler_utils.py diff --git a/src/misc/visualizer.py b/src/dfine/misc/visualizer.py similarity index 100% rename from src/misc/visualizer.py rename to src/dfine/misc/visualizer.py diff --git a/src/nn/__init__.py b/src/dfine/nn/__init__.py similarity index 100% rename from src/nn/__init__.py rename to src/dfine/nn/__init__.py diff --git a/src/nn/arch/__init__.py b/src/dfine/nn/arch/__init__.py similarity index 100% rename from src/nn/arch/__init__.py rename to src/dfine/nn/arch/__init__.py diff --git a/src/nn/arch/classification.py b/src/dfine/nn/arch/classification.py similarity index 100% rename from src/nn/arch/classification.py rename to src/dfine/nn/arch/classification.py diff --git a/src/nn/arch/yolo.py b/src/dfine/nn/arch/yolo.py similarity index 100% rename from src/nn/arch/yolo.py rename to src/dfine/nn/arch/yolo.py diff --git a/src/nn/backbone/__init__.py b/src/dfine/nn/backbone/__init__.py similarity index 100% rename from src/nn/backbone/__init__.py rename to src/dfine/nn/backbone/__init__.py diff --git a/src/nn/backbone/common.py b/src/dfine/nn/backbone/common.py similarity index 100% rename from src/nn/backbone/common.py rename to src/dfine/nn/backbone/common.py diff --git a/src/nn/backbone/csp_darknet.py b/src/dfine/nn/backbone/csp_darknet.py similarity index 100% rename from src/nn/backbone/csp_darknet.py rename to src/dfine/nn/backbone/csp_darknet.py diff --git a/src/nn/backbone/csp_resnet.py b/src/dfine/nn/backbone/csp_resnet.py similarity index 100% rename from src/nn/backbone/csp_resnet.py rename to src/dfine/nn/backbone/csp_resnet.py diff --git a/src/nn/backbone/hgnetv2.py b/src/dfine/nn/backbone/hgnetv2.py similarity index 100% rename from src/nn/backbone/hgnetv2.py rename to src/dfine/nn/backbone/hgnetv2.py diff --git a/src/nn/backbone/presnet.py b/src/dfine/nn/backbone/presnet.py similarity index 100% rename from src/nn/backbone/presnet.py rename to src/dfine/nn/backbone/presnet.py diff --git a/src/nn/backbone/test_resnet.py b/src/dfine/nn/backbone/test_resnet.py similarity index 100% rename from src/nn/backbone/test_resnet.py rename to src/dfine/nn/backbone/test_resnet.py diff --git a/src/nn/backbone/timm_model.py b/src/dfine/nn/backbone/timm_model.py similarity index 100% rename from src/nn/backbone/timm_model.py rename to src/dfine/nn/backbone/timm_model.py diff --git a/src/nn/backbone/torchvision_model.py b/src/dfine/nn/backbone/torchvision_model.py similarity index 100% rename from src/nn/backbone/torchvision_model.py rename to src/dfine/nn/backbone/torchvision_model.py diff --git a/src/nn/backbone/utils.py b/src/dfine/nn/backbone/utils.py similarity index 100% rename from src/nn/backbone/utils.py rename to src/dfine/nn/backbone/utils.py diff --git a/src/nn/criterion/__init__.py b/src/dfine/nn/criterion/__init__.py similarity index 100% rename from src/nn/criterion/__init__.py rename to src/dfine/nn/criterion/__init__.py diff --git a/src/nn/criterion/det_criterion.py b/src/dfine/nn/criterion/det_criterion.py similarity index 100% rename from src/nn/criterion/det_criterion.py rename to src/dfine/nn/criterion/det_criterion.py diff --git a/src/nn/postprocessor/__init__.py b/src/dfine/nn/postprocessor/__init__.py similarity index 100% rename from src/nn/postprocessor/__init__.py rename to src/dfine/nn/postprocessor/__init__.py diff --git a/src/nn/postprocessor/box_revert.py b/src/dfine/nn/postprocessor/box_revert.py similarity index 100% rename from src/nn/postprocessor/box_revert.py rename to src/dfine/nn/postprocessor/box_revert.py diff --git a/src/nn/postprocessor/detr_postprocessor.py b/src/dfine/nn/postprocessor/detr_postprocessor.py similarity index 100% rename from src/nn/postprocessor/detr_postprocessor.py rename to src/dfine/nn/postprocessor/detr_postprocessor.py diff --git a/src/nn/postprocessor/nms_postprocessor.py b/src/dfine/nn/postprocessor/nms_postprocessor.py similarity index 100% rename from src/nn/postprocessor/nms_postprocessor.py rename to src/dfine/nn/postprocessor/nms_postprocessor.py diff --git a/src/optim/__init__.py b/src/dfine/optim/__init__.py similarity index 100% rename from src/optim/__init__.py rename to src/dfine/optim/__init__.py diff --git a/src/optim/amp.py b/src/dfine/optim/amp.py similarity index 100% rename from src/optim/amp.py rename to src/dfine/optim/amp.py diff --git a/src/optim/ema.py b/src/dfine/optim/ema.py similarity index 100% rename from src/optim/ema.py rename to src/dfine/optim/ema.py diff --git a/src/optim/optim.py b/src/dfine/optim/optim.py similarity index 100% rename from src/optim/optim.py rename to src/dfine/optim/optim.py diff --git a/src/optim/warmup.py b/src/dfine/optim/warmup.py similarity index 100% rename from src/optim/warmup.py rename to src/dfine/optim/warmup.py diff --git a/src/solver/__init__.py b/src/dfine/solver/__init__.py similarity index 100% rename from src/solver/__init__.py rename to src/dfine/solver/__init__.py diff --git a/src/solver/_solver.py b/src/dfine/solver/_solver.py similarity index 100% rename from src/solver/_solver.py rename to src/dfine/solver/_solver.py diff --git a/src/solver/clas_engine.py b/src/dfine/solver/clas_engine.py similarity index 100% rename from src/solver/clas_engine.py rename to src/dfine/solver/clas_engine.py diff --git a/src/solver/clas_solver.py b/src/dfine/solver/clas_solver.py similarity index 100% rename from src/solver/clas_solver.py rename to src/dfine/solver/clas_solver.py diff --git a/src/solver/det_engine.py b/src/dfine/solver/det_engine.py similarity index 100% rename from src/solver/det_engine.py rename to src/dfine/solver/det_engine.py diff --git a/src/solver/det_solver.py b/src/dfine/solver/det_solver.py similarity index 100% rename from src/solver/det_solver.py rename to src/dfine/solver/det_solver.py diff --git a/src/solver/validator.py b/src/dfine/solver/validator.py similarity index 100% rename from src/solver/validator.py rename to src/dfine/solver/validator.py diff --git a/src/zoo/__init__.py b/src/dfine/zoo/__init__.py similarity index 100% rename from src/zoo/__init__.py rename to src/dfine/zoo/__init__.py diff --git a/src/zoo/dfine/__init__.py b/src/dfine/zoo/dfine/__init__.py similarity index 100% rename from src/zoo/dfine/__init__.py rename to src/dfine/zoo/dfine/__init__.py diff --git a/src/zoo/dfine/blog.md b/src/dfine/zoo/dfine/blog.md similarity index 100% rename from src/zoo/dfine/blog.md rename to src/dfine/zoo/dfine/blog.md diff --git a/src/zoo/dfine/blog_cn.md b/src/dfine/zoo/dfine/blog_cn.md similarity index 100% rename from src/zoo/dfine/blog_cn.md rename to src/dfine/zoo/dfine/blog_cn.md diff --git a/src/zoo/dfine/box_ops.py b/src/dfine/zoo/dfine/box_ops.py similarity index 100% rename from src/zoo/dfine/box_ops.py rename to src/dfine/zoo/dfine/box_ops.py diff --git a/src/zoo/dfine/denoising.py b/src/dfine/zoo/dfine/denoising.py similarity index 100% rename from src/zoo/dfine/denoising.py rename to src/dfine/zoo/dfine/denoising.py diff --git a/src/zoo/dfine/dfine.py b/src/dfine/zoo/dfine/dfine.py similarity index 100% rename from src/zoo/dfine/dfine.py rename to src/dfine/zoo/dfine/dfine.py diff --git a/src/zoo/dfine/dfine_criterion.py b/src/dfine/zoo/dfine/dfine_criterion.py similarity index 100% rename from src/zoo/dfine/dfine_criterion.py rename to src/dfine/zoo/dfine/dfine_criterion.py diff --git a/src/zoo/dfine/dfine_decoder.py b/src/dfine/zoo/dfine/dfine_decoder.py similarity index 100% rename from src/zoo/dfine/dfine_decoder.py rename to src/dfine/zoo/dfine/dfine_decoder.py diff --git a/src/zoo/dfine/dfine_utils.py b/src/dfine/zoo/dfine/dfine_utils.py similarity index 100% rename from src/zoo/dfine/dfine_utils.py rename to src/dfine/zoo/dfine/dfine_utils.py diff --git a/src/zoo/dfine/hybrid_encoder.py b/src/dfine/zoo/dfine/hybrid_encoder.py similarity index 100% rename from src/zoo/dfine/hybrid_encoder.py rename to src/dfine/zoo/dfine/hybrid_encoder.py diff --git a/src/zoo/dfine/matcher.py b/src/dfine/zoo/dfine/matcher.py similarity index 100% rename from src/zoo/dfine/matcher.py rename to src/dfine/zoo/dfine/matcher.py diff --git a/src/zoo/dfine/postprocessor.py b/src/dfine/zoo/dfine/postprocessor.py similarity index 100% rename from src/zoo/dfine/postprocessor.py rename to src/dfine/zoo/dfine/postprocessor.py diff --git a/src/zoo/dfine/utils.py b/src/dfine/zoo/dfine/utils.py similarity index 100% rename from src/zoo/dfine/utils.py rename to src/dfine/zoo/dfine/utils.py