Hi Ryan,

I've just updated my nupic.core and nupic forks with latest from Numenta
master. And faced the exact same problem (but on Windows). I needed to do
two things. Updating sys and file log handlers to support win32
(src\nupic\support\__init__.py) and to delete files generated during the
run of the 'simple' swarming test (with one worker, i.e. no --maxWorkers on
command line). Those changes MAY only be related to the Windows porting,
but a few things to try..

See what the Python commands "import sys; print sys.platform.lower()"
outputs.
Cleaning up files generated by the swarming (for me those files where
description.py,permutations.py, model_0/ directory, a .pkl and.csv file)
Using --overwrite flag when swarming with the scripts\run_scripts.py

I'd be interested to see the sys.platform output.

Regards, Richard.


On Sun, Nov 1, 2015 at 1:02 AM, Ryan J. McCall <[email protected]>
wrote:

> Hello NuPIC,
>
> I'm having an issue with swarming on a RHEL box. I've installed NuPIC
> Version: 0.3.1. I have mysql running and have confirmed that db connections
> can be made with the test_db.py script. The error I'm getting is similar to
> some other threads (traceback below). The hypersearch finishes quickly,
> evaluates 0 models and throws and exception because there's no result to
> load. I would appreciate any suggestions. It looks like jobs are added to
> the DB based on my debugging. My thought is to debug the HypersearchWorkers
> next which run as separate processes -- have to figure out how to do that...
>
> Many thanks,
>
> Ryan
>
>
> Successfully submitted new HyperSearch job, jobID=1020
> Evaluated 0 models
> HyperSearch finished!
> Worker completion message: None
>
> Results from all experiments:
> ----------------------------------------------------------------
> Generating experiment files in directory: /tmp/tmp0y39RS...
> Writing  313 lines...
> Writing  114 lines...
> done.
> None
> json.loads(jobInfo.results) raised an exception.  Here is some info to
> help with debugging:
> jobInfo:  _jobInfoNamedTuple(jobId=1020, client=u'GRP', clientInfo=u'',
> clientKey=u'', cmdLine=u'$HYPERSEARCH', params=u'{"hsVersion": "v2",
> "maxModels": null, "persistentJobGUID":
> "1a3c7950-8032-11e5-8a23-a0d3c1f9d4f4", "useTerminators": false,
> "description": {"includedFields": [{"fieldName": "time", "fieldType":
> "datetime"}, {"maxValue": 50000, "fieldName": "volume", "fieldType": "int",
> "minValue": 0}], "streamDef": {"info": "rp3_volume", "version": 1,
> "streams": [{"info": "rp3_volume", "source":
> "file:///home/rmccall/experiment/projects/rp3/rp3-training_data.csv",
> "columns": ["*"]}]}, "inferenceType": "TemporalAnomaly", "inferenceArgs":
> {"predictionSteps": [1], "predictedField": "volume"}, "iterationCount": -1,
> "swarmSize": "small"}}',
> jobHash='\x1a<\x81R\x802\x11\xe5\x8a#\xa0\xd3\xc1\xf9\xd4\xf4',
> status=u'notStarted', completionReason=None, completionMsg=None,
> workerCompletionReason=u'success', workerCompletionMsg=None, cancel=0,
> startTime=None, endTime=None, results=None, engJobType=u'hypersearch',
> minimumWorkers=1, maximumWorkers=8, priority=0, engAllocateNewWorkers=1,
> engUntendedDeadWorkers=0, numFailedWorkers=0,
> lastFailedWorkerErrorMsg=None, engCleaningStatus=u'notdone',
> genBaseDescription=None, genPermutations=None,
> engLastUpdateTime=datetime.datetime(2015, 11, 1, 0, 47, 18),
> engCjmConnId=None, engWorkerState=None, engStatus=None,
> engModelMilestones=None)
> jobInfo.results:  None
> EXCEPTION:  expected string or buffer
> Traceback (most recent call last):
>   File "/usr/local/lib/python2.7/pdb.py", line 1314, in main
>     pdb._runscript(mainpyfile)
>   File "/usr/local/lib/python2.7/pdb.py", line 1233, in _runscript
>     self.run(statement)
>   File "/usr/local/lib/python2.7/bdb.py", line 400, in run
>     exec cmd in globals, locals
>   File "<string>", line 1, in <module>
>   File "htmAnomalyDetection.py", line 2, in <module>
>     import argparse
>   File "htmAnomalyDetection.py", line 314, in main
>     runSwarming(args.nupicDataPath, args.projectName, args.maxWorkers,
> args.overwrite)
>   File "htmAnomalyDetection.py", line 164, in runSwarming
>     "overwrite": overwrite})
>   File
> "/usr/local/lib/python2.7/site-packages/nupic/swarming/permutations_runner.py",
> line 277, in runWithConfig
>     return _runAction(runOptions)
>   File
> "/usr/local/lib/python2.7/site-packages/nupic/swarming/permutations_runner.py",
> line 218, in _runAction
>     returnValue = _runHyperSearch(runOptions)
>   File
> "/usr/local/lib/python2.7/site-packages/nupic/swarming/permutations_runner.py",
> line 161, in _runHyperSearch
>     metricsKeys=search.getDiscoveredMetricsKeys())
>   File
> "/usr/local/lib/python2.7/site-packages/nupic/swarming/permutations_runner.py",
> line 826, in generateReport
>     results = json.loads(jobInfo.results)
>   File
> "/usr/local/lib/python2.7/site-packages/nupic/swarming/object_json.py",
> line 163, in loads
>     json.loads(s, object_hook=objectDecoderHook, **kwargs))
>   File "/usr/local/lib/python2.7/json/__init__.py", line 351, in loads
>     return cls(encoding=encoding, **kw).decode(s)
>   File "/usr/local/lib/python2.7/json/decoder.py", line 366, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
> TypeError: expected string or buffer
>
> --
> Ryan J. McCall
> ryanjmccall.com
>

Reply via email to