Example #1
0
    public void SaveEpisode(double reward, bool win, int steps, double epsilon, double alpha)
    {
        EpisodeData episode = new EpisodeData(ord, reward, win, steps, epsilon, alpha);

        trainingEps_.Add(episode);
        ord++;
    }
Example #2
0
    private void ClearEpData()
    {
        speedSum  = 0;
        epData    = new EpisodeData();
        timeSteps = 0;
        _checkpointManager.epTime = 0;

        epData.wallHit      = 0;
        epData.collidedWith = "";

        distanceCovered = 0;

        avgSpeed = 0;
        maxSpeed = 0;

        epData.totalReward = 0;

        _checkpointManager.rewardFromCheckpoints    = 0;
        _checkpointManager.rewardFromFinaCheckpoint = 0;
        _checkpointManager.rewardFromTimeLimit      = 0;

        rewardFromWall = 0;

        rewardFromSpeed  = 0;
        rewardFromTime   = 0;
        rewardFromBrakes = 0;
    }
Example #3
0
    public void AddEpDataTolist(EpisodeData epData)
    {
        epsData.Add(epData);

        var jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(epsData, Formatting.Indented);

        fullPath = SAVE_FOLDER + fileName;
        File.WriteAllText(fullPath, jsonData);
    }
    private EpisodeBehavior CreateNewEpisodeBox(EpisodeData data, Transform episodesTransform)
    {
        GameObject box = GameObject.Instantiate(MainScript.Instance.EpisodePrefab);

        box.name = data.Season + "." + data.Episode + ":" + data.Title;
        EpisodeBehavior behavior = box.GetComponent <EpisodeBehavior>();

        behavior.Data   = data;
        behavior.Series = this;
        box.transform.SetParent(episodesTransform, false);
        return(behavior);
    }
Example #5
0
        private void CreateShowList(EpisodeData episodeData, List <string> subjectLines)
        {
            var sb = new StringBuilder();

            sb.AppendLine($"Series: {episodeData.Series.Title}");
            sb.AppendLine();
            sb.AppendLine($"Episode Title: {episodeData.Episode.Title}");
            sb.AppendLine();
            sb.AppendLine($"Episode Number: {episodeData.Episode.EpisodeNumber}");
            sb.AppendLine();

            subjectLines.Add(sb.ToString());
        }
    // Update is called once per frame
    void Update()
    {
        KeyInputHandler();

        if (!sliding && !timeLineAsset.paused && timeLineAsset.currentScene < (int)slider.value)
        {
            timeLineAsset.timer        = timeLineAsset.timer + 10f * Time.deltaTime;
            timeLineAsset.currentScene = (int)timeLineAsset.timer;
            EpisodeData epiData = CalculateEpisodeData(timeLineAsset.currentScene);
            timeLineAsset.currentSeason  = epiData.seasonIndex;
            timeLineAsset.currentEpisode = epiData.episodeIndex;
            expisodeCounter.text         = String.Format("Season {0}, Episode {1}, Scene {2}/{3}", epiData.seasonIndex + 1, epiData.episodeIndex + 1, CalculateSceneProgrerss(timeLineAsset.currentScene) + 1, timeLineAsset.scenesInEachEpisode[CalculateEpiIndex(timeLineAsset.currentScene)]);
            // if (timeLineAsset.currentScene == (int)slider.value)
            // {
            //     sliding = true;
            // }
        }
    }
    private EpisodeData CalculateEpisodeData(int sceneIndex)
    {
        EpisodeData epiData  = new EpisodeData(0, 0);
        int         epiIndex = CalculateEpiIndex(sceneIndex);
        int         tmp      = 0;

        for (int i = 0; i < seasons.Length; i++)
        {
            tmp += seasons[i].Count;
            if (epiIndex < tmp)
            {
                epiData.seasonIndex  = i;
                epiData.episodeIndex = seasons[i].Count - (tmp - epiIndex);
                return(epiData);
            }
        }
        return(epiData);
    }
Example #8
0
        public BusinessLayer.Entities.EpisodeData TranslateEpisodeDataGPToLocal(Generated.ResultEpisodeData gpRes)
        {
            EpisodeData localRes = new EpisodeData();

            try
            {
                if (gpRes != null)
                {
                    localRes = new EpisodeData(); // Objecto local não tem atributos
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Erro a realizar o convert de EpisodeData");
                return(localRes);
            }

            return(localRes);
        }
Example #9
0
        private void addEpisodeData(int season, int episode, string url, bool hd)
        {
            EpisodeData newEpisode = new EpisodeData(season, episode, url, hd);

            if (episodeList.Contains(newEpisode))
            {
                if (hd && !newEpisode.HasHD())
                {
                    newEpisode.SetURL(url, true);
                }
                if (!hd && newEpisode.GetURL() == null)
                {
                    newEpisode.SetURL(url);
                }
            }
            else
            {
                episodeList.Add(newEpisode);
            }
        }
Example #10
0
    public void EndRun()
    {
        // Construct file string in memory
        StringBuilder sb = new StringBuilder();

        sb.AppendFormat("epsilon: {0}, {1}, {2}", agent_.startEpsilon, agent_.endEpsilon, agent_.epsilonDecay).AppendLine();
        sb.AppendFormat("alpha: {0}, {1}, {2}", agent_.startLearningRate, agent_.endLearningRate, agent_.learningDecay).AppendLine();
        sb.AppendFormat("gamma: {0}", agent_.gamma).AppendLine();
        sb.AppendFormat("training_time: {0}", DateTime.Now - startTime_).AppendLine();
        sb.AppendFormat("training_episodes: {0}", trainingEps_.Count).AppendLine();
        sb.AppendFormat("validation_episodes: {0}", validationEps_.Count).AppendLine();

        sb.AppendLine("Training: ord, reward, win, steps");
        for (int i = 0; i < trainingEps_.Count; i++)
        {
            EpisodeData episode = trainingEps_[i];
            sb.AppendFormat("{0}, {1:F4}, {2}, {3}, {4}, {5}",
                            episode.ord, episode.reward, episode.win ? 1 : 0, episode.steps,
                            episode.epsilon, episode.alpha);
            sb.AppendLine();
        }
        sb.AppendLine("Validation: ord, reward, win, steps");
        for (int i = 0; i < validationEps_.Count; i++)
        {
            EpisodeData episode = validationEps_[i];
            sb.AppendFormat("{0}, {1:F4}, {2}, {3}, {4}, {5}",
                            episode.ord, episode.reward, episode.win ? 1 : 0, episode.steps,
                            episode.epsilon, episode.alpha);
            sb.AppendLine();
        }

        // Write the file
        string sceneName = EditorSceneManager.GetActiveScene().name;
        string time      = DateTime.Now.ToString("hh-mm-ss");
        string date      = DateTime.Now.ToString("dd-MM-yy");

        System.IO.File.WriteAllText(sceneName + "_" + date + "_" + time + ".txt", sb.ToString());
    }
 private IEnumerator IncreaseSceneIndex(int value)
 {
     sliding           = true;
     targetSliderValue = value;
     while (timeLineAsset.currentScene != value)
     {
         //Debug.Log(timeLineAsset.paused);
         if (!timeLineAsset.paused)
         {
             timeLineAsset.currentScene++;
             EpisodeData epiData = CalculateEpisodeData(timeLineAsset.currentScene);
             timeLineAsset.currentSeason  = epiData.seasonIndex;
             timeLineAsset.currentEpisode = epiData.episodeIndex;
             expisodeCounter.text         = String.Format("Season {0}, Episode {1}, Scene {2}/{3}", epiData.seasonIndex + 1, epiData.episodeIndex + 1, CalculateSceneProgrerss(timeLineAsset.currentScene) + 1, timeLineAsset.scenesInEachEpisode[CalculateEpiIndex(timeLineAsset.currentScene)]);
             yield return(new WaitForSeconds(0.01f));
         }
         else
         {
             yield return(null);
         }
     }
     sliding = false;
 }
Example #12
0
    private static EpisodeData LineToData(string line)
    {
        EpisodeData ret = new EpisodeData();

        string[] splitString = line.Split('\t');

        string[] splitSeasonLine = splitString[0].Split('.');
        string   seasonString    = splitSeasonLine[0];
        string   episodeString   = splitSeasonLine[1];

        string imdbString    = splitString[3];
        string nealsonString = splitString[2].Split('[')[0];

        ret.Title      = splitString[1];
        ret.Season     = Convert.ToInt32(seasonString);
        ret.Episode    = Convert.ToInt32(episodeString);
        ret.ImdbRating = Convert.ToSingle(imdbString);
        if (nealsonString != "N/A")
        {
            ret.NealsonRating = Convert.ToSingle(nealsonString);
        }
        return(ret);
    }
Example #13
0
    public void SaveValidationEpisode(double reward, bool win, int steps)
    {
        EpisodeData episode = new EpisodeData(ord, reward, win, steps, 0, 0);

        validationEps_.Add(episode);
    }
 private static string GetEpisodeLabel(EpisodeData episode, int season)
 {
     return($"{season}x{episode.Episode:D2}: {episode.Title}\n{episode.Rating:#0.0}");
 }
Example #15
0
        //for now, it doesn't make much sense to calculate stats but from the last evaluation episode, so that's what we will do
        //regardless of sourceOption
        public List <Stat> getVariableStats(List <LoggedVariableViewModel> variables)
        {
            ExperimentData experimentData = SimionLogFile.load(m_logFilePath);
            List <Stat>    stats          = new List <Stat>();

            foreach (LoggedVariableViewModel var in variables)
            {
                int  varIndex = m_variablesInLog.FindIndex((name) => name == var.name);
                Stat newStat  = new Stat(m_name, var.name);
                newStat.avg = experimentData.doForEpisodeVar(experimentData.numEpisodes, varIndex,
                                                             (episode, vIndex) => { return(EpisodeData.calculateVarAvg(episode, vIndex)); });
                newStat.stdDev = experimentData.doForEpisodeVar(experimentData.numEpisodes, varIndex,
                                                                (episode, vIndex) => { return(EpisodeData.calculateStdDev(episode, vIndex)); });
                newStat.min = experimentData.doForEpisodeVar(experimentData.numEpisodes, varIndex,
                                                             (episode, vIndex) => { return(EpisodeData.calculateMin(episode, vIndex)); });
                newStat.max = experimentData.doForEpisodeVar(experimentData.numEpisodes, varIndex,
                                                             (episode, vIndex) => { return(EpisodeData.calculateMax(episode, vIndex)); });

                stats.Add(newStat);
            }


            return(stats);
        }
Example #16
0
 public string GetOffLineFileName()
 {
     return(EpisodeData.GetOffLineFileName());
 }
Example #17
0
        //we can use directly the name of the plots as the name of the variables
        //it should be enough for now
        public void plotData(List <PlotViewModel> plots, string sourceOption)
        {
            List <VarPlotInfo> varInfoList = new List <VarPlotInfo>();

            try
            {
                //init the series and get the index of each logged variable
                plots.ForEach((plot) =>
                {
                    VarPlotInfo varInfo       = new VarPlotInfo();
                    varInfo.plot              = plot;
                    varInfo.seriesId          = plot.addLineSeries(m_name);
                    varInfo.varIndexInLogFile = m_variablesInLog.FindIndex((name) => name == plot.name);
                    varInfo.avg = 0.0;
                    varInfoList.Add(varInfo);
                });

                ExperimentData experimentData = SimionLogFile.load(m_logFilePath);

                foreach (VarPlotInfo var in varInfoList)
                {
                    int varIndex = var.varIndexInLogFile;

                    if (sourceOption == ReportsWindowViewModel.m_optionAllEvalEpisodes)
                    {
                        experimentData.doForEachEvalEpisode(episode =>
                        {
                            double avg = EpisodeData.calculateVarAvg(episode, varIndex);
                            var.plot.addLineSeriesValue(var.seriesId, episode.index, avg);
                        });
                    }
                    else if (sourceOption == ReportsWindowViewModel.m_optionLastEvalEpisode)
                    {
                        experimentData.doForEpisodeSteps(experimentData.numEpisodes,
                                                         step =>
                        {
                            var.plot.addLineSeriesValue(var.seriesId, step.stepIndex
                                                        , step.data[var.varIndexInLogFile]);
                        });
                    }
                }
                //        EpisodeData.calculateVarAvg
                //                ,plots[var].addLineSeriesValue(varInfoList[var].seriesId,varIndex);
                //        varInfoList[var].addValue(step.data[varInfoList[var].varIndexInLogFile]);
                //        else plots[var].addLineSeriesValue(varInfoList[var].seriesId, step.stepIndex
                //            , step.data[varInfoList[var].varIndexInLogFile]);
                //        experimentData.doForEachEvalEpisode(EpisodeData.calculateVarAvg, varIndex);
                //        }
                //    }

                //        foreach (EpisodeData episodeData in experimentData.episodes)
                //    {
                //        //do we have to draw data from this step?
                //        if (episodeData.type == m_episodeTypeEvaluation &&
                //            (sourceOption == PlotEditorWindowViewModel.m_optionAllEvalEpisodes
                //            || (sourceOption == PlotEditorWindowViewModel.m_optionLastEvalEpisode
                //            && episodeData.index == experimentData.numEpisodes)))
                //        {
                //            foreach (StepData step in episodeData.steps)
                //            {
                //                for (int var = 0; var < varInfoList.Count; var++)
                //                {
                //                    if (sourceOption == PlotEditorWindowViewModel.m_optionAllEvalEpisodes)
                //                        varInfoList[var].addValue(step.data[varInfoList[var].varIndexInLogFile]);
                //                    else plots[var].addLineSeriesValue(varInfoList[var].seriesId, step.stepIndex
                //                        , step.data[varInfoList[var].varIndexInLogFile]);
                //                }
                //            }
                //        }
                //    }
                //            //end of episode
                //            if (episodeType == m_episodeTypeEvaluation && sourceOption == PlotEditorWindowViewModel.m_optionAllEvalEpisodes)
                //            {
                //                for (int var = 0; var < varInfoList.Count; var++ )
                //                {
                //                    plots[var].addLineSeriesValue(varInfoList[var].seriesId, episodeIndex
                //                        , varInfoList[var].avg / (double)numLoggedSteps);
                //                }

                //            }
                //        }
                //    }
                //    logFile.Close();
                //}
                //catch(Exception ex)
                //{
                //    Console.WriteLine(ex.ToString());
                //}
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error generating plots");
                Console.WriteLine(ex.ToString());
            }
        }
Example #18
0
        public static Episode FromData(IServiceContext serviceContext, string podcastFileName, EpisodeData data)
        {
            Episode episode = new Episode(serviceContext, podcastFileName, data.Uri);

            episode.Uri         = data.Uri;
            episode.Title       = data.Title;
            episode.Description = data.Description;
            episode.PublishDate = new DateTimeOffset(data.PublishDateTicks, TimeSpan.FromTicks(0));
            return(episode);
        }
Example #19
0
 void AddEpisode(EpisodeData data, int index)
 {
     allEpisodes[index] = data;
 }
Example #20
0
 public AbortHelper(PatientData patientData, EpisodeData episodeData)
 {
     Patient = patientData;
     Episode = episodeData;
 }