Loading...
Searching...
No Matches
training.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-only
2// Copyright (C) 2026 Artificial Intelligence Techniques, S.L. and Roberto López González
3
4#pragma once
5
8
9namespace opennn
10{
11
13{
14
15public:
16
17 explicit Training(Network* = nullptr, Dataset* = nullptr);
18
19 const Dataset* get_dataset() const noexcept { return dataset; }
20 Dataset* get_dataset() { return dataset; }
21
22 const Network* get_network() const noexcept { return network; }
23 Network* get_network() { return network; }
24
25 const Loss* get_loss() const noexcept { return loss.get(); }
26 Loss* get_loss() { return loss.get(); }
27
28 const Optimizer* get_optimization_algorithm() const noexcept { return optimizer.get(); }
29 Optimizer* get_optimization_algorithm() { return optimizer.get(); }
30 void set(Network* = nullptr, Dataset* = nullptr);
32
35
36 void set_loss(const string&);
37 void set_optimization_algorithm(const string&);
38
40 void from_JSON(const JsonDocument&);
41 void to_JSON(JsonWriter&) const;
42
43 void save(const filesystem::path&) const;
44 void load(const filesystem::path&);
45
46private:
47
48 Dataset* dataset = nullptr;
49
50 Network* network = nullptr;
51
52 unique_ptr<Loss> loss;
53
54 unique_ptr<Optimizer> optimizer;
55};
56
57}
Definition dataset.h:48
Definition json.h:75
Definition json.h:92
Definition loss.h:19
Definition network.h:87
Definition optimizer.h:37
void set_optimization_algorithm(const string &)
const Dataset * get_dataset() const noexcept
Definition training.h:19
Optimizer * get_optimization_algorithm()
Definition training.h:29
void from_JSON(const JsonDocument &)
void set_network(Network *)
const Optimizer * get_optimization_algorithm() const noexcept
Definition training.h:28
TrainingResult train()
Loss * get_loss()
Definition training.h:26
void to_JSON(JsonWriter &) const
Dataset * get_dataset()
Definition training.h:20
void load(const filesystem::path &)
void set(Network *=nullptr, Dataset *=nullptr)
void save(const filesystem::path &) const
const Loss * get_loss() const noexcept
Definition training.h:25
const Network * get_network() const noexcept
Definition training.h:22
void set_dataset(Dataset *)
Network * get_network()
Definition training.h:23
Training(Network *=nullptr, Dataset *=nullptr)
void set_loss(const string &)
Definition configuration.h:10
Definition training_result.h:20