private void SetNewState(uint progress, TrainingStages stage) { Offset = progress; Stage = stage; if (progress == 0 && stage == TrainingStages.Training) { Epoch++; } }
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 })); }