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

Add support for tensorflow backend which allows for differentiability #112

Merged
merged 13 commits into from
Apr 14, 2021

Conversation

chaithyagr
Copy link
Contributor

@chaithyagr chaithyagr commented Apr 13, 2021

I have refactored the codes and made it more meaningful.

With this PR, we can support differentiable optimization on all the algorithms.

Finally, I incorporated #111 in here with right code styles

@chaithyagr chaithyagr self-assigned this Apr 13, 2021
@chaithyagr chaithyagr added this to In progress in GPU Dev via automation Apr 13, 2021
@chaithyagr
Copy link
Contributor Author

@sfarrens looks like the develop branch isnt in sync with main branch...
Can you please update it?

@sfarrens
Copy link
Contributor

@chaithyagr it should be OK now.

I had a quick look at the PR and everything looks OK to me, but I will have a closer look this week before merging.

modopt/base/backend.py Show resolved Hide resolved
modopt/base/backend.py Outdated Show resolved Hide resolved
modopt/base/backend.py Outdated Show resolved Hide resolved
modopt/opt/algorithms.py Outdated Show resolved Hide resolved
GPU Dev automation moved this from In progress to Review in progress Apr 14, 2021
@sfarrens
Copy link
Contributor

@chaithyagr sorry I missed the comment about #111 on my first glance at this PR.

I made a few minor comments, once these are resolved I am happy to merge. I can then release a patch shortly before making the PySAP release.

chaithyagr and others added 3 commits April 14, 2021 15:50
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>
modopt/base/backend.py Outdated Show resolved Hide resolved
@sfarrens
Copy link
Contributor

OK, looks like there are just a couple of minor things to fix for the tests. Once the tests pass I will merge.

GPU Dev automation moved this from Review in progress to Reviewer approved Apr 14, 2021
@chaithyagr
Copy link
Contributor Author

@sfarrens I have added a new ignore WPS407 in backend.py, for mutable constants. I could not code my way away from it.. Can you please let me know if there is a way that I am missing...

@sfarrens
Copy link
Contributor

@chaithyagr That's fine for now. There are plenty of ignores that will need to be revisited in later issues, some of them we can justify while others we may want to rethink how we are doing things. 🙂

@codecov-io
Copy link

Codecov Report

Merging #112 (954ee28) into develop (616c9e7) will decrease coverage by 0.05%.
The diff coverage is 51.02%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #112      +/-   ##
===========================================
- Coverage    90.13%   90.08%   -0.06%     
===========================================
  Files           31       31              
  Lines         2150     2158       +8     
===========================================
+ Hits          1938     1944       +6     
- Misses         212      214       +2     
Flag Coverage Δ
unittests 90.08% <51.02%> (-0.06%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
modopt/base/backend.py 37.50% <31.42%> (+4.89%) ⬆️
modopt/math/matrix.py 100.00% <100.00%> (+1.38%) ⬆️
modopt/opt/algorithms.py 91.56% <100.00%> (+1.25%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 616c9e7...954ee28. Read the comment docs.

@sfarrens sfarrens merged commit 9a53353 into CEA-COSMIC:develop Apr 14, 2021
GPU Dev automation moved this from Reviewer approved to Done Apr 14, 2021
sfarrens added a commit that referenced this pull request Apr 22, 2021
* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
sfarrens added a commit that referenced this pull request Dec 10, 2021
* Version 1.5.1 patch release (#114)

* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* make algorithms a module.

* add Gradient Descent Algorithms

* enforce WPS compliance.

* add test for gradient descent

* Docstrings improvements

* Add See Also and minor corrections

* add idx initialisation for all algorithms.

* fix merge error

* fix typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>
Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
sfarrens added a commit that referenced this pull request Dec 17, 2021
* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

* Unpin package dependencies (#189)

* unpinned dependencies

* updated pinned documentation dependency versions

* Add Gradient descent algorithms (#196)

* Version 1.5.1 patch release (#114)

* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* make algorithms a module.

* add Gradient Descent Algorithms

* enforce WPS compliance.

* add test for gradient descent

* Docstrings improvements

* Add See Also and minor corrections

* add idx initialisation for all algorithms.

* fix merge error

* fix typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>
Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Release cleanup (#198)

* started clean up for next release

* update progress

* further clean up

* additional clean up

* cleaned up link to logo

* fixed index.rst

Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Pierre-Antoine Comby <77174042+paquiteau@users.noreply.github.com>
sfarrens added a commit that referenced this pull request Apr 8, 2022
* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

* Unpin package dependencies (#189)

* unpinned dependencies

* updated pinned documentation dependency versions

* Add Gradient descent algorithms (#196)

* Version 1.5.1 patch release (#114)

* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* make algorithms a module.

* add Gradient Descent Algorithms

* enforce WPS compliance.

* add test for gradient descent

* Docstrings improvements

* Add See Also and minor corrections

* add idx initialisation for all algorithms.

* fix merge error

* fix typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>
Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Release cleanup (#198)

* started clean up for next release

* update progress

* further clean up

* additional clean up

* cleaned up link to logo

* fixed index.rst

* fixed conflict

* Fast Singular Value Thresholding  (#209)

* add SingularValueThreshold

This Method provides 10x faster SVT estimation than the LowRankMatrix Operator.

* linting

* add test for fast computation.

* flake8 compliance

* Ignore DAR000 Error.

* Update modopt/signal/svd.py

tuples in docstring

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/signal/svd.py

typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/opt/proximity.py

typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* update docstring

* fix isort

* Update modopt/signal/svd.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/signal/svd.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* run isort

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* added writeable input data array feature for benchopt (#213)

* removed flake8 limit

Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Pierre-Antoine Comby <77174042+paquiteau@users.noreply.github.com>
sfarrens added a commit that referenced this pull request Apr 8, 2022
* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

* Unpin package dependencies (#189)

* unpinned dependencies

* updated pinned documentation dependency versions

* Add Gradient descent algorithms (#196)

* Version 1.5.1 patch release (#114)

* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* make algorithms a module.

* add Gradient Descent Algorithms

* enforce WPS compliance.

* add test for gradient descent

* Docstrings improvements

* Add See Also and minor corrections

* add idx initialisation for all algorithms.

* fix merge error

* fix typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>
Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Release cleanup (#198)

* started clean up for next release

* update progress

* further clean up

* additional clean up

* cleaned up link to logo

* fixed index.rst

* fixed conflict

* Fast Singular Value Thresholding  (#209)

* add SingularValueThreshold

This Method provides 10x faster SVT estimation than the LowRankMatrix Operator.

* linting

* add test for fast computation.

* flake8 compliance

* Ignore DAR000 Error.

* Update modopt/signal/svd.py

tuples in docstring

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/signal/svd.py

typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/opt/proximity.py

typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* update docstring

* fix isort

* Update modopt/signal/svd.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/signal/svd.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* run isort

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* added writeable input data array feature for benchopt (#213)

* removed flake8 limit

* updated patch version

Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Pierre-Antoine Comby <77174042+paquiteau@users.noreply.github.com>
chaithyagr added a commit that referenced this pull request Jan 19, 2024
* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

* Unpin package dependencies (#189)

* unpinned dependencies

* updated pinned documentation dependency versions

* Add Gradient descent algorithms (#196)

* Version 1.5.1 patch release (#114)

* Add support for tensorflow backend which allows for differentiability (#112)

* Added support for tensorflow

* Updates to get tests passing

* Or --> And

* Moving modopt to allow working with tensorflow

* Fix issues with wos

* Fix all flakes finally!

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/base/backend.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Minute updates to codes

* Add dynamic module

* Fix docu

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Fix 115 (#116)

* Fix issues

* Add right tests

* Fix PEP

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Minor bug fix, remove elif (#124)

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Add tests for modopt.base.backend and fix minute bug uncovered (#126)

* Minor bug fix, remove elif

* Add tests for backend

* Fix tests

* Add tests

* Remove cupy

* PEP fixes

* Fix PEP

* Fix PEP and update

* Final PEP

* Update setup.cfg

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update test_base.py

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Release cleanup (#128)

* updated GPU dependencies

* added logo to manifest

* updated package version and release date

Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* make algorithms a module.

* add Gradient Descent Algorithms

* enforce WPS compliance.

* add test for gradient descent

* Docstrings improvements

* Add See Also and minor corrections

* add idx initialisation for all algorithms.

* fix merge error

* fix typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>
Co-authored-by: Chaithya G R <chaithyagr@gmail.com>
Co-authored-by: chaithyagr <chaithyagr@gitlab.com>

* Release cleanup (#198)

* started clean up for next release

* update progress

* further clean up

* additional clean up

* cleaned up link to logo

* fixed index.rst

* fixed conflict

* Fast Singular Value Thresholding  (#209)

* add SingularValueThreshold

This Method provides 10x faster SVT estimation than the LowRankMatrix Operator.

* linting

* add test for fast computation.

* flake8 compliance

* Ignore DAR000 Error.

* Update modopt/signal/svd.py

tuples in docstring

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/signal/svd.py

typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/opt/proximity.py

typo

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* update docstring

* fix isort

* Update modopt/signal/svd.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/signal/svd.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* run isort

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* added writeable input data array feature for benchopt (#213)

* removed flake8 limit

* updated patch version

* [lint] pydocstyle compliance. (#228)

* [lint] pydocstyle compliance.

* use pytest-pydocstyle

* Power method: fix #211 (#212)

* Correct the norm update for Power Method

x_new should be divided by its norm, not by x_old_norm.

* fix test value

We are testing for eigen value of Identity. It should be one.

* fix WPS350

* fix test value for unconverged case

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Switch from progressbar to tqdm (#231)

* switch from progressbar to tqdm.

The progress bar can be provided externally for nested usage.

* exposes the progress bar argument.

* Child classes better have to implement these.

(my linter was complaining)

* update docs for progress bar using tqdm.

* fix WPS errors

* drop progressbar requirement, add tqdm.

* [lint] disable warning for non implemented function.

* simplify progbar check and argument passthrough

* Update README for tqdm dependency (#240)

Remote progressbar, use tqdm.

* add small help for the metric argument. (#241)

* add small help for the metric argument.

* RST validation

* use single quote

* use double backticks.

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* add implementation for admm and fast admm.

Based on Goldstein2014

* add Goldstein ref.

* WPS compliance.

* Abstract class for cost function.

* add custom cost operator for admm.

* fix WPS compliance.

* Ci update (#268)

* update python version support.

* use string for CI.

* remove flake8 and wemake-python-styleguide

This anticipates the change to black formatting.

* remove wps checks

* apparently conda does not support 3.11 for now

* remove all linting testing.

* fix np.int warning/error

* fix dtype error

* fix precision for doctest

* added black and isort support

* Update python version in README

* add 3.7 for test  back

* don't test 3.10 twice

* Test rewrite (#266)

* add MatrixOperator.

* move base test to pytest.

* [fixme] remove flake8 and emoji config.

* rewrite test_math module using pytest.

* use fail/skipparam helper function.

* generalize usage of failparam

* refactor test_signal.

* refactor test_signal, the end.

* lint

* fix missing parameter.

* add dummy object test helper.

* rewrite test for cost and gradients.

* show missing lines in coverage reports

* rewrite of proximity operators testing.

* add fail  low rank method.

* add cases for algorithms test

* add algorithm test.

* add pytest-cases and pytest-xdists support.

* add support for testing metrics.

* improve base module coverage.

* test for wrong mask in metric module.

* add docstring.

* update email adress and authors field.

* 100% coverage for transform module.

* move linear operator to class

* update docstring.

* paramet(e)rization.

* update docstring.

* improve test_helper module.

* raises should be specified for each failparam call.

* encapsulate module's test in classes.

* skip test if sklearn is not installed.

* pin pydocstyle

* removed unnormalised Gaussian kernel option and corresponding test

* Restrict scikit-image version for testing

* added fix for basic test suite

* set behaviour for different astropy versions

* updated docstring for gaussian_kernel

* Use example scripts as  tests. (#277)

* Initialize the example module.

* do not export the assert statements.

* add matplotlib as requirement.

* add support for sphinx-gallery

* Update modopt/examples/README.rst

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/examples/__init__.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/examples/conftest.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/examples/example_lasso_forward_backward.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* Update modopt/examples/example_lasso_forward_backward.py

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* ignore auto_example folder

* doc formatting.

* add pogm and basic comparison.

* fix: add matplotlib for the plotting in examples scripts.

* fix: add matplotlib for basic ci too.

* ci: run pytest with xdist for faster testing

---------

Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>

* fix: specify data_range for ssim.

Refs: #290

* typos.

* feat(test): add test for admm.

* feat(admm): improve doc.

* refactor: rename abstract cost to CostParent.

* feat: add test for fast admm.

* feat(admm): improve docstrings.

* style: remove extra line.c

* feat: make POGM more memory efficient.

* feat: add a dummy cost for the identity operator.

* feat: create a linear operator module, add wavelet transform.

* feat: add test case for wavelet transform.

* Update setup.py

---------

Co-authored-by: chaithyagr <chaithyagr@gitlab.com>
Co-authored-by: Samuel Farrens <samuel.farrens@gmail.com>
Co-authored-by: Pierre-Antoine Comby <77174042+paquiteau@users.noreply.github.com>
Co-authored-by: Pierre-antoine Comby <pierre-antoine.comby@crans.org>
Co-authored-by: Pierre-Antoine Comby <pierre-antoine.comby@ens-paris-saclay.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
GPU Dev
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants