Closed whedon closed 4 years ago
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @petroniocandido it looks like you're currently assigned to review this paper :tada:.
:star: Important :star:
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:
For a list of things I can do to help you, just type:
@whedon commands
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
@whedon generate pdf
Reference check summary:
OK DOIs
- 10.1007/s00158-014-1213-9 is OK
- 10.1007/s00158-014-1209-5 is OK
- 10.5281/zenodo.2594848 is OK
- 10.1098/rspa.2007.1900 is OK
MISSING DOIs
- None
INVALID DOIs
- None
๐ @melissawm - Hi, can you let me know what's going on with this submission. In particular, I only see one reviewer, rather than the required two.
wave @melissawm - Hi, can you let me know what's going on with this submission. In particular, I only see one reviewer, rather than the required two.
Hi @melissawm... Two unforeseen events happened with me and my pregnant wife and took me a long time to solve. I am deeply sorry and I will try to finish the review as soon as possible.
@danielskatz I'm so sorry, I think I misread the conversation in the pre-review. Can I add new reviewers now?
Yes, please do
Hello @jgoldfar, would you be willing/available to review this software paper for JOSS? Thank you
Hi @melissawm here's the list of potential reviewers again if you're having trouble finding a second one:
And hi @petroniocandido! ๐ Hope everything is fine again with you and your wife! If you've found/noticed anything at all, please let me know! I'm itching to improve my project based on the feedback ๐
Hello, @torressa! Would you be willing/available to review this software paper for JOSS?
Hi @melissawm! I'd love to! Looks like a really interesting review. I'll reserve some time next weekend.
@whedon add @toressa as reviewer
OK, @toressa is now a reviewer
@whedon remove @toressa as reviewer
OK, @toressa is no longer a reviewer
@whedon add @torressa as reviewer
OK, @torressa is now a reviewer
Thanks @torressa, let me know if you have any questions!
Hi @sjvrijn! Looks like you've put some work into the package!
I'm not that familiar with evolutionary optimisation algorithms, so please mind the ignorant comments.
I have the following comments:
python3 tests/create_regression_data.py
I get ImportError: attempted relative import with no known parent package
.numbbo/coco
package. Their package is pretty well established, documented, and tested.
I've seen that the functions you've implemented are not present, so my question is,
why did you decide to release your own package instead of contributing?
I think you need to explain, preferably also in the paper,
how your package compares to the other(s) and why you choose to release your work separately.artificialMultifidelity.py
and borehole.py
(from codacy). MultiFidelityFunction
class.
You mention in the paper that you're using
the package for your research, so it'd be good if you could provide a more in-depth example (preferably also with the code).
I think the API docs need a bit of work, the docs MultiFidelityFunction
are good but the rest of the functions
could be improved. That's all I've got for now, keep up the good work!
Hi @torressa, thanks for the compliments and comments!
coco
. I'll update the paper with a more complete comparison and explanation.artificialMultifidelity
is semi-dead code at the moment, so you're right, I should properly include or remove it. For borehole.py
there are some subtle differences which it doesn't highlight, so not de-duplicating has been a concious decision so far. I'll have a look at it again to see if that's still the right decision.I'll give a notice when I've updated anything.
@melissawm Could you edit the fist post by Whedon to add a check-list for @torressa? Would help me to see what I still have to work on too ๐
Hello @sjvrijn ! I'm sorry, I had edited it but for some reason it seems the edit didn't stick, maybe my connection was unstable. Thanks for the heads up!
Hi @sjvrijn! Sorry for the delay and thanks for the reply. I've updated the check point list :sunglasses: Thanks @melissawm
4.2 That looks good actually, missed the subsections on my first look. Also, pretty cool that you set up a gitter channel. 4.3 Fair enough, didn't know that. I just came across several cases when python constructs (maps, generators and list comprehensions) where a lot faster than numpy. I think with the appropriate construct, they are comparable to numpy both when the number of calls is large and when the size of the arrays is also large (which is what happens in all the 2D examples in the link in my original comment, and that's with list comprehensions!). The scalability plot would be great!
As for referencing the updates, I'll raise some issues in your repo with the relevant changes. If you add #issue_number
to your commit message, github will automatically show it here.
Dear authors and reviewers
We wanted to notify you that in light of the current COVID-19 pandemic, JOSS has decided to suspend submission of new manuscripts and to handle existing manuscripts (such as this one) on a "best efforts basis". We understand that you may need to attend to more pressing issues than completing a review or updating a repository in response to a review. If this is the case, a quick note indicating that you need to put a "pause" on your involvement with a review would be appreciated but is not required.
Thanks in advance for your understanding.
Arfon Smith, Editor in Chief, on behalf of the JOSS editorial team.
First of all, I completely understand it if any of you have more pressing matters than this review given the current circumstances. So please take care of yourself and many thanks for any time you are still able to contribute to this review.
@torressa While creating the scalability plot (coming soon), as a reply to your concerns about performance of using Numpy, I've compared a pre-numpy implementation of the Hartmann6 function with the numpy implementation. As you can see from the table below, the numpy implementation is ~10-80 times faster for evaluating N>=10 points at a time.
N | Pure Python | Numpy | Speedup |
---|---|---|---|
1 | 0.000026 | 0.000015 | 1.7 |
10 | 0.000229 | 0.000022 | 10.5 |
100 | 0.002211 | 0.000045 | 49.3 |
1000 | 0.020856 | 0.000279 | 74.7 |
10000 | 0.197703 | 0.005815 | 34.0 |
100000 | 2.094764 | 0.047761 | 43.9 |
1000000 | 20.371699 | 0.515337 | 39.5 |
For completeness: I've taken the code from commit f22104d3e62a4535f660cad73b8a822cc1f3cef0
and adjusted it. You could test this yourself by adding the code below into the mf2/hartmann.py
file
import math
A = _A6[0]
P = _P6[0]
alpha_high = _alpha6_high.T[0]
def pure_python_hartmann6_hf(xx):
xx = np.atleast_2d(xx)
results = []
for row in xx:
outer_sum = 2.58
for alpha_i, A_i, P_i in zip(alpha_high, A, P):
inner_sum = 0
for xx_j, A_ij, P_ij in zip(row, A_i, P_i):
inner_sum += A_ij * (xx_j-P_ij)**2
outer_sum += alpha_i * math.exp(-inner_sum)
results.append(-(1/1.94) * outer_sum)
return np.array(results)
@whedon generate pdf
Hi @sjvrijn! Cool scalability plot, and pretty neat code to create it as well. About the numpy vs pure python discussion, thanks for making the extra effort. I implemented a faster pure python version with generators and maps but was still slower than numpy. You win!
@whedon generate pdf
@whedon set v2020.4.3 as version
I'm sorry @sjvrijn, I'm afraid I can't do that. That's something only editors are allowed to do.
Hi @torressa, I believe I've now addressed all the issues you've raised in https://github.com/sjvrijn/mf2/issues/1 and https://github.com/sjvrijn/mf2/issues/2:
borehole.py
(and removed artificialmultifidelity.py
for the time being),create_regression_files.py
script (python3 -m test.create_regression_files
),:wave: @petroniocandido - how are you getting along with your review?
@sjvrijn Perfect! Looks really good! All ticked off from me
@melissawm @arfon it's been over 2 months since Petrรดnio last responded. I realize these are special times, but would it be possible to ask for an additional reviewer?
@sjvrijn - I'd like to wait another couple of weeks before we do this.
Hello @arfon thanks for responding, I agree. @sjvrijn thanks for your patience
@whedon commands
Here are some things you can ask me to do:
# List Whedon's capabilities
@whedon commands
# List of editor GitHub usernames
@whedon list editors
# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers
EDITORIAL TASKS
# Compile the paper
@whedon generate pdf
# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name
# Ask Whedon to check the references for missing DOIs
@whedon check references
# Ask Whedon to check repository statistics for the submitted software
@whedon check repository
@whedon remind @sjvrijn in 3 weeks
I'm sorry @sjvrijn, I'm afraid I can't do that. That's something only editors are allowed to do.
@whedon remind @sjvrijn in 3 weeks
Reminder set for @sjvrijn in 3 weeks
:wave: @sjvrijn, please update us on how things are progressing here.
:wave: @jmadera and @zbeekman - would either of you be willing to review this submission for JOSS? We carry out our checklist-driven reviews here in GitHub issues and follow these guidelines: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html
I'd love to! Looks interesting!
@whedon add @zbeekman as reviewer
OK, @zbeekman is now a reviewer
I'd love to! Looks interesting!
Great, thanks so much @zbeekman! I've added a checklist for you at the top of this issue. Please carry out your review in this issue by updating the checklist above and giving feedback in this issue. The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html
Any questions/concerns please let me know.
@arfon have the reviewer guidelines changed meaningfully in the past ~3-6 months? I'll skim them again to make sure I don't miss anything but I've reviewed a few JOSS papers before.
Submitting author: @sjvrijn (Sander van Rijn) Repository: https://github.com/sjvrijn/mf2 Version: v2020.8.0 Editor: @melissawm Reviewers: @torressa, @zbeekman Archive: 10.5281/zenodo.3998591
Status
Status badge code:
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
@petroniocandido, @torressa please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @melissawm know.
โจ Please try and complete your review in the next two weeks โจ
Review checklist for @petroniocandido
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @zbeekman
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @torressa
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper