26 template <
typename T,
typename =
typename std::enable_if<
27 std::is_base_of<Model, T>::value>::type>
30 std::ofstream file(filename, std::ios::binary);
31 cereal::BinaryOutputArchive archive(file);
47 template <
typename T,
typename =
typename std::enable_if<
48 std::is_base_of<Model, T>::value>::type>
51 assert(fileExistsWithExtension(filename,
".bin") &&
52 "The file doesn't exists or is not binary '.bin'");
55 std::ifstream file(filename, std::ios::binary);
56 cereal::BinaryInputArchive archive(file);
60 virtual void to_file(
const std::string &filename) = 0;
61 virtual void from_file(
const std::string &filename) = 0;
64 virtual ~Model() =
default;
67 friend class cereal::access;
70 template <
class Archive>
71 void save(Archive &archive)
const {
72 archive(loss, accuracy);
75 template <
class Archive>
76 void load(Archive &archive) {
77 archive(loss, accuracy);
81 friend class Callback;
83 double loss = 0, accuracy = 0, testLoss = 0, testAccuracy = 0;
85 void registerSignals()
const {
87 signal(SIGINT, signalHandler);
88 signal(SIGTERM, signalHandler);
static void load_from_file(const std::string &filename, T &model)
This static method loads a Model from a file and assigns it to the supposedly "empty" model passed as...
Definition Model.hpp:49