-
Notifications
You must be signed in to change notification settings - Fork 8
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
Tutorial 5 not working #51
Comments
what is is the output of adaptivemd.mongodb.base.StorableMix.descendants()? I'm asking because update_storable_classes should include all children of StorableMixin. |
The new class is in there.
|
Is mygenerator a importable module?
|
Hi, perhaps I can help... The way saving and loading of classes works is that we store only the necessary parameters and then create a new object using either the constructor or the custom method This is a little different to the Now, the class itself is not stored, just its name. And when you load a file then you need a list that maps names back to the classes. This list is stored in the
The list of class name to real class is derived by searching for all existing subclasses of The list is created when the This part is clear (I presume from the detailed question). When you now start a worker the same rules apply. You can only reconstruct classes that are loaded in your python instance. The worker does not import any files other than the ones in adaptivemd. Solutions
Example
The worker will initially scan for all |
I forgot. Will have a look at the tutorial to see what is wrong. |
Hi, could we just try to get the notebooks working for now? |
Will fix this this evening. Sorry! |
Okay, I was just looking at this again. I think it needs to be clear that this notebook is not just executable and the file created is a stub, that needs to be completed witht the codesnippets provided in the notebook itself. Then, it needs to be added to the installed project and also installed as well on the cluster where you want to try it. All of this is mentioned in the notebook. And the reason that you cannot just run the example and write your own class is also explained. So, did you do all those steps and did it fail? Then I think we should fix this and see what the problem is. I also explained above what we would have to do to make the examples (theoretically) run without having to change the source of the package, but we should decide on that (see above). I am happy to help to fix this. |
I'm well aware that this is not a just-press-the-button notebook. I tried to set-up and run a minimal example class and script. I started from the first example in notebook 5 and added what I thought was missing but could not properly register it with the db. From a didactic perspective, it would be great to have one completely working example which does run upon pressing the button. Maybe at the end of the notebook where people should have read the more theoretic part (by the way, it's great that this is dealt with in so much detail!). This is where potential users could start implementing their own stuff by copy-pasting and modifying. |
Using one's own generator class, i.e. for implementing a pyemma analysis script, does not work as described in notebook 5. First, their are several bugs in the notebook itself. Substituting the given
my_generator.py
by e.g. (just as a non-sense minimal example, important are the imports...)and, inside the notebook, registering it in the db
seems to fix some of the errors. If I'm not wrong, also the file itself needs to be added to the project, which I did with
Now, according to
project.storage.simplifier.class_list
, the class is registered. Still, when I start a worker with a task from this generator, I getAny ideas? @marscher @jhprinz @euhruska
The text was updated successfully, but these errors were encountered: