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

Sparsify Local CLI README #185

Closed
wants to merge 50 commits into from
Closed

Sparsify Local CLI README #185

wants to merge 50 commits into from

Conversation

rgreenberg1
Copy link
Contributor

No description provided.

KSGulin and others added 30 commits August 22, 2022 10:41
* 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 <[email protected]>

workflow
* bump up main to 1.2.0 (#128)

Co-authored-by: dhuang <[email protected]>

* 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 <[email protected]>
Co-authored-by: dhuang <[email protected]>
Co-authored-by: Konstantin Gulin <[email protected]>
* bump up main to 1.2.0 (#128)

Co-authored-by: dhuang <[email protected]>

* 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 <[email protected]>
Co-authored-by: dhuang <[email protected]>
Co-authored-by: Konstantin Gulin <[email protected]>
Co-authored-by: Konstantin <[email protected]>
* 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

* typing

* fix potential bug

* Add None to test

* Updated tests according to comments from @bfineran

* Make test cleaner based on feedback from @corey-nm
* Add Dockerfile
Download deployment directory, and
Update instructions for user
Update tests

* Add volume mount to docker command
* Fix: remove debug line

* Update sparsify.auto interface for sparsifyml

* rename interface -> schemas
* 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

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: corey-nm <[email protected]>

---------

Co-authored-by: corey-nm <[email protected]>
* 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 <[email protected]>

* [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 <[email protected]>

* Adding docstring to sparsify.run

* Moving use case to top arg

* Removing apply/init

---------

Co-authored-by: Benjamin Fineran <[email protected]>
* 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 <[email protected]>

* 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 <[email protected]>

* Update src/sparsify/login.py

Co-authored-by: Konstantin Gulin <[email protected]>

* remove comment

---------

Co-authored-by: Benjamin Fineran <[email protected]>
Co-authored-by: Danny Guinther <[email protected]>
Co-authored-by: Benjamin <[email protected]>
Co-authored-by: rahul-tuli <[email protected]>
Co-authored-by: Konstantin Gulin <[email protected]>
bfineran and others added 20 commits May 1, 2023 15:09
* Remove hardware optimization options

* Rename instead of remove optim_level

* Add OPTIM_LEVEL back to all list
* fixes for initial E2E runs of sparse transfer and training aware

* quality
…er script (#208)

* Initial scratch work

* Complete, but untested implementation

* Working yolov5

* Working across all integrations

* IC path fix

* Require model

* Remove debug adds
* Update integration and unit tests

* Update IC base test model
Co-authored-by: dhuang <[email protected]>

(cherry picked from commit 699a476)

Co-authored-by: dhuangnm <[email protected]>
* Intermediate commit should be amended

* Remove failing test as synced with @KSGulin
* Remove dev print statements

* Remove logger
* Fix incomplete wheel build

* Add license string
Co-authored-by: dhuangnm <[email protected]>
Co-authored-by: Jeannie Finks <[email protected]>
Co-authored-by: Mark Kurtz <[email protected]>
Co-authored-by: Benjamin Fineran <[email protected]>
@bfineran bfineran closed this Jun 30, 2023
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.

5 participants