2019-08-15 22:27:05 +00:00
|
|
|
|
// Copyright (c) Microsoft Corporation.
|
|
|
|
|
|
// Licensed under the MIT License.
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "TensorFeatureDescriptor.g.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace winrt::Windows::AI::MachineLearning::implementation {
|
|
|
|
|
|
struct TensorFeatureDescriptor : TensorFeatureDescriptorT<
|
|
|
|
|
|
TensorFeatureDescriptor,
|
|
|
|
|
|
ILearningModelFeatureDescriptorNative> {
|
|
|
|
|
|
TensorFeatureDescriptor() = delete;
|
|
|
|
|
|
TensorFeatureDescriptor(
|
|
|
|
|
|
const char* name,
|
|
|
|
|
|
const char* description,
|
2019-11-11 22:34:19 +00:00
|
|
|
|
bool is_required,
|
2019-08-15 22:27:05 +00:00
|
|
|
|
winml::TensorKind tensor_kind,
|
|
|
|
|
|
const std::vector<int64_t>& shape,
|
|
|
|
|
|
bool has_unsuppored_image_metadata);
|
|
|
|
|
|
|
2019-11-11 22:34:19 +00:00
|
|
|
|
TensorFeatureDescriptor(
|
|
|
|
|
|
hstring const& Name,
|
|
|
|
|
|
hstring const& Description,
|
|
|
|
|
|
bool IsRequired,
|
|
|
|
|
|
TensorKind const& TensorKind,
|
|
|
|
|
|
array_view<int64_t const> Shape,
|
|
|
|
|
|
bool HasUnsupportedImageMetadata);
|
2019-08-15 22:27:05 +00:00
|
|
|
|
|
2019-11-11 22:34:19 +00:00
|
|
|
|
// ITensorDescriptor
|
|
|
|
|
|
winml::TensorKind TensorKind();
|
|
|
|
|
|
wfc::IVectorView<int64_t> Shape();
|
|
|
|
|
|
bool HasUnsupportedImageMetadata();
|
2019-08-15 22:27:05 +00:00
|
|
|
|
|
|
|
|
|
|
// IFeatureDescriptor
|
|
|
|
|
|
winrt::hstring
|
|
|
|
|
|
Name();
|
|
|
|
|
|
|
|
|
|
|
|
winrt::hstring
|
|
|
|
|
|
Description();
|
|
|
|
|
|
|
|
|
|
|
|
winml::LearningModelFeatureKind
|
|
|
|
|
|
Kind();
|
|
|
|
|
|
|
|
|
|
|
|
bool
|
|
|
|
|
|
IsRequired();
|
|
|
|
|
|
|
|
|
|
|
|
bool
|
|
|
|
|
|
IsUnsupportedMetaData();
|
|
|
|
|
|
|
|
|
|
|
|
STDMETHOD(GetName)
|
|
|
|
|
|
(
|
|
|
|
|
|
const wchar_t** name,
|
|
|
|
|
|
uint32_t* cchName) override;
|
|
|
|
|
|
|
|
|
|
|
|
STDMETHOD(GetDescription)
|
|
|
|
|
|
(
|
|
|
|
|
|
const wchar_t** description,
|
|
|
|
|
|
uint32_t* cchDescription) override;
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
winrt::hstring name_;
|
|
|
|
|
|
winrt::hstring description_;
|
|
|
|
|
|
winml::TensorKind tensor_kind_;
|
|
|
|
|
|
std::vector<int64_t> shape_;
|
|
|
|
|
|
bool is_required_;
|
|
|
|
|
|
bool has_unsupported_image_metadata_;
|
|
|
|
|
|
};
|
|
|
|
|
|
} // namespace winrt::Windows::AI::MachineLearning::implementation
|
2019-11-11 22:34:19 +00:00
|
|
|
|
|
|
|
|
|
|
namespace winrt::Windows::AI::MachineLearning::factory_implementation {
|
|
|
|
|
|
struct TensorFeatureDescriptor : TensorFeatureDescriptorT<TensorFeatureDescriptor, implementation::TensorFeatureDescriptor> {
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
} // namespace winrt::Windows::AI::MachineLearning::factory_implementation
|