mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
* model building * fix build * winml adapter model building api * model building * make build * make build again * add model building with audio op * inplace and inorder fft * add ifft * works! * cleanup * add comments * switch to iterative rather than recursive and use parallelization * batched parallelization * fft->dft * cleanup * window functions * add melweightmatrix op * updates to make spectrogram test work * push latest * add onesided * cleanup * Clean up building apis and fix mel * cleanup * cleanup * naive stft * fix test output * middle c complete * 3 tones * cleanup * signal def new line * Add save functionality * Perf improvements, 10x improvement * cleanup * use bitreverse lookup table for performance * implement constant initializers for tensors * small changes * add matmul tests * merge issues * support add attribute * add tests for double data type windowfunctions and minor cleanup * stft onesided/and not tests * cleanup * cleanup * clean up * cleanup * remove threading attribute * forward declare orttypeinfo * warnings * fwd declare * fix warnings * 1 more warning * remove saving to e drive... * cleanup and fix stft test * add opset picker * small additions * add onnxruntime tests * add signed/unsigned * fix warning * fix warning * finish onnxruntime tests * make windows namespace build succeed * add experimental flag * add experimental api into nuget package * add experimental api build flag and add to windows ai nuget package * turn experimental for tests * add minimum opset version to new experimental domain * api cleanup * disable ms experimental ops test when --ms_experimental is not enabled * add macro behind flag * remove unused x * pr feedback Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
104 lines
3.8 KiB
Text
104 lines
3.8 KiB
Text
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
import "Windows.Foundation.idl";
|
|
import "dualapipartitionattribute.idl";
|
|
import "Windows.AI.MachineLearning.idl";
|
|
|
|
#include <sdkddkver.h>
|
|
|
|
#ifdef BUILD_INBOX
|
|
#define ROOT_NS Windows
|
|
#define INBOX_ONLY(x) x
|
|
#define OTB_ONLY(x)
|
|
#else
|
|
#define INBOX_ONLY(x)
|
|
#define OTB_ONLY(x) x
|
|
#endif
|
|
|
|
#ifndef ROOT_NS
|
|
#define ROOT_NS Microsoft
|
|
#endif
|
|
|
|
namespace ROOT_NS.AI.MachineLearning.Experimental {
|
|
runtimeclass LearningModelBuilder;
|
|
|
|
[marshaling_behavior(agile)]
|
|
[dualapipartition(1)]
|
|
runtimeclass LearningModelSessionOptionsExperimental {
|
|
Windows.Foundation.Collections.IMapView<String, UINT32> GetNamedDimensionOverrides();
|
|
}
|
|
|
|
[threading(both)]
|
|
[marshaling_behavior(agile)]
|
|
[dualapipartition(1)]
|
|
runtimeclass LearningModelSessionExperimental {
|
|
LearningModelSessionExperimental(ROOT_NS.AI.MachineLearning.LearningModelSession session);
|
|
LearningModelSessionOptionsExperimental Options { get; };
|
|
}
|
|
|
|
[threading(both)]
|
|
[marshaling_behavior(agile)]
|
|
[dualapipartition(1)]
|
|
runtimeclass LearningModelOperator {
|
|
LearningModelOperator(String type);
|
|
LearningModelOperator(String type, String domain);
|
|
|
|
LearningModelOperator SetName(String name);
|
|
LearningModelOperator SetInput(String operator_input_name, String input_name);
|
|
LearningModelOperator SetConstant(String operator_input_name, IInspectable default_value);
|
|
LearningModelOperator SetOutput(String operator_output_name, String output_name);
|
|
LearningModelOperator SetAttribute(String name, IInspectable value);
|
|
|
|
String Name { get; };
|
|
String Type { get; };
|
|
String Domain { get; };
|
|
}
|
|
|
|
[marshaling_behavior(agile)]
|
|
[dualapipartition(1)]
|
|
runtimeclass LearningModelOperatorSet {
|
|
LearningModelBuilder Add(LearningModelOperator op);
|
|
}
|
|
|
|
[marshaling_behavior(agile)]
|
|
[dualapipartition(1)]
|
|
runtimeclass LearningModelInputs {
|
|
LearningModelBuilder Add(ROOT_NS.AI.MachineLearning.ILearningModelFeatureDescriptor input);
|
|
LearningModelBuilder Add(String input_name, String input_description, IInspectable default_value);
|
|
LearningModelBuilder AddConstant(String input_name, IInspectable value);
|
|
}
|
|
|
|
[marshaling_behavior(agile)]
|
|
[dualapipartition(1)]
|
|
runtimeclass LearningModelOutputs {
|
|
LearningModelBuilder Add(ROOT_NS.AI.MachineLearning.ILearningModelFeatureDescriptor output);
|
|
}
|
|
|
|
//! \interface LearningModelBuilder
|
|
//! \brief Represents a trained machine learning model.
|
|
//! \details This is the main object you use to interact with Windows Machine Learning. You use
|
|
//! it to load, bind, and evaluate trained ONNX models. To load the model you use
|
|
//! one of the Load constructors. You can then enumerate the InputFeatures and
|
|
//! OutputFeatures. To bind and evaluate you create a LearningModelSession.
|
|
[threading(both)]
|
|
[marshaling_behavior(agile)]
|
|
[dualapipartition(1)]
|
|
runtimeclass LearningModelBuilder {
|
|
LearningModelInputs Inputs { get; };
|
|
LearningModelOutputs Outputs { get; };
|
|
LearningModelOperatorSet Operators { get; };
|
|
|
|
//! Create a builder.
|
|
static LearningModelBuilder Create(Int32 opset);
|
|
|
|
//! Creates a TensorFeatureDescriptor.. this should be a constructor on the TFD
|
|
//TensorFeatureDescriptor(String name, String description, TensorKind kind, Int64[] shape);
|
|
static ROOT_NS.AI.MachineLearning.TensorFeatureDescriptor CreateTensorFeatureDescriptor(String name, String description, ROOT_NS.AI.MachineLearning.TensorKind kind, Int64[] shape);
|
|
static ROOT_NS.AI.MachineLearning.TensorFeatureDescriptor CreateTensorFeatureDescriptor(String name, ROOT_NS.AI.MachineLearning.TensorKind kind, Int64[] shape);
|
|
|
|
ROOT_NS.AI.MachineLearning.LearningModel CreateModel();
|
|
|
|
void Save(String file_name);
|
|
}
|
|
} // namespace Microsoft.AI.MachineLearning.Experimental
|