2021-08-23 18:19:03 +00:00
|
|
|
|
#include "lib/Api.Experimental/pch/pch.h"
|
2021-02-12 22:17:10 +00:00
|
|
|
|
#include "LearningModelOutputs.h"
|
|
|
|
|
|
#include "LearningModelBuilder.h"
|
|
|
|
|
|
#include "TensorFeatureDescriptor.h"
|
|
|
|
|
|
|
2023-07-26 04:56:50 +00:00
|
|
|
|
namespace WINML_EXPERIMENTALP {
|
2021-02-12 22:17:10 +00:00
|
|
|
|
|
2023-07-26 04:56:50 +00:00
|
|
|
|
LearningModelOutputs::LearningModelOutputs(winml_experimental::LearningModelBuilder builder)
|
|
|
|
|
|
: output_descriptors_(winrt::single_threaded_vector<winml::ILearningModelFeatureDescriptor>()),
|
2021-10-30 07:36:22 +00:00
|
|
|
|
builder_(builder) {
|
2021-02-12 22:17:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2023-07-26 04:56:50 +00:00
|
|
|
|
winml_experimental::LearningModelBuilder LearningModelOutputs::Add(winml::ILearningModelFeatureDescriptor const& output
|
|
|
|
|
|
) {
|
2021-02-12 22:17:10 +00:00
|
|
|
|
// Perform model update inside the builder
|
|
|
|
|
|
auto model = builder_.as<winml_experimentalp::LearningModelBuilder>()->UseModel();
|
|
|
|
|
|
auto descriptor_provider = output.as<_winml::IDescriptorInfoProvider>();
|
|
|
|
|
|
auto name = _winml::Strings::UTF8FromHString(output.Name());
|
|
|
|
|
|
model->AddModelOutput(name.c_str(), descriptor_provider.get());
|
|
|
|
|
|
output_descriptors_.Append(output);
|
|
|
|
|
|
return builder_;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2023-08-15 03:50:14 +00:00
|
|
|
|
} // namespace WINML_EXPERIMENTALP
|