Skip to content

Commit 3f0d9f7

Browse files
committed
Merge pull request #357 from cogmission/v0.6.5-alpha-prep
prep for new version
2 parents b2fcf6a + 81a77f2 commit 3f0d9f7

File tree

4 files changed

+114
-3
lines changed

4 files changed

+114
-3
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ apply plugin: 'eclipse'
44
apply plugin: 'signing'
55

66
group = 'org.numenta'
7-
version = '0.6.5-SNAPSHOT'
7+
version = '0.6.5'
88
archivesBaseName = 'htm.java'
99

1010
sourceCompatibility = 1.8
1111
targetCompatibility = 1.8
1212

1313
jar {
1414
manifest {
15-
attributes 'Implementation-Title': 'htm.java', 'Implementation-Version': '0.6.5-SNAPSHOT'
15+
attributes 'Implementation-Title': 'htm.java', 'Implementation-Version': '0.6.5'
1616
}
1717
}
1818

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>org.numenta</groupId>
66
<artifactId>htm.java</artifactId>
7-
<version>0.6.5-SNAPSHOT</version>
7+
<version>0.6.5</version>
88
<name>htm.java</name>
99
<description>The Java version of Numenta's HTM technology</description>
1010

src/test/java/org/numenta/nupic/network/LayerTest.java

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,6 +1214,115 @@ public void onNext(Inference i) {
12141214
e.printStackTrace();
12151215
}
12161216
}
1217+
1218+
@Test
1219+
public void testMissingEncoderMap() {
1220+
Parameters p = NetworkTestHarness.getParameters().copy();
1221+
//p = p.union(NetworkTestHarness.getHotGymTestEncoderParams());
1222+
p.setParameterByKey(KEY.RANDOM, new MersenneTwister(42));
1223+
p.setParameterByKey(KEY.COLUMN_DIMENSIONS, new int[] { 2048 });
1224+
p.setParameterByKey(KEY.POTENTIAL_RADIUS, 200);
1225+
p.setParameterByKey(KEY.INHIBITION_RADIUS, 50);
1226+
p.setParameterByKey(KEY.GLOBAL_INHIBITIONS, true);
1227+
1228+
// System.out.println(p);
1229+
1230+
Map<String, Object> params = new HashMap<>();
1231+
params.put(KEY_MODE, Mode.PURE);
1232+
params.put(KEY_WINDOW_SIZE, 3);
1233+
params.put(KEY_USE_MOVING_AVG, true);
1234+
Anomaly anomalyComputer = Anomaly.create(params);
1235+
1236+
Layer<?> l = Network.createLayer("TestLayer", p)
1237+
.alterParameter(KEY.AUTO_CLASSIFY, true)
1238+
.add(anomalyComputer)
1239+
.add(new TemporalMemory())
1240+
.add(new SpatialPooler())
1241+
.add(Sensor.create(
1242+
FileSensor::create,
1243+
SensorParams.create(
1244+
Keys::path, "", ResourceLocator.path("rec-center-hourly-small.csv"))));
1245+
1246+
l.getConnections().printParameters();
1247+
1248+
l.subscribe(new Observer<Inference>() {
1249+
@Override public void onCompleted() {}
1250+
@Override public void onError(Throwable e) { System.out.println("error: " + e.getMessage()); e.printStackTrace();}
1251+
@Override
1252+
public void onNext(Inference i) {
1253+
if(flowReceived) return; // No need to set this value multiple times
1254+
1255+
flowReceived = i.getClassifiers().size() == 4 &&
1256+
i.getClassifiers().get("timestamp") != null &&
1257+
i.getClassifiers().get("consumption") != null;
1258+
}
1259+
});
1260+
1261+
try {
1262+
l.close();
1263+
fail();
1264+
}catch(Exception e) {
1265+
assertEquals("Cannot initialize this Sensor's MultiEncoder with a null settings", e.getMessage());
1266+
}
1267+
1268+
try {
1269+
assertFalse(flowReceived);
1270+
}catch(Exception e) {
1271+
e.printStackTrace();
1272+
}
1273+
1274+
////////////////// Test catch with no Sensor ////////////////////
1275+
1276+
p = NetworkTestHarness.getParameters().copy();
1277+
//p = p.union(NetworkTestHarness.getHotGymTestEncoderParams());
1278+
p.setParameterByKey(KEY.RANDOM, new MersenneTwister(42));
1279+
p.setParameterByKey(KEY.COLUMN_DIMENSIONS, new int[] { 2048 });
1280+
p.setParameterByKey(KEY.POTENTIAL_RADIUS, 200);
1281+
p.setParameterByKey(KEY.INHIBITION_RADIUS, 50);
1282+
p.setParameterByKey(KEY.GLOBAL_INHIBITIONS, true);
1283+
1284+
params = new HashMap<>();
1285+
params.put(KEY_MODE, Mode.PURE);
1286+
params.put(KEY_WINDOW_SIZE, 3);
1287+
params.put(KEY_USE_MOVING_AVG, true);
1288+
anomalyComputer = Anomaly.create(params);
1289+
1290+
l = Network.createLayer("TestLayer", p)
1291+
.alterParameter(KEY.AUTO_CLASSIFY, true)
1292+
.add(anomalyComputer)
1293+
.add(new TemporalMemory())
1294+
.add(new SpatialPooler())
1295+
.add(anomalyComputer)
1296+
.add(MultiEncoder.builder().name("").build());
1297+
1298+
l.getConnections().printParameters();
1299+
1300+
l.subscribe(new Observer<Inference>() {
1301+
@Override public void onCompleted() {}
1302+
@Override public void onError(Throwable e) { System.out.println("error: " + e.getMessage()); e.printStackTrace();}
1303+
@Override
1304+
public void onNext(Inference i) {
1305+
if(flowReceived) return; // No need to set this value multiple times
1306+
1307+
flowReceived = i.getClassifiers().size() == 4 &&
1308+
i.getClassifiers().get("timestamp") != null &&
1309+
i.getClassifiers().get("consumption") != null;
1310+
}
1311+
});
1312+
1313+
try {
1314+
l.close();
1315+
fail();
1316+
}catch(Exception e) {
1317+
assertEquals("No field encoding map found for specified MultiEncoder", e.getMessage());
1318+
}
1319+
1320+
try {
1321+
assertFalse(flowReceived);
1322+
}catch(Exception e) {
1323+
e.printStackTrace();
1324+
}
1325+
}
12171326

12181327
private Parameters getArrayTestParams() {
12191328
Map<String, Map<String, Object>> fieldEncodings = setupMap(

vocabulary.dictionary

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,3 +214,5 @@ depolarisation
214214
feedforward
215215
favour
216216
geo
217+
menuitem
218+
jfxtras

0 commit comments

Comments
 (0)