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 faq #197

Merged
merged 4 commits into from
Mar 11, 2024
Merged

add faq #197

merged 4 commits into from
Mar 11, 2024

Conversation

mastoffel
Copy link
Collaborator

@mastoffel mastoffel commented Mar 4, 2024

Adding user FAQ and a few smaller changes to the docs.

resolves #188

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@mastoffel
Copy link
Collaborator Author

@kallewesterling @bryanlimy if you had some time to look over this, that would be great.

Copy link
Contributor

github-actions bot commented Mar 4, 2024

Coverage report

This PR does not seem to contain any modification to coverable code.

Copy link
Collaborator

@kallewesterling kallewesterling left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it looks good as a start but a few comments from my side :)

@@ -1,5 +1,7 @@
# First-Time Contributors' Frequently Asked Questions

**TODO**
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think is needed here? An intro to the page, perhaps?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading through the answers, perhaps we should add "You need to be familiar with..." and then list what prerequisites there are for the package. For instance, a good understanding of machine learning concepts, and NumPy as a package?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just put a todo to include it but show that it's not ready, and I'm not sure we can get this done this week.

About the prerequisites list: Yes, I think that's a good idea!

<!-- Information on the knowledge or data required to effectively use AutoEmulate, such as familiarity with Python, machine learning concepts, or specific data formats. -->
- `AutoEmulate` is designed to be easy to use. The user has to first generat a dataset of simulation inputs `X` and outputs `y`, and optimally have a basic understanding of Python and machine learning concepts.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

generat --> generate

<!-- Guidance on understanding the output of the software, including any metrics or visualizations it produces. -->
- See the [tutorial](../../tutorials/01_start.ipynb) for an example of how to interpret the results from `AutoEmulate`. Briefly, `X` and `y` are first split into training and test sets. Cross-validation and/or hyperparameter optimisation are performed on the training data. After comparing the results from different emulators, the user can evaluate the chosen emulator on the test set with `autoemulate.evaluate_model()`, and plot test set predictions with `autoemulate.plot_model()`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could link autoemulate.evaluate_model() and autoemulate.plot_model() here to the API docs maybe?

Copy link
Collaborator Author

@mastoffel mastoffel Mar 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, doing that now. @kallewesterling do you know whether there is a way to directly link to a class method (instead of just the class?)

<!-- Details on the software's capabilities to leverage multi-threading, distributed computing, or HPC resources to speed up computations. -->
- Yes, `setup()` has an `n_jobs` parameter which allows to parallelise cross-validation and hyperparameter optimisation.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's link setup() to the API docs like above!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Linking now to the autoemulate.compare module, as I'm currently not sure how to link to a method within the module. I think this needs modification of the rst file, but i don't know whether this should be done manually.

<!-- A list of frequently encountered problems with suggested solutions, possibly linked to a more extensive troubleshooting guide. -->
- TODO
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe @bryanlimy can be helpful here in coming up with commonly-run-into problems?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once we have an option to adjust the verbosity of the codebase than that would be one way to see the underlying error/issue. RIght now I don't think there is easy way to debug the package (from a user perspective) without digging into the source code of both the codebase and the packages we use.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR #200 now adds the option to log everything to a file or to print all logs to screen, and should capture the complete traceback when models fail. Will add this here.

<!-- Instructions on the proper channels for reporting issues or suggesting enhancements, including any templates or information to include. -->
- Please open an issue using the [bug issue template](https://github.com/alan-turing-institute/autoemulate/issues/new/choose).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This actually links to the page where the user can open a bug issue report OR request a new feature, so good to have the link here but suggestion to write something like (this isn't great so feel free to edit): "You can report a bug or request new features through the issue templates in our GitHub repository. Head on over there and choose one of the templates for your purpose and get started."

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, agree, changed the text to your suggestion!

<!-- Information on community-led projects, study groups, or collaborative research initiatives involving AutoEmulate. -->
- TODO
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Always good to connect people up.. I wonder if we could mention for folks to reach out if they want invites to the Slack channel. That might be helpful for others, and we could invite them as guests to the channel.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we invite people from outside the Turing to the Slack channel?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added a sentence to reach out to you or me for now!

Copy link
Member

@bryanlimy bryanlimy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for first release

<!-- A list of frequently encountered problems with suggested solutions, possibly linked to a more extensive troubleshooting guide. -->
- TODO
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once we have an option to adjust the verbosity of the codebase than that would be one way to see the underlying error/issue. RIght now I don't think there is easy way to debug the package (from a user perspective) without digging into the source code of both the codebase and the packages we use.

@codecov-commenter
Copy link

codecov-commenter commented Mar 6, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.68%. Comparing base (aa81a13) to head (f6476e1).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #197   +/-   ##
=======================================
  Coverage   90.68%   90.68%           
=======================================
  Files          45       45           
  Lines        2264     2264           
=======================================
  Hits         2053     2053           
  Misses        211      211           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mastoffel
Copy link
Collaborator Author

@kallewesterling do mind having a second look at this?

@kallewesterling
Copy link
Collaborator

I think it looks good as a start -- then we can iterate on improving the FAQ when we are done with AI UK! :)

@mastoffel
Copy link
Collaborator Author

I think it looks good as a start -- then we can iterate on improving the FAQ when we are done with AI UK! :)

Yes, maybe I've got some time before too.

@mastoffel mastoffel merged commit 3caf548 into main Mar 11, 2024
6 checks passed
@mastoffel mastoffel deleted the faq branch March 11, 2024 15:42
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.

Filling in user FAQ's
4 participants