Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update task registry + generalize matching #201

Merged
merged 1 commit into from
May 4, 2023

Conversation

bfineran
Copy link
Member

@bfineran bfineran commented May 4, 2023

  • updates the task registry to include the latest values matching the sparsezoo
  • updates the taskname __eq__ check to ignore spaces as well

@bfineran bfineran self-assigned this May 4, 2023
Copy link
Member

@rahul-tuli rahul-tuli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@rahul-tuli
Copy link
Member

This looks good but I think we also have a copy in SparseZoo which in my opinion should be used everywhere over this.

@bfineran bfineran merged commit 918dc92 into sparsify.alpha May 4, 2023
@bfineran bfineran deleted the update-task-registry branch May 4, 2023 20:51
KSGulin added a commit that referenced this pull request Jul 7, 2023
* Clear existing sparsify source

* Add back version file

* Port of sparsify.auto from private repository (#124)

* remove javascript deps

* Initial port of autosparse to sparsify.auto

* Initial port autosparse -> sparsify.auto

* Added tests and fixes

* Add back yarn

* Add github workflow for test checks

* Update workflows

Co-authored-by: Benjamin Fineran <bfineran@users.noreply.github.com>

workflow

* Add GHA tests for base, package, and auto (#133)

* `sparsify.package` base CLI (#125)

* bump up main to 1.2.0 (#128)

Co-authored-by: dhuang <dhuang@MacBook-Pro.local>

* Adds the following:

* Setup directory Structure
* `from sparsify import package` importable + callable function
* A constants file with supported tasks, criterions, and deployment scenarios (Should probably converted to `Enums` or something better than `python lists`)
* Add `click` as a required dependency
* Additional CLI helpers for updated acceptance criterion
* `sparsify.package` cli utility
* setup test directory
* Add tests for CLI
* Setup Entrypoints

* Remove old docstring

* - Moved utils outside `package`
- Renamed package_ to package
- Add more tests
- Update Usage command
- Rebased on `sparsify.alpha`
- Add typing
- Add version info to cli

Apply review comments from @corey-nm
- Remove `cli_helpers.py` and rely on `click`

* Remove unintended change added while resolving merge conflicts

* Style

* Add dataset registry
update cli to use dataset registry

* Fix failing tests

* Centralize task registry (#132)

* Centralize task name and alias handeling

* Propagate TaskName updates to auto tasks

* Fix click parse args call

* Fix failing tests after TASK name updates

* Prevent auto install of integrations on sparsify import (#134)

* * Change `NO_VNNI` --> `DEFAULT`
* Refactor CLI arg parsing cause originally `System.exit()` was thrown on invoking help
* Rename `scenario` --> `target`
* Remove single character shortcuts, as suggested by @bfineran
* Default directory to `None` for now, logic to choose an appropriate name will be added to diff #130
* Added show defaults at the top level `click.command()` decorator
* Added a `DEFAULT_OPTIMIZNG_METRIC`
* Added a `DEFAULT_DEPLOYMENT_SCENARIO`
* Changed `optimizing_metric` help message
* Updated Tests

* - Style
- Example Usage

Co-authored-by: dhuangnm <74931910+dhuangnm@users.noreply.github.com>
Co-authored-by: dhuang <dhuang@MacBook-Pro.local>
Co-authored-by: Konstantin Gulin <66528950+KSGulin@users.noreply.github.com>

* Add DDP support (#126)

* `sparsify.package` backend-call (#130)

* bump up main to 1.2.0 (#128)

Co-authored-by: dhuang <dhuang@MacBook-Pro.local>

* Adds the following:

* Setup directory Structure
* `from sparsify import package` importable + callable function
* A constants file with supported tasks, criterions, and deployment scenarios (Should probably converted to `Enums` or something better than `python lists`)
* Add `click` as a required dependency
* Additional CLI helpers for updated acceptance criterion
* `sparsify.package` cli utility
* setup test directory
* Add tests for CLI
* Setup Entrypoints

* Remove old docstring

* - Moved utils outside `package`
- Renamed package_ to package
- Add more tests
- Update Usage command
- Rebased on `sparsify.alpha`
- Add typing
- Add version info to cli

Apply review comments from @corey-nm
- Remove `cli_helpers.py` and rely on `click`

* Remove unintended change added while resolving merge conflicts

* Style

* Add dataset registry
update cli to use dataset registry

* Fix failing tests

* Centralize task registry (#132)

* Centralize task name and alias handeling

* Propagate TaskName updates to auto tasks

* Fix click parse args call

* Fix failing tests after TASK name updates

* Prevent auto install of integrations on sparsify import (#134)

* * Change `NO_VNNI` --> `DEFAULT`
* Refactor CLI arg parsing cause originally `System.exit()` was thrown on invoking help
* Rename `scenario` --> `target`
* Remove single character shortcuts, as suggested by @bfineran
* Default directory to `None` for now, logic to choose an appropriate name will be added to diff #130
* Added show defaults at the top level `click.command()` decorator
* Added a `DEFAULT_OPTIMIZNG_METRIC`
* Added a `DEFAULT_DEPLOYMENT_SCENARIO`
* Changed `optimizing_metric` help message
* Updated Tests

* - Style
- Example Usage

* Add proper commands + gha workflows

* Refactor package function to make a call to the backend service

* Add template function for output
Add importable Backend Base url
Remove unnecessary args from package function
Add end to end integration test

* Updated tests, addressed comments

* Base Cli + importable function

* Style

* Remove files added in faulty rebase

* Changed base url, styling

Co-authored-by: dhuangnm <74931910+dhuangnm@users.noreply.github.com>
Co-authored-by: dhuang <dhuang@MacBook-Pro.local>
Co-authored-by: Konstantin Gulin <66528950+KSGulin@users.noreply.github.com>
Co-authored-by: Konstantin <konstantin@neuralmagic.com>

* `sparsify.package` updates (#141)

* Update output to also print model metrics
Update `--optimizing_metrics` to take in a string containing comma separated metrics for example `--optimizing_metric "compression, accuracy"`(added a `_csv_callback` function for that)
Update Usage instructions accordingly
Add a log statement to package function
Added more tests

* Address comments

* Rename `normalized_metric` --> `metric_` to avoid potential confusion

* Add a getter for TASK_REGISTRY and DATASET_REGISTRY (#142)

* Add a getter for TASK_REGISTRY and DATASET_REGISTRY

* typing

* fix potential bug

* Add None to test

* Updated tests according to comments from @bfineran

* Make test cleaner based on feedback from @corey-nm

* Remove config creator (#136)

* [Auto] Add Tensorboard Support (#147)

* Support for Hyperparameter Tuning (#145)

* force convert yolov5 metric keys to float (#151)

* [Auto] Update function name and description to be more generic (#149)

* rename and flip logic for stopping_condition flag (#152)

* [Auto] Support for multi-stage tuning (#157)

* Support for updated tuning flow (#159)

* Support tuning of CLI args (#158)

* Support multiple optimizing metrics (#160)

* Log important updates with an easily visible format (#161)

* Update the user output for `sparsify.package` (#166)

* Add Dockerfile
Download deployment directory, and
Update instructions for user
Update tests

* Add volume mount to docker command

* [Auto] Update interface for sparsifyml (#173)

* Fix: remove debug line

* Update sparsify.auto interface for sparsifyml

* rename interface -> schemas

* Sparsify.alpha.auto (#179)

* Update: sparsify.version to match with main

* Delete: sparsify.package

* Empty commit

* Add: stitch functions

* Update: Env var name
Update: stitch functions slightly

* Add: Sparsifyml to dependencies in setup.py

* Style: Fixes

* Some more fixers

* OLD IC integration working

* Run Integration Tests only when sparsifyml installed

* Fix yolov5 integration

* Propagate student args to teacher

* Update teacher kwargs only when key not present for safety

* Updated: integration_test

* Updated: num trials to 2

* Fix: failing GHA

* make sparsifyml optional
implement own strtobool function

* [Create] alpha implementation (#181)

* [Create] alpha implementation

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: corey-nm <109536191+corey-nm@users.noreply.github.com>

---------

Co-authored-by: corey-nm <109536191+corey-nm@users.noreply.github.com>

* Adding one shot cli (#184)

* [Feature branch] standard clis (#187)

* Adding skeleton clis

* [CLI standardization] sparsify.run one-shot impl (#188)

* [CLI standardization] sparsify.run one-shot impl

* Fixing one-shot cli

---------

Co-authored-by: Corey Lowman <corey@neuralmagic.com>

* [WIP][CLI standardization] sparsify.run training-aware and spares-transfer initial impl (#189)

* [CLI standardization] sparsify.run one-shot impl

* [WIP][CLI standardization] sparsify.run training-aware and spares-transfer initial impl

* Fixing training-aware/sparse-transfer

---------

Co-authored-by: Corey Lowman <corey@neuralmagic.com>

* Adding docstring to sparsify.run

* Moving use case to top arg

* Removing apply/init

---------

Co-authored-by: Benjamin Fineran <bfineran@users.noreply.github.com>

* Style changes for sparsify.alpha (#194)

* Update: Minimum supported Python Version to `3.7` as it's consistent with our other repos (#193)

* [Add] `sparsify.login` CLI and function (#180)

* Adding sparsify.login entrypoint and function

* Adding docstring to exception

* Adding pip install of sparsifyml

* Respond to review

* Adding help message at top

* Adding setup python to workflow

* Adding checked sparsifyml import

* Apply suggestions from code review

Co-authored-by: Danny Guinther <dannyguinther@gmail.com>

* check against major minor version only

* add client_id and other bug fixes

* Fix: `--index` --> `--index-url`

* Update install command missed during rebase

* * Clean up code
* Remove Global variables
* Update PyPi Server link
* Add Logging
* Move exceptions to their own file

* Style fixes

* Apply suggestions from code review

Add: suggestion from @KSGulin

Co-authored-by: Konstantin Gulin <66528950+KSGulin@users.noreply.github.com>

* Update src/sparsify/login.py

Co-authored-by: Konstantin Gulin <66528950+KSGulin@users.noreply.github.com>

* remove comment

---------

Co-authored-by: Benjamin Fineran <bfineran@users.noreply.github.com>
Co-authored-by: Danny Guinther <dannyguinther@gmail.com>
Co-authored-by: Benjamin <ben@neuralmagic.com>
Co-authored-by: rahul-tuli <rahul@neuralmagic.com>
Co-authored-by: Konstantin Gulin <66528950+KSGulin@users.noreply.github.com>

* training aware and sparse transfer run mode support (#191)

* add sparsifyml dependencies to sparsify install (#195)

* update task registry + generalize matching (#201)

* rename performance to optim-level in legacy auto api (#199)

* [sparsify.run one-shot] CLI propagation of recipe_args (#198)

* Remove hardware optimization options (#200)

* Remove hardware optimization options

* Rename instead of remove optim_level

* Add OPTIM_LEVEL back to all list

* simple fixes in initial one-shot testing flow (#206)

* fixes for initial E2E runs of sparse transfer and training aware (#207)

* fixes for initial E2E runs of sparse transfer and training aware

* quality

* [Alpha] Rework Auto main script into Training-Aware and Sparse-Transfer script (#208)

* Initial scratch work

* Complete, but untested implementation

* Working yolov5

* Working across all integrations

* IC path fix

* Require model

* Remove debug adds

* make API KEY an argument (#211)

* Update integration and unit tests (#214)

* Update integration and unit tests

* Update IC base test model

* Add login step to test setup (#216)

* bump up version to 1.6.0 (#215) (#218)

Co-authored-by: dhuang <dhuang@MacBook-Pro-2.local>

(cherry picked from commit 699a476)

Co-authored-by: dhuangnm <74931910+dhuangnm@users.noreply.github.com>

* [BugFixes] Fix failing tests in `sparsify.alpha` (#223)

* Intermediate commit should be amended

* Remove failing test as synced with @KSGulin

* Explicitly pin protobuff depencies. (#225)

* Default num_samples to None (#227)

* remove legacy UI cmds from `make build` (#229)

* Remove dev print statements from IC runner (#231)

* Remove dev print statements

* Remove logger

* Fix incomplete wheel build (#232)

* Fix incomplete wheel build

* Add license string

* Add environment hecks

* Address review comments

* Catch generic Exception

* signal test

---------

Co-authored-by: Rahul Tuli <rahul@neuralmagic.com>
Co-authored-by: dhuangnm <74931910+dhuangnm@users.noreply.github.com>
Co-authored-by: dhuang <dhuang@MacBook-Pro.local>
Co-authored-by: Benjamin Fineran <bfineran@users.noreply.github.com>
Co-authored-by: corey-nm <109536191+corey-nm@users.noreply.github.com>
Co-authored-by: Danny Guinther <dannyguinther@gmail.com>
Co-authored-by: Benjamin <ben@neuralmagic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants