our_knp/cats-dogs/source/model_desc.cpp
int 8f43927575 Initial import: KNP experiments (examples, viz, cats-dogs, reports)
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>
2026-10-14 18:17:15 +03:00

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;
}