예제 #1
0
        protected override bool convertOutput(ConvertOutputArgs e)
        {
            IXMyCaffeGymData igym = m_igym as IXMyCaffeGymData;

            if (igym == null)
            {
                throw new Exception("Output data conversion requires a gym that implements the IXMyCaffeGymData interface.");
            }

            string type;

            byte[] rgOutput = igym.ConvertOutput(e.Output, out type);
            e.SetRawOutput(rgOutput, type);

            return(true);
        }
예제 #2
0
        protected override BucketCollection preloaddata(Log log, CancelEvent evtCancel, int nProjectID)
        {
            initialize(log);
            IXMyCaffeGymData            igym  = m_igym as IXMyCaffeGymData;
            Tuple <State, double, bool> state = igym.Reset();
            int              nDataLen;
            SimpleDatum      sd = state.Item1.GetData(false, out nDataLen);
            BucketCollection rgBucketCollection = null;

            if (sd.IsRealData)
            {
                // Create the vocabulary bucket collection.
                rgBucketCollection = BucketCollection.Bucketize("Building vocabulary", 128, sd, log, evtCancel);
                if (rgBucketCollection == null)
                {
                    return(null);
                }
            }
            else
            {
                List <int> rgVocabulary = new List <int>();

                for (int i = 0; i < sd.ByteData.Length; i++)
                {
                    int nVal = (int)sd.ByteData[i];

                    if (!rgVocabulary.Contains(nVal))
                    {
                        rgVocabulary.Add(nVal);
                    }
                }

                rgBucketCollection = new BucketCollection(rgVocabulary);
            }

            m_firststate = state;

            return(rgBucketCollection);
        }