examples/ is based on KasperskyLab/knp at 55470ed6 with local changes to the mnist-learn altai/blifat models, cuda-backend CMake and model_loader. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 lines
1.5 KiB
C++
43 lines
1.5 KiB
C++
/**
|
|
* @file save_network.h
|
|
* @brief Function for saving network.
|
|
* @kaspersky_support D. Postnikov
|
|
* @date 04.02.2026
|
|
* @license Apache 2.0
|
|
* @copyright © 2026 AO Kaspersky Lab
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <knp/framework/sonata/network_io.h>
|
|
|
|
#include "annotated_network.h"
|
|
#include "model_desc.h"
|
|
|
|
|
|
/**
|
|
* @brief Save trained network to SONATA format if model saving is enabled.
|
|
*
|
|
* @details This function saves the trained neural network structure to the specified path in SONATA format. It automatically
|
|
* creates the target directory if it doesn't exist.
|
|
*
|
|
* @param model_desc model description.
|
|
* @param network annotated network structure containing the trained network and metadata.
|
|
*/
|
|
inline void save_network(const ModelDescription& model_desc, const AnnotatedNetwork& network)
|
|
{
|
|
std::filesystem::create_directory(model_desc.model_saving_path_);
|
|
knp::framework::sonata::save_network(network.network_, model_desc.model_saving_path_);
|
|
}
|