mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-18 21:21:17 +00:00
Update Objective-C API to be more usable from Swift. E.g., to allow conversion from Objective-C methods with trailing NSError** parameter to throwing Swift methods. Update CMake Objective-C framework setup.
89 lines
2.4 KiB
Objective-C
89 lines
2.4 KiB
Objective-C
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#import "ort_enums.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@class ORTValueTypeInfo;
|
|
@class ORTTensorTypeAndShapeInfo;
|
|
|
|
/**
|
|
* An ORT value encapsulates data used as an input or output to a model at runtime.
|
|
*/
|
|
@interface ORTValue : NSObject
|
|
|
|
- (instancetype)init NS_UNAVAILABLE;
|
|
|
|
/**
|
|
* Creates a value that is a tensor.
|
|
* The tensor data is allocated by the caller.
|
|
*
|
|
* @param tensorData The tensor data.
|
|
* @param elementType The tensor element data type.
|
|
* @param shape The tensor shape.
|
|
* @param[out] error Optional error information set if an error occurs.
|
|
* @return The instance, or nil if an error occurs.
|
|
*/
|
|
- (nullable instancetype)initTensorWithData:(NSMutableData*)tensorData
|
|
elementType:(ORTTensorElementDataType)elementType
|
|
shape:(NSArray<NSNumber*>*)shape
|
|
error:(NSError**)error;
|
|
|
|
/**
|
|
* Gets the type information.
|
|
*
|
|
* @param[out] error Optional error information set if an error occurs.
|
|
* @return The type information, or nil if an error occurs.
|
|
*/
|
|
- (nullable ORTValueTypeInfo*)typeInfoWithError:(NSError**)error;
|
|
|
|
/**
|
|
* Gets the tensor type and shape information.
|
|
* This assumes that the value is a tensor.
|
|
*
|
|
* @param[out] error Optional error information set if an error occurs.
|
|
* @return The tensor type and shape information, or nil if an error occurs.
|
|
*/
|
|
- (nullable ORTTensorTypeAndShapeInfo*)tensorTypeAndShapeInfoWithError:(NSError**)error;
|
|
|
|
/**
|
|
* Gets the tensor data.
|
|
* This assumes that the value is a tensor.
|
|
*
|
|
* @param[out] error Optional error information set if an error occurs.
|
|
* @return The tensor data, or nil if an error occurs.
|
|
*/
|
|
- (nullable NSMutableData*)tensorDataWithError:(NSError**)error;
|
|
|
|
@end
|
|
|
|
/**
|
|
* A value's type information.
|
|
*/
|
|
@interface ORTValueTypeInfo : NSObject
|
|
|
|
/** The value type. */
|
|
@property(nonatomic) ORTValueType type;
|
|
|
|
/** The tensor type and shape information, if the value is a tensor. */
|
|
@property(nonatomic, nullable) ORTTensorTypeAndShapeInfo* tensorTypeAndShapeInfo;
|
|
|
|
@end
|
|
|
|
/**
|
|
* A tensor's type and shape information.
|
|
*/
|
|
@interface ORTTensorTypeAndShapeInfo : NSObject
|
|
|
|
/** The tensor element data type. */
|
|
@property(nonatomic) ORTTensorElementDataType elementType;
|
|
|
|
/** The tensor shape. */
|
|
@property(nonatomic) NSArray<NSNumber*>* shape;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|