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

[REVIEW]: TensorFlow.jl: An Idiomatic Julia Front End for TensorFlow #1002

Closed
whedon opened this Issue Oct 7, 2018 · 39 comments

Comments

Projects
None yet
6 participants
@whedon
Collaborator

whedon commented Oct 7, 2018

Submitting author: @malmaud (Jonathan Matthew Malmaud)
Repository: https://github.com/malmaud/TensorFlow.jl
Version: v0.10.1
Editor: @arokem
Reviewer: @jekbradbury
Archive: 10.5281/zenodo.1476107

Status

status

Status badge code:

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

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) 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

@jekbradbury, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @arokem know.

Please try and complete your review in the next two weeks

Review checklist for @jekbradbury

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Version: Does the release version given match the GitHub release (v0.10.1)?
  • Authorship: Has the submitting author (@malmaud) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
@whedon

This comment has been minimized.

Collaborator

whedon commented Oct 7, 2018

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @jekbradbury it looks like you're currently assigned as the reviewer for this paper 🎉.

⭐️ Important ⭐️

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

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

@whedon commands
@whedon

This comment has been minimized.

Collaborator

whedon commented Oct 7, 2018

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Collaborator

whedon commented Oct 7, 2018

@jekbradbury

This comment has been minimized.

Collaborator

jekbradbury commented Oct 19, 2018

Accept.

Looks good to me. A couple quibbles (that don't block acceptance):

  • The paper has a minor formatting issue where the table at the bottom of the first page overlaps with margin elements.
  • I think this sentence should be dropped or reworded: "For example, it allows Julia code to operate on TPUs by virtue of using the same TensorFlow graph syntax as Python's TensorFlow client, even though there is no native Julia TPU compiler." This is because I don't believe anyone has actually demonstrated TensorFlow.jl code running on a TPU (and I believe significant external work would be needed to do this, because the TPU API is more than just TensorFlow graphs; you also have to use infeed/outfeed and explicitly invoke XLA compilation etc.)...and also because the last clause in the sentence may not be true for much longer 🙂.
@malmaud

This comment has been minimized.

Collaborator

malmaud commented Oct 20, 2018

@whedon generate pdf

@whedon

This comment has been minimized.

Collaborator

whedon commented Oct 20, 2018

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Collaborator

whedon commented Oct 20, 2018

@malmaud

This comment has been minimized.

Collaborator

malmaud commented Oct 20, 2018

Thanks @jekbradbury, I agree with all your points. I've removed the TPU clause and fixed the table formatting.

@arokem

This comment has been minimized.

Collaborator

arokem commented Oct 22, 2018

@whedon generate pdf

@arokem

This comment has been minimized.

Collaborator

arokem commented Oct 22, 2018

@jekbradbury : looks like most/all the issues have been addressed? Is this paper ready to be accepted from your point of view?

@malmaud: comments from me:

  • In the third paragraph of the summary section, you have a sentence: "This * can correspond to ...". I believe this should be "Thus, * can correspond...". Do I understand correctly?
  • The first sentence in the fourth paragraph might be missing a word. Maybe "TensorFlow.jl aims to..."
  • The word "indices" is mis-spelled as "indicies" in the bottom of page 2
  • The word "paramterized" is mis-spelled as "paramatrised"
  • In the first paragraph of the "Challenges" section, you have the fragment: "... and does not include many conveients for the definition of training of graphs". How about replacing that with: "... and does not include interfaces for conveniently defining the training of graphs". Is that statement true, by the way? Seems unlikely.
  • The second paragraph of this section includes a couple of typos: "Graidnet" and "ptimizers".
  • I still see a statement about TPUs in the manuscript currently on master in the last paragraph. I think this statement should at least be qualified (or better, removed).
@malmaud

This comment has been minimized.

Collaborator

malmaud commented Oct 22, 2018

Thanks for these comments!

  • I fixed the typos you pointed out.
  • The intent of the 'challenges' section is that TensorFlow's C API exposes minimal low-level functionality, with most of the complexity of building and training a neural net implemented in Python on top of the C API. I clarified the wording.
  • I removed all references to TPUs. While I do think it would be pretty easy to get TensorFlow.jl to run on TPUs, it isn't implemented yet so I agree that removal makes sense.
@whedon

This comment has been minimized.

Collaborator

whedon commented Oct 22, 2018

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Collaborator

whedon commented Oct 22, 2018

@jekbradbury

This comment has been minimized.

Collaborator

jekbradbury commented Oct 22, 2018

@arokem: Yes, the paper's ready to be accepted from my POV.

@arokem

This comment has been minimized.

Collaborator

arokem commented Oct 29, 2018

@jekbradbury : thank you for the review! 👏

@malmaud : the paper is ready to be accepted! To go ahead with the archiving of the paper, please create a DOI for the software (e.g., by tagging a release and uploading it to zenodo.org). Once you have a DOI, we can go ahead with the rest of the process.

@malmaud

This comment has been minimized.

Collaborator

malmaud commented Oct 31, 2018

OK, I have a DOI: 10.5281/zenodo.1476107. Thanks @jekbradbury and @arokem for handling the review.

@arokem

This comment has been minimized.

Collaborator

arokem commented Nov 1, 2018

@whedon set 10.5281/zenodo.1476107 as archive

@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 1, 2018

OK. 10.5281/zenodo.1476107 is the archive.

@arokem

This comment has been minimized.

Collaborator

arokem commented Nov 1, 2018

@arfon : I believe this article is ready to go!

@arfon

This comment has been minimized.

Member

arfon commented Nov 1, 2018

@whedon accept

@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 1, 2018

Attempting dry run of processing paper acceptance...

@whedon whedon added the accepted label Nov 1, 2018

@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 1, 2018

PDF failed to compile for issue #1002 with the following error:

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 17 0 17 0 0 251 0 --:--:-- --:--:-- --:--:-- 253
Looks like we failed to compile the PDF

@arfon

This comment has been minimized.

Member

arfon commented Nov 1, 2018

@whedon accept

@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 1, 2018

Attempting dry run of processing paper acceptance...
@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 1, 2018

Check final proof 👉 openjournals/joss-papers#42

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#42, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true
@arfon

This comment has been minimized.

Member

arfon commented Nov 1, 2018

@whedon accept deposit=true

@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 1, 2018

Doing it live! Attempting automated processing of paper acceptance...
@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 1, 2018

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 openjournals/joss-papers#43
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01002
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? notify your editorial technical team...

@arfon

This comment has been minimized.

Member

arfon commented Nov 1, 2018

@jekbradbury - many thanks for your review here and to @arokem for editing this submission

@malmaud - your paper is now accepted into JOSS and your DOI is https://doi.org/10.21105/joss.01002 ⚡️ 🚀 💥

@arfon arfon closed this Nov 1, 2018

@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 1, 2018

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](http://joss.theoj.org/papers/10.21105/joss.01002/status.svg)](https://doi.org/10.21105/joss.01002)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.01002">
  <img src="http://joss.theoj.org/papers/10.21105/joss.01002/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: http://joss.theoj.org/papers/10.21105/joss.01002/status.svg
   :target: https://doi.org/10.21105/joss.01002

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

@oxinabox

This comment has been minimized.

oxinabox commented Nov 1, 2018

Cool, nice.
I am only finding put about thus now, as I guess the JOSS script doesn't tag coauthors.

@oxinabox

This comment has been minimized.

oxinabox commented Nov 4, 2018

@arokem I was sharing a link around to the released paper,
and some errors were pointed out to me.

  • the citation for the MLandPL paper broke and so it didn't end up in the reference list.
  • the cited article for the Julia language is the 2014 preprint, rather than the final 2017 article
  • and a couple of typos slipped through.

What should we do?
Does the JOSS process allow us to submit an updated version?

@arfon

This comment has been minimized.

Member

arfon commented Nov 4, 2018

@oxinabox - feel free to update your paper in master on https://github.com/malmaud/TensorFlow.jl and check that it's fixed by typing @whedon generate pdf here.

Once you're happy with the changes, I can update the final accepted version.

@oxinabox

This comment has been minimized.

oxinabox commented Nov 4, 2018

Excellent.

@malmaud

This comment has been minimized.

Collaborator

malmaud commented Nov 5, 2018

@whedon generate pdf

@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 5, 2018

Attempting PDF compilation. Reticulating splines etc...
@arfon

This comment has been minimized.

Member

arfon commented Nov 5, 2018

Paper compilation is failing for some reason right now. I've compiled locally: 10.21105.joss.01002.pdf

@oxinabox

This comment has been minimized.

oxinabox commented Nov 13, 2018

@whedon generate pdf

@whedon

This comment has been minimized.

Collaborator

whedon commented Nov 13, 2018

Attempting PDF compilation. Reticulating splines etc...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment