-
Notifications
You must be signed in to change notification settings - Fork 201
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
Jenn #517
Jenn #517
Conversation
Running into issues on
|
Hi. I pulled your PR locally and run pytest (after installing >python
Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from jenn.model import NeuralNet
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'jenn.model'
>>> Then I noticed that
As for now SMT is tested on py3.9, py3.10, py3.11, so... |
Thank you, Rémy. That makes sense. I did require Python 11 or greater on jenn, as I hadn't yet tested it on lower versions, which would explain. I will relax that requirement, do some testing, and circle back. This is very helpful. Thanks again. |
Ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Steven. This looks good to me, thank you!
Summary
This PR replaces the
neural_net
package byjenn
as an upstream dependency, which is an updated version that is about 5x faster. The previous implementationgenn
inadvertently copied data which has been fixed injenn
by updating arrays in place.Details
Major changes:
jenn>=1.0.1
as upstream dependency inrequirements.txt
stm.surrogate_models.neural_net
jenn.model.NeuralNet
instead ofsmt.utils.neural_net.model.Model
Minor changes:
genn.load_smt_data
function replaced bygenn.GENN.load_data
methodstm.examples.multi_modal
b/c it used API of underlyingGENN
model rather than SMT API (confusing to users)plot_training_history
andgoodness_of_fit
because they did not conform to SMT APIgenn.run_example
because it duplicates the unit test / usage example in docssmt.tests.test_all.genn
function b/c it wasn't really needed and stood out relative to the other surrogates@unittest.skipIf(int(os.getenv("RUN_SLOW", 0)) < 1, "too slow")
b/cjenn
should fix issue with slownesssmt.utils.neural_net
since it is replaced byjenn
test_all.py
, except forexp
which could only be reduced to 10%deep
,wide
byhidden_layer_sizes
(GENN
class options)is_normalize
(GENN
class options)is_bracktracking
(GENN
class options)genn
docs sections (adjusted forGENN
class modifications)learning_airfoil_parameters
example (adjusted forGENN
class modifications)jenn
as required package insetup.py
environment.yml
for development convenienceconda env update -f environment.yml -n smt