public void RoundTripFiles() { var testData = @"{ claimData: ""0x00000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f0f1275000000000000000000000000000000000000000000000000000000005f1e54b5000000000000000000000000d90fc89e89e3e5b75256b5aa617f887c583b29a2000000000000000000000000c0c84e49b0d5a82e046914d9a93f9f64bdb41ca387bca611c58e3bc397f0994a4ea54a02d054c81f21f4901eb5788f1098b2a5dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001""}"; var dataFilePath = Path.GetTempFileName(); var injectedImagePath = Path.Join(Path.GetTempPath(), Path.GetRandomFileName() + ".png"); File.WriteAllText(dataFilePath, testData, Encoding.UTF8); var imageMaker = new ImageMaker() { ImgInputFile = "test_input.png", ImgOutputFile = injectedImagePath, DataFile = dataFilePath }; imageMaker.Header.BitsPerPixel = 2; imageMaker.Header.SetWritableRange(105, 150, 165, 200); imageMaker.Run(); var dataFilePath2 = Path.GetTempFileName(); var dataMaker = new DataMaker() { ImgInputFile = injectedImagePath, DataFile = dataFilePath2 }; dataMaker.Run(); var resultData = File.ReadAllText(dataFilePath2, Encoding.UTF8); Assert.AreEqual(testData, resultData); }
public bool AddNewSensore(string id, IEnumerable <decimal> feedData) { var intId = Int32.Parse(id); if (forestDict.ContainsKey(intId)) { return(false); } else { try { var f = new Forest(treeCount, samplingRatio); var m = new DataMaker(); f.BuildForest(m.NormalizePoints(feedData).ToList()); forestDict[intId] = f; dataMakerDict[intId] = m; return(true); } catch (Exception) { return(false); } } }
public static void Run() { DataMaker dataMaker = new DataMaker(STEPS_PER_CYCLE, NUMBER_OF_CYCLES); NdArray trainData = dataMaker.Make(); FunctionStack model = new FunctionStack("Test8", new Linear(true, 1, 5, name: "Linear l1"), new LSTM(true, 5, 5, name: "LSTM l2"), new Linear(true, 5, 1, name: "Linear l3") ); model.SetOptimizer(new Adam()); RILogManager.Default?.SendDebug("Training..."); for (int epoch = 0; epoch < TRAINING_EPOCHS; epoch++) { NdArray[] sequences = dataMaker.MakeMiniBatch(trainData, MINI_BATCH_SIZE, LENGTH_OF_SEQUENCE); Real loss = ComputeLoss(model, sequences); model.Update(); model.ResetState(); if (epoch != 0 && epoch % DISPLAY_EPOCH == 0) { RILogManager.Default?.SendDebug("[{0}]training loss:\t{1}", epoch, loss); } } RILogManager.Default?.SendDebug("Testing..."); NdArray[] testSequences = dataMaker.MakeMiniBatch(trainData, MINI_BATCH_SIZE, LENGTH_OF_SEQUENCE); int sample_index = 45; predict(testSequences[sample_index], model, PREDICTION_LENGTH); }
public void Setup() { _imageMaker = new ImageMaker() { ImgInputFile = "../../test_input.png", DataFile = "../../test_data.txt" }; _imageMaker.Header.BitsPerPixel = 2; _dataMaker = new DataMaker() { ImgInputFile = "../../test_input.png", DataFile = "../../test_data.txt" }; _dataMaker.Header.BitsPerPixel = 2; }
public static void Run() { DataMaker dataMaker = new DataMaker(STEPS_PER_CYCLE, NUMBER_OF_CYCLES); NdArray <Real> trainData = dataMaker.Make(); //ネットワークの構成は FunctionStack に書き連ねる FunctionStack <Real> model = new FunctionStack <Real>( new Linear <Real>(1, 5, name: "Linear l1"), new LSTM <Real>(5, 5, name: "LSTM l2"), new Linear <Real>(5, 1, name: "Linear l3") ); //optimizerを宣言 Adam <Real> adam = new Adam <Real>(); adam.SetUp(model); //訓練ループ Console.WriteLine("Training..."); for (int epoch = 0; epoch < TRAINING_EPOCHS; epoch++) { NdArray <Real>[] sequences = dataMaker.MakeMiniBatch(trainData, MINI_BATCH_SIZE, LENGTH_OF_SEQUENCE); Real loss = ComputeLoss(model, sequences); adam.Update(); model.ResetState(); if (epoch != 0 && epoch % DISPLAY_EPOCH == 0) { Console.WriteLine("[{0}]training loss:\t{1}", epoch, loss); } } Console.WriteLine("Testing..."); NdArray <Real>[] testSequences = dataMaker.MakeMiniBatch(trainData, MINI_BATCH_SIZE, LENGTH_OF_SEQUENCE); int sample_index = 45; predict(testSequences[sample_index], model, PREDICTION_LENGTH); }
public void RoundTripDataReadsHeader() { var testData = new byte[] { 1, 2, 3, 4 }; var dataToInject = new BitArray(testData); var bmp = _FilledSquare(Color.White, 10, 10); var whitePixels = _imageMaker.PixelsFromImage(bmp); var imageMaker = new ImageMaker(); imageMaker.Header.BitsPerPixel = 2; var dataMaker = new DataMaker(); dataMaker.Header.BitsPerPixel = -1; var injectedPixels = imageMaker.InjectData(whitePixels, dataToInject, 10, 10); byte[] extractedData = dataMaker.ExtractData(injectedPixels, 10, 10); Assert.AreEqual(testData, extractedData); }
public static void Run() { DataMaker dataMaker = new DataMaker(STEPS_PER_CYCLE, NUMBER_OF_CYCLES); NdArray trainData = dataMaker.Make(); //Network configuration is written in FunctionStack FunctionStack model = new FunctionStack( new Linear(1, 5, name: "Linear l1"), new LSTM(5, 5, name: "LSTM l2"), new Linear(5, 1, name: "Linear l3") ); //Declare optimizer model.SetOptimizer(new Adam()); //Training loop Console.WriteLine("Training..."); for (int epoch = 0; epoch < TRAINING_EPOCHS; epoch++) { NdArray[] sequences = dataMaker.MakeMiniBatch(trainData, MINI_BATCH_SIZE, LENGTH_OF_SEQUENCE); Real loss = ComputeLoss(model, sequences); model.Update(); model.ResetState(); if (epoch != 0 && epoch % DISPLAY_EPOCH == 0) { Console.WriteLine("[{0}]training loss:\t{1}", epoch, loss); } } Console.WriteLine("Testing..."); NdArray[] testSequences = dataMaker.MakeMiniBatch(trainData, MINI_BATCH_SIZE, LENGTH_OF_SEQUENCE); int sample_index = 45; predict(testSequences[sample_index], model, PREDICTION_LENGTH); }
public void RoundTripDataWritablePixels() { var testData = new byte[] { 213, 214, 215, 216 }; var dataToInject = new BitArray(testData); var bmp = _FilledSquare(Color.White, 10, 10); var whitePixels = _imageMaker.PixelsFromImage(bmp); var imageMaker = new ImageMaker(); imageMaker.Header.BitsPerPixel = 8; imageMaker.Header.SetWritableRange(4, 4, 8, 8); var dataMaker = new DataMaker(); var injectedPixels = imageMaker.InjectData(whitePixels, dataToInject, 10, 10); Dump(injectedPixels, "Injected pixels"); byte[] extractedData = dataMaker.ExtractData(injectedPixels, 10, 10); Assert.AreEqual(testData, extractedData); }
/** 添加构造器 */ public void addResponseMaker(DataMaker maker) { BytesControl.addDataMaker(maker); _maker.addDic(maker); }
/** 添加发送消息构造 */ public void addRequestMaker(DataMaker maker) { BytesControl.addRequestMaker(maker); }
/// <summary> /// 添加一个 /// </summary> protected void add(DataMaker maker) { BytesControl.addDataMaker(maker); }