Skip to content

Latest commit

 

History

History
500 lines (325 loc) · 34.9 KB

CHANGELOG.md

File metadata and controls

500 lines (325 loc) · 34.9 KB

Upcoming Release

New Features:

Bug Fixes:

  • Fix error of checkpoint saving by @hglee98 in PR 580
  • Fix example scripts by @hglee98 in PR 596

Breaking Changes:

No changes to highlight.

Other Changes:

  • Refactor RT-DETR and generalize CSPRepLayer and RepVGG block by @hglee98 in PR 581, PR 594
  • Generalize 2d pooling layers and define as custom layer by @hglee98 in PR 583
  • Unify bbox transformation and IoU computing methods by @hglee98 in PR 587
  • Update documents by @hglee98 in PR 591
  • Update mosaic augmentation epoch specification by @hglee98 in PR 604

v1.0.3

New Features:

  • Add RandomResize2 by @illian01 in PR 550
  • Add confidence score on detection visualization by @hglee98 in PR 552
  • Add save_best_only option for saving model by @hglee98 in PR 555, PR 567
  • Add option to select best model saving criterion by @hglee98 and @illian01 in PR 557, PR 573, PR 574
  • Add MultiStepLR scheduler by @hglee98 in PR 559
  • Add class-wise metric analysis option by @illian01 in PR 568
  • Add ReLU6 by @hglee98 in PR 566
  • Add TFLite model evaluation feature by @hglee98 in PR 563
  • Add YOLO-Fastest-v2 by @hglee98 in PR 548
  • Add tabulating step for metric standard outputs by @illian01 in PR 570

Bug Fixes:

  • Fix keyword error of segmentation training by @illian01 in PR 551
  • Fix typo when saving optimizer state_dict by @hglee98 in PR 553
  • Fix not initialized save_dtype error by @hglee98 in PR 565
  • Fix mAP error in case of certain classes object is not in the dataset @hglee98 in PR 571, PR 572

Breaking Changes:

  • Massive refactoring metric modules and add flexible metric selecting option by @illian01 in PR 564

Other Changes:

No changes to highlight.

v1.0.2

New Features:

  • Add no_weight_decay and overwrite option in optimizer config by @illian01 in PR 534
  • Fuse reparameterable layers before save by @hglee98 in PR 531
  • Add ONNX model evaluation feature by @illian01 in PR 539
  • Add ONNX export tool by @illian01 in PR 541
  • Add VOC 2012 dataset auto-downloader by @illian01 in PR 546

Bug Fixes:

  • Fix bug in RandomCrop and segmentation dataset getitem by @illian01 in PR 535
  • Handle unexpected error during training rt-detr by @hglee98 in PR 530
  • Fix no 'deploy' attribute error in fx model train phase by @illian01 in PR 543
  • Fix bugs of PIDNet forward and saving by @illian01 in PR 544

Breaking Changes:

  • Remove fx_model_path in model configuration and parsing model format by file extensions by @illian01 in PR 538

Other Changes:

  • Document updates by @illian01 in PR 533
  • Delete install command for the optional requirements from Dockerfile by @hglee98 in PR 532

v1.0.1

New Features:

  • Add RT-DETR by @illian01 and @hglee98 in PR 490, PR 491, PR 494, PR 498, PR 500, PR 507, PR 501
  • Add Objects365 dataset auto downloader by @hglee98 in PR 482
  • Add ResNet model parameters to support various form by @illian01 in PR 497, PR 523
  • Add RandomIoUCrop, RandomZoomOut augmentation by @hglee98 in PR 504
  • Add MobileNetV4 backbone by @illian01 and hglee98 in PR 516, PR 520, PR 526
  • Add gradient clipping feature by hglee98 in PR 506
  • Enabled to control ToTensor and Normalization through config file by @illian01 in PR 522
  • Enable to set onnx opset version through config file by @illian01 in PR 525

Bug Fixes:

  • Fix handling error in case of error occured in first epoch by @illian01 in PR 493
  • Fix error in FLOPs computation by @illian01 in PR 499

Breaking Changes:

No changes to highlight.

Other Changes:

  • Update pi 4b deployment benchmark by @illian01 in PR 492
  • Clamp bbox for detection dataset loading by @hglee98 in PR 503
  • Combine requirements and requirements-optional by @illian01 in PR 517

v1.0.0

New Features:

  • Add YOLOX-nano and YOLOX-tiny by @hglee98 in PR 467
  • Separate postprocessor configuration hierarchy by @hglee98 in PR 470
  • Add YOLO-Fastest by @hglee98 in PR 471
  • Write detailed status on training_summary by @illian01 in PR 487

Bug Fixes:

No changes to highlight.

Breaking Changes:

No changes to highlight.

Other Changes:

  • Change attention bias interpolate method by @illian01 in PR 468
  • Fix ViT token number in positional encoding for torch.fx compile step by @illian01 in PR 475
  • Remove output typing of PIDNet by @illian01 in PR 477
  • Update documentation by @illian01 in PR 483, PR 485
  • Minor refactorings by hglee98 in PR 513, PR 518

v0.2.2

New Features:

  • Update Benchmarks & Checkpoints (docs) and weights files to fully usable by @illian01 in PR 446, PR 447, PR 456, PR 461
  • Add TFLite runtime code example by @illian01 in PR 449

Bug Fixes:

  • Fix best_epoch init error in TrainingSummary in case of training resume by @illian01 in PR 448
  • Fix segmentation metric logic bug by @illian01 in PR 455, PR 460

Breaking Changes:

No changes to highlight.

Other Changes:

  • Refactoring: remove thop, replace MACs with FLOPs by @illian01 in PR 444
  • Add copyright for entire project by @illian01 in PR 451
  • Modify ImageSaver to receive various resolution at once @illian01 in PR 458

v0.2.1

New Features:

  • Add dataset validation step and refactoring data modules by @illian01 in PR 417, PR 419
  • Add various dataset examples including automatic open dataset format converter by @illian01 in PR 430
  • Allow using text file path for the id_mapping field by @illian01 in PR 432, PR 435

Bug Fixes:

  • Fix test directory check line by @illian01 in PR 428
  • Fix Dockerfile installation commandline @cbpark-nota in PR 434

Breaking Changes:

No changes to highlight.

Other Changes:

  • Save training summary at every end of epochs by @illian01 in PR 420
  • Refacotring: rename postprocessors/register.py to registry.py by @aychun in PR 424
  • Add example configuration set by @illian01 in PR 438
  • Documentation: fix simple use config file path by @cbpark-nota in PR 437

v0.2.0

New Features:

  • Add activation and dropout layer in FC by @illian01 in PR 325, PR 327
  • Add function to Resize: Match longer side with input size and keep ratio by @illian01 in PR 329
  • Add transforms: MosaicDetection by @illian01 in PR 331, PR 337, PR 397
  • Add transform: HSVJitter by @illian01 in PR 336, PR 413
  • Add transforms: RandomResize by @illian01 in PR 341, PR 344, PR 398
  • Add model EMA (Exponential Moving Average) by @illian01 in PR 348
  • Add entry point for evaluation and inference by @illian01 in PR 374, PR 379, PR 381, PR 383
  • Add classification visulizer by @illian01 in PR 384
  • Add dataset caching feature by @illian01 in PR 391
  • Add mixed precision training by @illian01 in PR 392
  • Add YOLOX l1 loss activation option by @illian01 in PR 396
  • Add NetsPresso Trainer YOLOX pretrained weights by @illian01 in PR 406

Bug Fixes:

  • Fix output_root_dir from fixed string to config value by @illian01 in PR 323
  • Gather predicted results before compute metric and fix additional distributed evaluation inaccurate error by @illian01 in PR 346, PR 356
  • Fix detection score return by @illian01 in PR 373
  • Fix memory leak from onnx export by @illian01 in PR 386, PR 394
  • Refactoring metric modules and fix inaccurate metric bug by @illian01 in PR 402

Breaking Changes:

  • Simplify augmentation configuration hierarchy by @illian01 in PR 322
  • Add pose estimation task and RTMPose model by @illian01 in PR 357, PR 366
  • Remove pythonic config and move training initialization functions to trainer_main.py by @illian01 in PR 371
  • Unify gradio demo in one page by @deepkyu in PR 408

Other Changes:

  • Refactoring: Move custom transforms to each python module by @illian01 in PR 332
  • Update Pad transform to receive target size of image by @illian01 in PR 334
  • Rafactoring: Fix to make transform object in init by @illian01 in PR 339
  • Add before_epoch step which does update modules like dataloader before epoch training by @illian01 in PR 340
  • Revert PR 340 and add multiprocessing.Value to handle MosaicDetection and RandomResize by @illian01 in PR 345
  • Enable adjust max epoch of scheduler by illian01 in PR 350
  • Remove github action about hugging face space demo by @illian01 in PR 351
  • Update docs by @illian01 in PR 355, PR 410
  • Backbone task compatibility checking refactoring by @illian01 in PR 361, PR 364
  • Fix postprocessor return type as numpy.ndarray by @illian01 in PR 365
  • Update default asignees of issue template by @illian01 in PR 375
  • Refactoring: Remove CSV logger, change logger module input format by @illian01 in PR 377
  • Change ClassficationDataSampler logic by @illian01 in PR 382
  • Add YOLOX weights initialization step by @illian01 in PR 393
  • Minor update: detection postprocessor, dataset, and padding strategy by @illian01 in PR 395
  • Specify input size for onnx export and remove augmentation.img_size by @illian01 in PR 399
  • Update issue and pr template by @illian01 in PR 401
  • Add documentation auto deploy action by @illian01 in PR 405

v0.1.2

New Features:

No changes to highlight.

Bug Fixes:

  • Remove union of int and list by @illian01 in PR 317

Breaking Changes:

No changes to highlight.

Other Changes:

No changes to highlight.

v0.1.1

New Features:

  • Enable customizing inference transform by @illian01 in PR 304
  • Add transform function: CenterCrop by @illian01 in PR 308

Bug Fixes:

  • Fix automatic PIDNet weights download bug by @illian01 in PR 306
  • Resize default value to list by @illian01 in PR 315

Breaking Changes:

No changes to highlight.

Other Changes:

  • Update model caching directory and checkpoint configuration by @deepkyu in PR 299, PR 312
  • Minor docs update by @illian01 in PR 300
  • Update software development stage by @illian01 in PR 301
  • Fix size param of Resize to receive int or list by @illian01 in PR 310
  • Modify PIDNet conv bias, add head_list property on models by @illian01 in PR 311

v0.1.0

New Features:

  • Construct head by config file by @illian01 in PR 237
  • Construct neck by config file by @illian01 in PR 249
  • Add model: RetinaNet by @illian01 in PR 257
  • Select gpus with environment configuration by @deepkyu in PR 269
  • Return logging directory path and fix training interfaces by @deepkyu in PR 271
  • Add transform: AutoAugment by @illian01 in PR 281

Bug Fixes:

  • Fix attribute error on fc by @illian01 in PR 252
  • Restore file export for stream log by @deepkyu in PR 255
  • Fix CSV logging, configuration error, and misused loggings by @deepkyu in PR 259
  • Fix minor bug in train.py by @illian01 in PR 277
  • Fix local classification dataset loader error by @illian01 in PR 279
  • Fix safetensors file overwriting bug by @illian01 in PR 289
  • Fix error on full model load by @illian01 in PR 295

Breaking Changes:

  • Provide pytorch state dict with .safetensors and training summary with .json for a better utilization by @deepkyu in PR 262

Other Changes:

  • Refactoring for detection models by @illian01 in PR 260
  • Equalize logging format with PyNetsPresso by @deepkyu in PR 263
  • Refactoring for clean docs by @illian01 in PR 265, PR 266, PR 272, PR 273, PR 274, PR 284
  • Update docs up-to-date by @illian01 in PR 278
  • Refactoring model building code and move TASK_MODEL_DICT by @illian01 in PR 282
  • Add eps param on RMSprop by @illian01 in PR 285
  • Fix weights loading logic by @illian01 in PR 287, PR 290
  • Change pretrained checkpoint name convention and update weight path and url by @illian01 in PR 291
  • Move seed field to environment config by @illian01 in PR 292
  • Move ResNet and Fc implementation code to core directory by @illian01 in PR 294

v0.0.10

New Features:

  • Add a gpu option in train_with_config (only single-GPU supported) by @deepkyu in PR 219
  • Support augmentation for classification task: cutmix, mixup by @illian01 in PR 221
  • Add model: MixNet by @illian01 in PR 229
  • Add model.name to get the exact nickname of the model by @deepkyu in PR 243
  • Add transforms: RandomErasing and TrivialAugmentationWide by @illian01 in PR 246

Bug Fixes:

  • Fix PIDNet model dataclass task field by @illian01 in PR 220
  • Fix default criterion value of classification @illian01 in PR 238
  • Fix model access of 2-stage detection pipeline to compat with distributed environment by @illian in PR 239

Breaking Changes:

  • Enable dataset augmentation customizing by @illian01 in PR 201
  • Add postprocessor module by @illian01 in PR 223
  • Equalize the model backbone configuration format by @illian01 in PR 228
  • Separate FPN and PAFPN as neck module by @illian01 in PR 234
  • Auto-download pretrained checkpoint from AWS S3 by @deepkyu in PR 244

Other Changes:

  • Update ruff rule (W) by @deepkyu in PR 218
  • Integrate classification loss modules by @illian01 in PR 226

v0.0.9

New Features:

  • Add YOLOX model by @illian01 in PR 195, PR 212
  • Fix Faster R-CNN detection head to compat with PyNP compressor by @illian01 in PR 184, PR 194, PR 204
  • Support multi-GPU training with netspresso-train entrypoint by @deepkyu, @illian01 and @Only-bottle in PR 213

Bug Fixes:

  • Remove fx training flag in entry point by @illian01 in PR 188
  • Fix bounding box coordinates computing error on random flip augmentation by @illian01 in PR 211

Breaking Changes:

  • Release NetsPresso Trainer colab tutorial @illian01 in PR 191
  • Support training with python-level config by @deepkyu in PR 205

Other Changes:

  • Refactoring models/op module by @illian01 in PR 189, PR 190
  • Parameterize activation function of BasicBlock and Bottleneck by @illian01 in PR193
  • Modify MobileNetV3 to stage format and remove forward hook by @illian01 in PR 199
  • Substitute MACs counter with fvcore library to sync with NetsPresso by @deepkyu and @Only-bottle in PR 202
  • Enable to compute metric with all training samples by @illian01 in PR 210

v0.0.8

New Features:

  • Add MobileNetV3 by @illian01 in PR 173
  • Handling for fp16 fx model by @illian01 in PR 175
  • Deploy Gradio simulators to Hugging Face Space by @deepkyu in PR 181

Bug Fixes:

No changes to highlight.

Breaking Changes:

No changes to highlight.

Other Changes:

  • Removed model_name check in create_transform_segmentation function by @illian01 in Pr 176
  • Combine entry point to train.py by @illian01 in Pr 180

v0.0.7

New Features:

No changes to highlight.

Bug Fixes:

  • ⚠️ Fix pypi package import by @deepkyu in PR 169

Breaking Changes:

No changes to highlight.

Other Changes:

No changes to highlight.

v0.0.6

New Features:

  • Support RGB segmentation map and class with label value by @deepkyu in PR 163

Bug Fixes:

  • Fix import error for Sequence by @illian01 in PR 155
  • Add last epoch validation and delete save_converted_model by @illian01 in PR 157

Breaking Changes:

No changes to highlight.

Other Changes:

  • Add onnx save in best model saving step of graph model training by @illian01 in PR 160.
  • Update to keep community standards by @illian01 in PR 162
  • Update a lot of contents in docs (but not finished...) by @deepkyu in PR 165
  • Add github workflow for pypi packaging by @deepkyu in PR 166

v0.0.5

Notice: there are some changes in maintaining the repository and we transferred the original private repository to the public(planned) location. Some PR links may be expired because those links are based on the previous version of repository. Hope you understand.
This change is applied at PR 151

New Features:

  • Update the model configuration to handle the architecture by @deepkyu in PR 130

Bug Fixes:

  • Add tensorboard in requirements.txt by @illian01 in PR 134
  • Fix typo in scripts/example_train.sh by @illian01 in PR 137
  • Initialize loss and metric at same time with optimizer and lr schedulers by @deepkyu in PR 138
  • Hotfix the error which shows 0 for validation loss and metrics by fixing the variable name by @deepkyu in PR 140
  • Add missing field, save_optimizer_state, in logging.yaml by @illian01 in PR 149
  • Hotfix for pythonic config name (classification loss) by @deepkyu in PR 242

Breaking Changes:

  • Add checkpoint saving while training, resume training with the checkpoint, save the training summary with # Params and MACs by @deepkyu in PR 135
  • Change parsing argument for FX model retraining and resuming training to model configuration by @deepkyu in PR 135
  • Apply ruff linter and add workflow for ruff checking by @deepkyu in PR 143

Other Changes:

  • Add PyNetsPresso tab in documentation page by @deepkyu in PR 128
  • Fix issue template and default assignee per issue type by @deepkyu in PR 144

v0.0.4

New Features:

  • Generalize segmentation head and add support ResNet50 + segmentation by @deepkyu in PR 122

Bug Fixes:

No changes to highlight.

Breaking Changes:

No changes to highlight.

Other Changes:

  • Simplify training configuration and example training scripts by @deepkyu in PR 124
  • Add PyNetsPresso tab in docs page by @deepkyu in PR 128

v0.0.3

New Features:

  • Add LR simulator (powered by gradio) with training configuration by @deepkyu in [PR 116](https://github.com/Nota-NetsPresso/netspresso-trainer/pull/116)
  • Add augmentation simulator (powered by gradio) with augmentation configuration by @deepkyu in [PR 118](https://github.com/Nota-NetsPresso/netspresso-trainer/pull/118)
  • Add LR scheduler (cosine with warm restart, step_lr) by @deepkyu in [PR 114](https://github.com/Nota-NetsPresso/netspresso-trainer/pull/114)

Bug Fixes:

No changes to highlight.

Breaking Changes:

  • Support detection training with its metric by @deepkyu in [PR 119](https://github.com/Nota-NetsPresso/netspresso-trainer/pull/119)

Other Changes:

No changes to highlight.