public void TestSerializeObservableSensor() { PublisherSupplier supplier = PublisherSupplier.GetBuilder() .AddHeader("dayOfWeek") .AddHeader("darr") .AddHeader("B").Build(); ObservableSensor <string[]> oSensor = new ObservableSensor <string[]>( SensorParams.Create(SensorParams.Keys.Obs, new Object[] { "name", supplier })); SerialConfig config = new SerialConfig("testSerializeObservableSensor", SerialConfig.SERIAL_TEST_DIR); IPersistenceAPI api = Persistence.Get(config); byte[] bytes = api.Write(oSensor); ObservableSensor <string[]> serializedOSensor = api.Read <ObservableSensor <string[]> >(bytes); bool b = serializedOSensor.IsDeepEqual(oSensor); DeepCompare(serializedOSensor, oSensor); Assert.IsTrue(b); }
private Net.Network.Network GetLoadedDayOfWeekNetwork() { Parameters p = NetworkTestHarness.GetParameters().Copy(); p = p.Union(NetworkTestHarness.GetDayDemoTestEncoderParams()); p.SetParameterByKey(Parameters.KEY.RANDOM, new XorshiftRandom(42)); Sensor <ObservableSensor <string[]> > sensor = Sensor <ObservableSensor <string[]> > .Create( ObservableSensor <string[]> .Create, SensorParams.Create(SensorParams.Keys.Obs, new object[] { "name", PublisherSupplier.GetBuilder() .AddHeader("dayOfWeek") .AddHeader("number") .AddHeader("B").Build() })); Net.Network.Network network = Net.Network.Network.Create("test network", p) .Add(Net.Network.Network.CreateRegion("r1") .Add(Net.Network.Network.CreateLayer("1", p) .AlterParameter(Parameters.KEY.AUTO_CLASSIFY, true) .Add(Anomaly.Create()) .Add(new TemporalMemory()) .Add(new SpatialPooler()) .Add(sensor))); return(network); }
public void TestSerializeLayer() { Parameters p = NetworkTestHarness.GetParameters().Copy(); p.SetParameterByKey(Parameters.KEY.RANDOM, new MersenneTwister(42)); Map <String, Map <String, Object> > settings = NetworkTestHarness.SetupMap( null, // map 8, // n 0, // w 0, // min 0, // max 0, // radius 0, // resolution null, // periodic null, // clip true, // forced "dayOfWeek", // fieldName "darr", // fieldType (dense array as opposed to sparse array or "sarr") "SDRPassThroughEncoder"); // encoderType p.SetParameterByKey(Parameters.KEY.FIELD_ENCODING_MAP, settings); Sensor <ObservableSensor <string[]> > sensor = Sensor <ObservableSensor <string[]> > .Create( ObservableSensor <string[]> .Create, SensorParams.Create(SensorParams.Keys.Obs, new Object[] { "name", PublisherSupplier.GetBuilder() .AddHeader("dayOfWeek") .AddHeader("darr") .AddHeader("B").Build() })); ILayer layer = Net.Network.Network.CreateLayer("1", p) .AlterParameter(Parameters.KEY.AUTO_CLASSIFY, true) .Add(new SpatialPooler()) .Add(sensor); // Observer obs = new Observer<IInference>() { // @Override public void onCompleted() { } // @Override public void onError(Throwable e) { e.printStackTrace(); } // @Override // public void onNext(Inference spatialPoolerOutput) // { // System.out.println("in onNext()"); // } //}; var obs = Observer.Create <IInference>( spatialPoolerOutput => { Console.WriteLine("in onNext()"); }, e => Console.WriteLine(e), () => { }); layer.Subscribe(obs); layer.Close(); SerialConfig config = new SerialConfig("testSerializeLayer", SerialConfig.SERIAL_TEST_DIR); IPersistenceAPI api = Persistence.Get(config); api.Write(layer); //Serialize above Connections for comparison with same run but unserialized below... ILayer serializedLayer = api.Read <ILayer>(); Assert.AreEqual(serializedLayer, layer); DeepCompare(layer, serializedLayer); // Now change one attribute and see that they are not equal serializedLayer.ResetRecordNum(); Assert.AreNotEqual(serializedLayer, layer); }