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); }
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); }