Theano-MPI
Theano-MPI copied to clipboard
Cifar10_model not found
I am having trouble executing the included Theano-MPI examples from within a docker container.
My output is as follows:
root@503d8c1f182a:/workspace/Theano-MPI/examples# python -u test_easgd.py Traceback (most recent call last): File "test_easgd.py", line 12, in <module> modelclass = 'Cifar10_model') File "/usr/local/lib/python2.7/dist-packages/Theano_MPI-1.0-py2.7.egg/theanompi/rules.py", line 173, in init p = subprocess.Popen(command) File "/usr/lib/python2.7/subprocess.py", line 711, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
It appears to not be finding the Cifar10 model, which I can find plainly in theanompi/models/. However even when I run test_easgd.py in the theanompi folder, it gives me the same error. What can I do to restructure the directories such that the test_easgd.py finds the Cifar10 model?
Thank you
@benliebersohn try this (in test_easgd.py):
from theanompi import EASGD rule=EASGD() rule.init(devices=['cuda0', 'cuda1', 'cuda2'] , modelfile = 'theanompi.models.cifar10', modelclass = 'Cifar10_model') rule.wait()
@benliebersohn @dlunga
The way of finding the model file and model class is a bit of hack right now. See here. It requires an absolute path, like something on the PYTHONPATH
. For example
modelfile = 'theanompi.models.cifar10'
will work because theanompi
is an absolute python package if installed somewhere.
To have a customized model discovered by worker.py, you need to put the current working directory in PYTHONPATH
. That is,
export PYTHONPATH=$(pwd):$PYTHONPATH
will make the current folder available.
Doing it this way allows you to work from a random folder with the following files:
launch_session.cfg
modelfile.py
Thanks that makes it easy.