{"id":24870951,"url":"https://github.com/nota-netspresso/netspresso-trainer","last_synced_at":"2025-10-15T14:31:47.581Z","repository":{"id":194910851,"uuid":"584981863","full_name":"Nota-NetsPresso/netspresso-trainer","owner":"Nota-NetsPresso","description":"A library for training, compressing and deploying computer vision models (including ViT) with edge devices","archived":false,"fork":false,"pushed_at":"2025-07-15T09:20:36.000Z","size":26324,"stargazers_count":70,"open_issues_count":13,"forks_count":9,"subscribers_count":5,"default_branch":"dev","last_synced_at":"2025-09-28T18:19:34.869Z","etag":null,"topics":["computer-vision","fx","netspresso","onnx","pytorch","tensorrt","trainer"],"latest_commit_sha":null,"homepage":"https://nota-netspresso.github.io/netspresso-trainer/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nota-NetsPresso.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-01-04T02:30:52.000Z","updated_at":"2025-09-16T03:41:04.000Z","dependencies_parsed_at":"2023-09-15T18:35:31.188Z","dependency_job_id":"c3fa925a-a595-4e55-8b4f-b987950ee850","html_url":"https://github.com/Nota-NetsPresso/netspresso-trainer","commit_stats":null,"previous_names":["nota-netspresso/netspresso-trainer"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/Nota-NetsPresso/netspresso-trainer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nota-NetsPresso%2Fnetspresso-trainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nota-NetsPresso%2Fnetspresso-trainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nota-NetsPresso%2Fnetspresso-trainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nota-NetsPresso%2Fnetspresso-trainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nota-NetsPresso","download_url":"https://codeload.github.com/Nota-NetsPresso/netspresso-trainer/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nota-NetsPresso%2Fnetspresso-trainer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279085462,"owners_count":26100017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","fx","netspresso","onnx","pytorch","tensorrt","trainer"],"created_at":"2025-02-01T04:17:48.540Z","updated_at":"2025-10-15T14:31:47.575Z","avatar_url":"https://github.com/Nota-NetsPresso.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/netspresso_trainer_header_tmp.png\" width=\"800\"/\u003e\n\u003c/div\u003e\n\u003c/br\u003e\n\n\u003ccenter style=\"white-space: pre-line\"\u003e\nStart training models (including ViTs) with \u003cb\u003eNetsPresso Trainer\u003c/b\u003e,\ncompress and deploy your model with \u003cb\u003eNetsPresso\u003c/b\u003e!\n\u003c/center\u003e\n\u003c/br\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://py.netspresso.ai/\"\u003eWebsite\u003c/a\u003e •\n  \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e •\n  \u003ca href=\"https://github.com/Nota-NetsPresso/netspresso-trainer/issues\"\u003eIssues\u003c/a\u003e •\n  \u003ca href=\"https://nota-netspresso.github.io/netspresso-trainer\"\u003eDocs\u003c/a\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\n_____\n\n## Table of contents\n\n\u003c!-- toc --\u003e\n\n- [Installation](#installation)\n- [Getting started](#getting-started)\n\n\u003c!-- tocstop --\u003e\n\n## Installation (Stable)\n\n### Prerequisites\n\n- Python `\u003e=3.10`\n- PyTorch `\u003e=2.0.1`\n\n### Install with pypi\n\n```bash\npip install netspresso_trainer\n```\n\n### Install with GitHub\n\n```bash\npip install git+https://github.com/Nota-NetsPresso/netspresso-trainer.git@master\n```\n\nTo install with editable mode,\n\n```bash\ngit clone -b master https://github.com/Nota-NetsPresso/netspresso-trainer.git\npip install -e netspresso-trainer\n```\n\n### Set-up with docker\n\nPlease clone this repository and refer to [`Dockerfile`](./Dockerfile) and [`docker-compose-example.yml`](./docker-compose-example.yml).  \nFor docker users, we provide more detailed guide in our [Docs](https://nota-netspresso.github.io/netspresso-trainer/getting_started/installation/docker_installation).\n\n## Getting started\n\nWrite your training script in `train.py` like:\n\n```python\nfrom netspresso_trainer import train_cli\n\nif __name__ == '__main__':\n    logging_dir = train_cli()\n    print(f\"Training results are saved at: {logging_dir}\")\n```\n\nThen, train your model with your own configuraiton:\n\n```bash\npython train.py\\\n  --data config/data/huggingface/beans.yaml\\\n  --augmentation config/augmentation/classification.yaml\\\n  --model config/model/resnet/resnet50-classification.yaml\\\n  --training config/training.yaml\\\n  --logging config/logging.yaml\\\n  --environment config/environment.yaml\n```\n\nOr you can start NetsPresso Trainer by just executing console script which has same feature.\n\n```bash\nnetspresso-train\\\n  --data config/data/huggingface/beans.yaml\\\n  --augmentation config/augmentation/classification.yaml\\\n  --model config/model/resnet/resnet50-classification.yaml\\\n  --training config/training.yaml\\\n  --logging config/logging.yaml\\\n  --environment config/environment.yaml\n```\n\nPlease refer to [`scripts/example_train.sh`](./scripts/example_train.sh).\n\nNetsPresso Trainer is compatible with [NetsPresso](https://netspresso.ai/) service. We provide NetsPresso Trainer tutorial that contains whole procedure from model train to model compression and benchmark. Please refer to our [colab tutorial](https://colab.research.google.com/drive/1RBKMCPEa4x-4X31zqzTS8WgQI9TQt3e-?usp=sharing).\n\n## Dataset preparation (Local)\n\nNetsPresso Trainer is designed to accommodate a variety of tasks, each requiring different dataset formats. You can find the specific dataset formats for each task in our [documentation](https://nota-netspresso.github.io/netspresso-trainer/components/data/).\n\nIf you are interested in utilizing open datasets, you can use them by following the [instructions](https://nota-netspresso.github.io/netspresso-trainer/getting_started/dataset_preparation/local/#open-datasets).\n\n### Image classification\n\n- [CIFAR100](https://github.com/Nota-NetsPresso/netspresso-trainer/blob/dev/tools/open_dataset_tool/cifar100.py)\n- [ImageNet1K](https://github.com/Nota-NetsPresso/netspresso-trainer/blob/dev/tools/open_dataset_tool/imagenet1k.py)\n\n### Semantic segmentation\n\n- [ADE20K](https://github.com/Nota-NetsPresso/netspresso-trainer/blob/dev/tools/open_dataset_tool/ade20k.py)\n- [Cityscapes](https://github.com/Nota-NetsPresso/netspresso-trainer/blob/dev/tools/open_dataset_tool/cityscapes.py)\n- [PascalVOC 2012](https://github.com/Nota-NetsPresso/netspresso-trainer/blob/dev/tools/open_dataset_tool/voc2012_seg.py)\n\n### Object detection\n\n- [COCO 2017](https://github.com/Nota-NetsPresso/netspresso-trainer/blob/dev/tools/open_dataset_tool/coco2017.py)\n\n### Pose estimation\n\n- [WFLW](https://github.com/Nota-NetsPresso/netspresso-trainer/blob/dev/tools/open_dataset_tool/wflw.py)\n\n## Dataset preparation (Huggingface)\n\nNetsPresso Trainer is also compatible with huggingface dataset. To use datasets of huggingface, please check [instructions in our documentations](https://nota-netspresso.github.io/netspresso-trainer/getting_started/dataset_preparation/huggingface/). This enables to utilize a wide range of pre-built datasets which are beneficial for various training scenarios.\n\n## Pretrained weights\n\nPlease refer to our [official documentation](https://nota-netspresso.github.io/netspresso-trainer/) for pretrained weights supported by NetsPresso Trainer.\n\n## Tensorboard\n\nWe provide basic tensorboard to track your training status. Run the tensorboard with the following command: \n\n```bash\ntensorboard --logdir ./outputs --port 50001 --bind_all\n```\n\nwhere `PORT` for tensorboard is 50001.  \nNote that the default directory of saving result will be `./outputs` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnota-netspresso%2Fnetspresso-trainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnota-netspresso%2Fnetspresso-trainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnota-netspresso%2Fnetspresso-trainer/lists"}