// Log simulation Data private void logData() { StringBuilder trans = new StringBuilder(); for (int i = 0; i < map_.transition.Count; i++) { trans.Clear(); for (int j = 0; j < map_.transition[i].Length; j++) { trans.Append(map_.transition[i][j].ToString()); trans.Append(","); } dataLogger_.Log(trans.ToString()); } }
public async Task TestReward() { // 1. EventHub, credentials? // 2. C# web server, rewrite tests for python // 3. test driver in python, re-use driver for all languages //WebApp.Start("http://localhost:9000", builder => { }); using (var dataLogger = new DataLogger("Endpoint=sb://ingest-bj3pkxqvkcb72.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=Jvu8e/iprIq8lQQil0Yl6D7TCZF0zuK6wKHQc/K7/zU=;EntityPath=interaction") { BatchingTimeout = TimeSpan.FromSeconds(1) }) using (var rewardLogger = new RewardLogger("Endpoint=sb://ingest-bj3pkxqvkcb72.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=Jvu8e/iprIq8lQQil0Yl6D7TCZF0zuK6wKHQc/K7/zU=;EntityPath=observation")) { // Add version var eventId = Guid.NewGuid().ToString("n"); dataLogger.Log(eventId, "{\"s\":25,\"_multi\":[{\"a\":1},{\"a\":2},{\"a\":3}]}", new[] { .8f, .1f, .1f }, new[] { 2, 0, 1 }, "v1"); await rewardLogger.RewardAsync(eventId, 25f); await dataLogger.StopAndDrainAsync(); } }
protected override void OnData(byte[] buffer, int offset, int length, CancellationToken cancellationToken) { //Logger.Log(LogType.Debug, "Received {0} bytes", length); if (length != 0) { DataLogger.Log(buffer, offset, length); } if (_currentFileTransmission != null && _currentTransmitDirection == FileTransmitDirection.Receive) { if (_buffer.Length > 0) { var len = _buffer.Length; _buffer.Position = 0; _buffer.SetLength(0); OnData(_buffer.GetBuffer(), 0, (int)len, cancellationToken); if (cancellationToken.IsCancellationRequested) { return; } } if (length == 0) { return; } //Logger.Log(LogType.Debug, "Remaining: {0}", _currentFileTransmission.Remaining); // we're currently receiving a file int toWrite = (int)Math.Min(length, _currentFileTransmission.Remaining); _currentFileTransmission.Write(buffer, offset, toWrite); //Logger.Log(LogType.Debug, "Wrote {0} bytes - Remaining {1}", toWrite, userClient.FileTransmit.Remaining); if (_currentFileTransmission.Remaining == 0) { _currentFileTransmission.EndReceive(); Logger.Log(LogType.Normal, "File complete: {0}", _currentFileTransmission.RemotePath); if (_currentFileTransmission.IsFileCorrupted) { Logger.Log(LogType.Error, "ERR FILE CORRUPTED => {0}", _currentFileTransmission.RemotePath); } _currentFileTransmission.Dispose(); _currentFileTransmission = null; _currentTransmitDirection = FileTransmitDirection.None; //CreatePacket(PacketHeader.TransmitComplete).Send(); // notify transmit completed if ((length - toWrite) > 0) { var newBuffer = new byte[length - toWrite]; Buffer.BlockCopy(buffer, offset + toWrite, newBuffer, 0, length - toWrite); OnData(newBuffer, 0, newBuffer.Length, cancellationToken); // read the remaining data } } return; } _buffer.Position = _buffer.Length; _buffer.Write(buffer, offset, length); ReadPacketResult result; do { _buffer.Position = 0; int requestId; short header; int dataSize; switch (result = Utilities.ReadHeader(_buffer, out requestId, out header, out dataSize)) { case ReadPacketResult.InvalidData: case ReadPacketResult.DataSizeInvalid: case ReadPacketResult.InvalidHeader: case ReadPacketResult.UnexpectedHeaderAtThisPoint: Logger.Log( LogType.Warning, "ReadHeader: {0}", Enum.GetName(typeof(ReadPacketResult), result)); Utilities.DumpData(_buffer.GetBuffer(), (int)_buffer.Length); //Close(); return; case ReadPacketResult.NeedMoreData: return; // exit out of OnClientData and wait for more data... } // call packet methods MethodInfo methodInfo; if (!_packetMethods.TryGetValue((PacketHeader)header, out methodInfo)) { Logger.Log( LogType.Warning, "Unknown packet header: 0x{0}", header.ToString("x4")); Close(); return; } try { methodInfo.Invoke(this, new object[] { requestId }); } catch (TargetInvocationException ex) { if (ex.InnerException is DataValidationException) { Close(ex.Message); } else if (ex.InnerException is FileTransmitBeginException) { _buffer.Delete(NetworkStandards.HeaderSize + dataSize); OnData(new byte[] { }, 0, 0, cancellationToken); return; } } if (!IsConnected) { return; } _buffer.Delete(NetworkStandards.HeaderSize + dataSize); if (cancellationToken.IsCancellationRequested) { return; } if (_currentTransmitDirection == FileTransmitDirection.Receive) { OnData(new byte[] { }, 0, 0, cancellationToken); return; } if (_buffer.Length == 0) { break; } }while (result == ReadPacketResult.Succeeded); }
public void TestDataLogger() { bool dataLogged = false; using (DataLogger<String> logger = new DataLogger<String>(1)) { logger.OnDataReceived += delegate(object sender, EventArgs<string> e) { EmguAssert.AreEqual(e.Value, "Test"); dataLogged = true; }; logger.Log("Test", 0); EmguAssert.IsFalse(dataLogged); logger.Log("Test", 1); EmguAssert.IsTrue(dataLogged); } }
public bool ContinuousCheckRecognized() { Debug.Log("ContinuousChecking!"); double[][] points = new double[constantPositions.Count][]; switch (valuesTracked) { case 3: for (int i = 0; i < constantPositions.Count; i++) { points[i] = new double[3] { constantPositions[i].x, constantPositions[i].y, constantPositions[i].z }; } break; case 6: for (int i = 0; i < constantPositions.Count; i++) { points[i] = new double[6] { constantPositions[i].x, constantPositions[i].y, constantPositions[i].z, rightHandRotations[i].x, rightHandRotations[i].y, rightHandRotations[i].z }; } break; case 12: for (int i = 0; i < constantPositions.Count; i++) { points[i] = new double[12] { constantPositions[i].x, constantPositions[i].y, constantPositions[i].z, rightHandRotations[i].x, rightHandRotations[i].y, rightHandRotations[i].z, leftHandPositions[i].x, leftHandPositions[i].y, leftHandPositions[i].z, leftHandRotations[i].x, leftHandRotations[i].y, leftHandRotations[i].z }; } break; } double[] probabilities = hmm.Probabilities(points); double[] likelihoods = hmm.LogLikelihoods(points); double[] scores = hmm.Scores(points); double bestFit = Mathf.NegativeInfinity; for (int i = 0; i < likelihoods.Length; i++) { //Debug.Log(scores[i]); if (likelihoods[i] > bestFit) { bestFit = likelihoods[i]; } } if (bestFit >= 0) { int decision = hmm.Decide(points); string value = string.Empty; foreach (KeyValuePair <string, int> item in gestureIndex) { if (item.Value == decision) { value = item.Key; } } friendAI.RecieveCommand(value); logger.Log(value, true); Debug.Log("Did you write a: " + value + "?"); return(true); } return(false); }