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 >
