예제 #1
0
        public void TestDefaultDemonstrationMetaDataToProto()
        {
            // Should be able to convert a default instance to proto.
            var demoMetaData = new DemonstrationMetaData();

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

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

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