# HG changeset patch # User Olivier Breuleux # Date 1228427583 18000 # Node ID a027c4cedf9835dbf01bcb991db2b6f5628b05e8 # Parent df2e2c7ba4ac99da3856d33d4f52e86b83d6f7ef removed crud diff -r df2e2c7ba4ac -r a027c4cedf98 pylearn/dbdict/newstuff.py --- a/pylearn/dbdict/newstuff.py Thu Dec 04 16:51:58 2008 -0500 +++ b/pylearn/dbdict/newstuff.py Thu Dec 04 16:53:03 2008 -0500 @@ -787,87 +787,3 @@ run_cmdline() - - - - - - - - - - - - - - - - - - - - - -# fuck this shit - -# ################################################################################ -# ### multiple channels -# ################################################################################ - -# class MultipleChannel(Channel): -# def switch(self, job, *message): -# raise NotImplementedError('This Channel does not allow switching between jobs.') -# def broadcast(self, *message): -# raise NotImplementedError() - -# class SpawnChannel(MultipleChannel): -# # spawns one process for each task -# pass - -# class GreenletChannel(MultipleChannel): -# # uses a single process for all tasks, using greenlets to switch between them -# pass - - - - - - - - - - - - - -# Hello, - -# I have changed/improved the dbdict interface a bit. All the new features are in pylearn.dbdict.newstuff and I copied and modified some existing features in another new file, pylearn.dbdict.sql. - -# I'm not completely sure how to organize the help right now (will do tomorrow) but in a nutshell you can use it in several ways already: - -# command line: -# python newstuff.py cmdline mymodule.some_experiment a=2 b=3 c.x=4 c.y="hello" - -# register an experiment in sql: -# python newstuff.py sqlschedule postgres://user:pass@host/dbname/tablename mymodule.some_experiment a=2 b=3 c.x=4 c.y="hello" - -# run experiments found in an sql table (and ideally registered using sqlschedule): -# python newstuff.py sql postgres://user:pass@host/dbname/tablename ssh://host:remote_directory - -# I verified that SIGINT and SIGTERM are caught correctly. They are. I am missing handling for push_error. - -# Options that I am planning to add: -# cmdline: --force to run a job that's already running or already done -# sql: -n to run n jobs instead of just one -# sql: --retry-failed to re-run a job that raised an exception (if your mistake was at the end of training, it's nice to have) (this would require a special status in the db) -# sql: --display to display stdout and stderr in addition to redirecting them to files -# sqlschedule: --force to reset the status of the job described to START, if it already exists (useful if a bug leaves the status to RUNNING) - -# The experiment is a function like: -# def run(state, channel): - -# The state is a sort of nested dictionary where getattr and getitem, setattr and setitem are aliased. - -# Olivier -