|
| function< void(Index, float, float, Network *)> | post_epoch_callback |
| |
| function< void(Network *)> | post_batch_callback |
| |
| function< void(Index, float)> | post_best_callback |
| |
| enum class | UpdateMode { Standard
, Capturable
} |
| |
| void | set_names () |
| |
| void | prepare_training_artifacts () |
| |
| Index | get_epoch_budget () const noexcept |
| |
| optional< StoppingCondition > | find_stopping_condition (const EpochReport &, float minimum_loss_decrease=-MAX) const |
| |
| void | close_training_result (TrainingResult &, const EpochReport &, bool has_validation) const |
| |
| void | update_best_parameters (Network *, float, Index, Index &, BestModelSnapshot &) |
| |
| void | restore_best_parameters (Network *, TrainingResult &, const BestModelSnapshot &) |
| |
| void | write_common_json (JsonWriter &) const |
| |
| void | read_common_json (const Json *) |
| |
| void | setup_device_training () |
| |
| void | teardown_device_training () |
| |
| void | warmup_device_training (TrainingContext &, ThreadSafeQueue< Batch * > &, const vector< vector< Index > > &, const FeatureSelection &, TrainingSession &, OptimizerData &, ForwardPropagation *validation_forward_propagation=nullptr, ThreadSafeQueue< Batch * > *validation_empty_queue=nullptr, const vector< vector< Index > > *validation_batches=nullptr) |
| |
| void | prefetch_batch (Batch &) |
| |
| void | sync_device (bool on_gpu, bool has_recurrent_layers, TrainingSession &) |
| |
| bool | should_display (Index epoch) const noexcept |
| |
| void | display_epoch_results (Index epoch, float training_error, float training_accuracy, float validation_error, float validation_accuracy, bool has_validation, bool validation_fresh, bool is_token_cross_entropy, float elapsed_time) const |
| |
| void | setup_batch_pools (BatchPools &pools, Dataset &dataset, Network &network, Index training_batch_size, Index validation_batch_size, bool has_validation, TrainingSession &training_session) |
| |
| unique_ptr< BatchPrefetchSession > | start_batch_prefetch (ThreadSafeQueue< Batch * > &, const vector< vector< Index > > &, const FeatureSelection &, FillMode, WorkerProfileCounters *profile_counters=nullptr) |
| |
| int | get_batch_pool_size (const Network &) const |
| |
| Loss::EvaluationResult | run_epoch_loop (EpochLoopContext &) |
| |
| void | prepare_full_batch_training (FullBatchContext &, const char *banner) |
| |
| TrainingResult | train_full_batch (FullBatchContext &, const FullBatchHooks &) |
| |
| bool | network_has_active_dropout () const |
| |
| bool | can_use_cuda_graph () const |
| |
| bool | uses_joint_gradient_arena () const noexcept |
| |
| Loss::EvaluationResult | run_graph_epoch (TrainingSession &, OptimizerData &, ForwardPropagation &, BackPropagation &, ThreadSafeQueue< Batch * > &, const vector< vector< Index > > &, const FeatureSelection &) |
| |
| Loss::EvaluationResult | train_epoch (TrainingContext &, ThreadSafeQueue< Batch * > &, const vector< vector< Index > > &, const FeatureSelection &, TrainingSession &, OptimizerData &) |
| |
| Loss::EvaluationResult | evaluate_epoch (ForwardPropagation &, ThreadSafeQueue< Batch * > &, const vector< vector< Index > > &, const FeatureSelection &, TrainingSession &) |
| |
| static void | clip_gradient_norm (BackPropagation &, float) |
| |
| Loss * | loss = nullptr |
| |
| float | training_loss_goal = 0.0f |
| |
| Index | maximum_validation_failures = numeric_limits<Index>::max() |
| |
| Index | validation_period = 1 |
| |
| float | gradient_clip_norm = 0.0f |
| |
| bool | joint_gradient_arena = false |
| |
| bool | restore_best = true |
| |
| Index | maximum_epochs = 10000 |
| |
| Index | batch_size = 0 |
| |
| float | maximum_time = 360000.0f |
| |
| Index | display_period = 10 |
| |
| bool | display = true |
| |
| bool | shuffle_samples = true |
| |
| int | batch_pool_size_override = 0 |
| |
| int | workers_number = default_workers_number |
| |
| bool | use_cuda_graph = false |
| |
| bool | cuda_graph_capture_failed = false |
| |
| string | name |
| |
| static const int | default_workers_number |
| |