/// <summary>
        /// Convert metadata object to proto object.
        /// </summary>
        public static DemonstrationMetaProto ToProto(this DemonstrationMetaData dm)
        {
            var demonstrationName = dm.demonstrationName ?? "";
            var demoProto         = new DemonstrationMetaProto
            {
                ApiVersion        = DemonstrationMetaData.ApiVersion,
                MeanReward        = dm.meanReward,
                NumberSteps       = dm.numberSteps,
                NumberEpisodes    = dm.numberEpisodes,
                DemonstrationName = demonstrationName
            };

            return(demoProto);
        }
Beispiel #2
0
        /// <summary>
        /// Initialize metadata values based on proto object.
        /// </summary>
        public static DemonstrationMetaData ToDemonstrationMetaData(this DemonstrationMetaProto demoProto)
        {
            var dm = new DemonstrationMetaData
            {
                numberEpisodes    = demoProto.NumberEpisodes,
                numberExperiences = demoProto.NumberSteps,
                meanReward        = demoProto.MeanReward,
                demonstrationName = demoProto.DemonstrationName
            };

            if (demoProto.ApiVersion != DemonstrationMetaData.ApiVersion)
            {
                throw new Exception("API versions of demonstration are incompatible.");
            }
            return(dm);
        }