openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
712 stars 38 forks source link

[REVIEW]: Candle Optimisers: A Rust crate for optimisation algorithms #6903

Open editorialbot opened 3 months ago

editorialbot commented 3 months ago

Submitting author: !--author-handle-->@KGrewal1<!--end-author-handle-- (Kirpal Grewal) Repository: https://github.com/KGrewal1/optimisers Branch with paper.md (empty if default branch): Version: v0.3.1 Editor: !--editor-->@olexandr-konovalov<!--end-editor-- Reviewers: @relf, @jatkinson1000 Archive: Pending

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/120698a4b32755d997531d380d5a923e"><img src="https://joss.theoj.org/papers/120698a4b32755d997531d380d5a923e/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/120698a4b32755d997531d380d5a923e/status.svg)](https://joss.theoj.org/papers/120698a4b32755d997531d380d5a923e)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@relf & @jatkinson1000, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @olexandr-konovalov know.

✨ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest ✨

Checklists

πŸ“ Checklist for @relf

πŸ“ Checklist for @jatkinson1000

editorialbot commented 3 months ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 3 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.48550/arXiv.1212.5701 is OK
- 10.48550/arXiv.1412.6980 is OK
- 10.48550/arXiv.1711.05101 is OK
- 10.1007/BF01589116 is OK
- 10.48550/arXiv.1908.03265 is OK

MISSING DOIs

- No DOI given, and none found for title: Adaptive Subgradient Methods for Online Learning a...
- No DOI given, and none found for title: On the Convergence of Adam and Beyond
- No DOI given, and none found for title: On the importance of initialization and momentum i...
- No DOI given, and none found for title: Incorporating Nesterov Momentum into Adam
- No DOI given, and none found for title: Neural Networks for Machine Learning
- No DOI given, and none found for title: Candle: a Minimalist ML Framework for Rust

INVALID DOIs

- None
editorialbot commented 3 months ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.03 s (1518.4 files/s, 355086.6 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Rust                            27            701           1674           4819
Jupyter Notebook                 1              0           1046            578
Markdown                         5             79              0            147
TeX                              1             12              0            132
YAML                             3              9              0             82
TOML                             2             11              1             48
HTML                             1              0              0             15
-------------------------------------------------------------------------------
SUM:                            40            812           2721           5821
-------------------------------------------------------------------------------

Commit count by author:

   142  Kirpal Grewal
     1  KGrewal1
editorialbot commented 3 months ago

Paper file info:

πŸ“„ Wordcount for paper.md is 259

βœ… The paper includes a Statement of need section

editorialbot commented 3 months ago

License info:

βœ… License found: MIT License (Valid open source OSI approved license)

editorialbot commented 3 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

relf commented 3 months ago

Review checklist for @relf

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

olexandr-konovalov commented 2 months ago

@jatkinson1000 could you please generate your checklist, as explained above? Seeing it partially checked helps us to better understand the state of the review process. Thanks!

jatkinson1000 commented 2 months ago

Review checklist for @jatkinson1000

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

olexandr-konovalov commented 1 month ago

@relf and @jatkinson1000 thank you for starting your reviews - partially filled in checklists are very helpful to see where you're approximately with your reviews, and cross-references to issues in the software/paper repository are also useful. Do you think you will be able to complete your reviews soon?

relf commented 1 month ago

To the best of my ability, I've completed my review of this library. I've installed and run the software test suite and the example successfully. The documentation is in place using standard Rust doc tool and contains algorithms pseudo-code and reference papers.

The paper itself should elaborate on the "far lower overhead for neural network training" claim which is not so obvious to me. I would not call PyTorch or Tensorflow "full Python frameworks", as actually the training heavylifting is done using compiled languages under the hood. It should also consolidate the position of the library with regard to the existing Rust landscape at least by referencing current candle optimizers and established optimizers crate like argmin.

jatkinson1000 commented 3 weeks ago

Hi All,

In summary, whilst the software repository looks good the paper needs more work and content. I would also like to see more information in the README, though see @relf has started an issue for this.