Exemple #1
0
 private void SetNewState(uint progress, TrainingStages stage)
 {
     Offset = progress;
     Stage  = stage;
     if (progress == 0 && stage == TrainingStages.Training)
     {
         Epoch++;
     }
 }
Exemple #2
0
            public async Task <Record> PrepareNextData(uint progress, TrainingStages stage)
            {
                var start = DateTime.Now.Ticks;

                byte[] result = null, data = null;
                string result_str = null, data_str = null;

                sqlite.CommandText = sql_selection + progress;
                using (var reader = await sqlite.ExecuteReaderAsync())
                {
                    if (reader.Read())
                    {
                        data_str = reader[0] as string;
                        if (string.IsNullOrEmpty(data_str))
                        {
                            return(null);
                        }
                        else
                        {
                            data = Encoding.ASCII.GetBytes(data_str);

                            if (data.Length > 20)
                            {
                                return(null);
                            }

                            result_str = reader[1] as string;
                            if (!string.IsNullOrEmpty(result_str))
                            {
                                result = Encoding.UTF8.GetBytes(result_str);
                                if (result.Length > 40)
                                {
                                    return(null);
                                }
                            }
                        }
                    }
                    else
                    {
                        return(null);
                    }
                }

                return(new Record(
                           Sense(data, 20), Sense(result, 40), DateTime.Now.Ticks - start,
                           new string[] { data_str, result_str }));
            }