Summary:
I’m the tic tac toe guy from a couple weeks ago. I’m working on moving my tic-tac-toe board identification problem to be a full game problem. To start I have been trying to use category encoders rather than scaler encoders for the value of each position on the board. This update is causing me problems though. My swarming definition updates have caused me to start hitting an assert down in NUPIC code. I’ve double checked my training data and my .json file, but I cannot see the error. Could I get someone to review my code and see if they see anything jumps out?
The call stack is this:
Model Exception: Exception occurred while running model 2251: AssertionError() (<type 'exceptions.AssertionError'>)
Traceback (most recent call last):
File "/home/mgstrein/.local/lib/python2.7/site-packages/nupic-0.5.7-py2.7.egg/nupic/swarming/utils.py", line 435, in runModelGivenBaseAndParams
(completionReason, completionMsg) = runner.run()
File "/home/mgstrein/.local/lib/python2.7/site-packages/nupic-0.5.7-py2.7.egg/nupic/swarming/ModelRunner.py", line 237, in run
maxTimeout=readTimeout)
File "/home/mgstrein/.local/lib/python2.7/site-packages/nupic-0.5.7-py2.7.egg/nupic/data/stream_reader.py", line 201, in __init__
bookmark, firstRecordIdx)
File "/home/mgstrein/.local/lib/python2.7/site-packages/nupic-0.5.7-py2.7.egg/nupic/data/stream_reader.py", line 297, in _openStream
firstRecord=firstRecordIdx)
File "/home/mgstrein/.local/lib/python2.7/site-packages/nupic-0.5.7-py2.7.egg/nupic/data/file_record_stream.py", line 237, in __init__
FieldMetaType.integer)
AssertionError
test_search.json - this is long (sorry)
{
"includedFields": [
{
"fieldName": "reset",
"fieldType": "int"
},
{
"fieldName": "row_0_column_0",
"fieldType": "string"
},
{
"fieldName": "row_1_column_0",
"fieldType": "string"
},
{
"fieldName": "row_2_column_0",
"fieldType": "string"
},
{
"fieldName": "row_0_column_1",
"fieldType": "string"
},
{
"fieldName": "row_1_column_1",
"fieldType": "string"
},
{
"fieldName": "row_2_column_1",
"fieldType": "string"
},
{
"fieldName": "row_0_column_2",
"fieldType": "string"
},
{
"fieldName": "row_1_column_2",
"fieldType": "string"
},
{
"fieldName": "row_2_column_2",
"fieldType": "string"
},
{
"fieldName": "winner",
"fieldType": "string"
}
],
"streamDef": {
"info": "data.csv",
"version": 1,
"streams": [
{
"info": "data.csv",
"source": "file://data.csv",
"columns": [
"*"
],
"last_record": -1
}
]
},
"inferenceType": "MultiStep",
"inferenceArgs": {
"predictionSteps": [
1
],
"predictedField": "winner"
},
"iterationCount": -1,
"swarmSize": "small"
}
The first few rows of data.csv - the actual data is another 500 lines
reset,row_0_column_0,row_0_column_1,row_0_column_2,row_1_column_0,row_1_column_1,row_1_column_2,row_2_column_0,row_2_column_1,row_2_column_2,winner
bool,string,string,string,string,string,string,string,string,string,string
R,C,C,C,C,C,C,C,C,C,C
1,2,0,1,0,1,0,1,2,0,0
0,0,0,0,0,0,0,0,0,0,1
1,2,2,2,1,1,0,0,1,0,0
0,0,0,0,0,0,0,0,0,0,2