Exemplo n.º 1
0
        // 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());
            }
        }
Exemplo n.º 2
0
        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();
                }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
      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);
    }