2021-11-13 00:56:31 +00:00
|
|
|
#include "lib/Api.Experimental/pch/pch.h"
|
|
|
|
|
#include "LearningModelExperimental.h"
|
|
|
|
|
#include "LearningModel.h"
|
|
|
|
|
#include "LearningModelJoinOptions.h"
|
|
|
|
|
|
|
|
|
|
namespace WINML_EXPERIMENTALP {
|
|
|
|
|
|
2023-07-26 04:56:50 +00:00
|
|
|
LearningModelExperimental::LearningModelExperimental(Microsoft::AI::MachineLearning::LearningModel const& model)
|
|
|
|
|
: model_(model) {
|
|
|
|
|
}
|
2021-11-13 00:56:31 +00:00
|
|
|
|
2023-07-26 04:56:50 +00:00
|
|
|
winml::LearningModel LearningModelExperimental::JoinModel(
|
|
|
|
|
winml::LearningModel const& other, winml_experimental::LearningModelJoinOptions const& options
|
|
|
|
|
) {
|
|
|
|
|
telemetry_helper.LogApiUsage("LearningModelExperimental::JoinModel");
|
2021-11-13 00:56:31 +00:00
|
|
|
|
2023-07-26 04:56:50 +00:00
|
|
|
auto modelp = model_.as<winmlp::LearningModel>();
|
|
|
|
|
auto optionsp = options.as<winml_experimentalp::LearningModelJoinOptions>();
|
2021-11-13 00:56:31 +00:00
|
|
|
|
2023-07-26 04:56:50 +00:00
|
|
|
modelp->JoinModel(
|
|
|
|
|
other,
|
|
|
|
|
optionsp->GetLinkages(),
|
|
|
|
|
optionsp->PromoteUnlinkedOutputsToFusedOutputs(),
|
|
|
|
|
optionsp->CloseModelOnJoin(),
|
|
|
|
|
optionsp->JoinedNodePrefix()
|
|
|
|
|
);
|
2021-11-13 00:56:31 +00:00
|
|
|
|
2023-07-26 04:56:50 +00:00
|
|
|
return model_;
|
2021-11-13 00:56:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LearningModelExperimental::Save(hstring const& file_name) {
|
2023-07-26 04:56:50 +00:00
|
|
|
telemetry_helper.LogApiUsage("LearningModelExperimental::Save");
|
|
|
|
|
auto modelp = model_.as<winmlp::LearningModel>();
|
|
|
|
|
modelp->SaveToFile(file_name);
|
2021-11-13 00:56:31 +00:00
|
|
|
}
|
|
|
|
|
|
2022-02-25 22:23:49 +00:00
|
|
|
void LearningModelExperimental::SetName(hstring const& model_name) {
|
|
|
|
|
auto modelp = model_.as<winmlp::LearningModel>();
|
|
|
|
|
modelp->SetName(model_name);
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-15 03:50:14 +00:00
|
|
|
} // namespace WINML_EXPERIMENTALP
|