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>
60 lines
2 KiB
C++
60 lines
2 KiB
C++
/**
|
|
* @file model_desc.cpp
|
|
* @brief Model description.
|
|
* @kaspersky_support D. Postnikov
|
|
* @date 03.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.
|
|
*/
|
|
|
|
#include "model_desc.h"
|
|
|
|
std::ostream& operator<<(std::ostream& stream, ModelDescription const& desc)
|
|
{
|
|
stream << "Model type: ";
|
|
switch (desc.type_)
|
|
{
|
|
case SupportedModelType::BLIFAT:
|
|
stream << "BLIFAT";
|
|
break;
|
|
case SupportedModelType::AltAI:
|
|
stream << "AltAI";
|
|
break;
|
|
default:
|
|
throw std::runtime_error("Unknown model type.");
|
|
}
|
|
stream << "\n";
|
|
|
|
stream << "Training images amount: " << desc.train_images_amount_ << "\n";
|
|
stream << "Inference images amount: " << desc.inference_images_amount_ << "\n";
|
|
|
|
stream << "Images file path: " << desc.images_file_path_ << "\n";
|
|
stream << "Labels file path: " << desc.labels_file_path_ << "\n";
|
|
|
|
stream << "Backend path for training: " << desc.training_backend_path_ << "\n";
|
|
stream << "Backend path for inference: " << desc.inference_backend_path_ << "\n";
|
|
|
|
if (desc.log_path_.empty())
|
|
stream << "Logs won't be saved.\n";
|
|
else
|
|
stream << "Log path: " << desc.log_path_ << "\n";
|
|
|
|
if (desc.model_saving_path_.empty())
|
|
stream << "Model won't be saved.\n";
|
|
else
|
|
stream << "Model saving path: " << desc.model_saving_path_ << "\n";
|
|
|
|
return stream;
|
|
}
|