Merge pull request #46026 from rkuester:feature-micro-add-op-depth-to-space-pr1
PiperOrigin-RevId: 351645866 Change-Id: I01fa9b474625e950a998244af8d00c0d8b42f7af
This commit is contained in:
commit
2a5d6c6c69
@ -197,6 +197,10 @@ TfLiteStatus ParseOpDataTfLite(const Operator* op, BuiltinOperator op_type,
|
|||||||
return ParseConv2D(op, error_reporter, allocator, builtin_data);
|
return ParseConv2D(op, error_reporter, allocator, builtin_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case BuiltinOperator_DEPTH_TO_SPACE: {
|
||||||
|
return ParseDepthToSpace(op, error_reporter, allocator, builtin_data);
|
||||||
|
}
|
||||||
|
|
||||||
case BuiltinOperator_DEPTHWISE_CONV_2D: {
|
case BuiltinOperator_DEPTHWISE_CONV_2D: {
|
||||||
return ParseDepthwiseConv2D(op, error_reporter, allocator, builtin_data);
|
return ParseDepthwiseConv2D(op, error_reporter, allocator, builtin_data);
|
||||||
}
|
}
|
||||||
@ -609,16 +613,6 @@ TfLiteStatus ParseOpDataTfLite(const Operator* op, BuiltinOperator op_type,
|
|||||||
return kTfLiteOk;
|
return kTfLiteOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
case BuiltinOperator_DEPTH_TO_SPACE: {
|
|
||||||
auto params = safe_allocator.Allocate<TfLiteDepthToSpaceParams>();
|
|
||||||
TF_LITE_ENSURE(error_reporter, params != nullptr);
|
|
||||||
if (const auto* schema_params =
|
|
||||||
op->builtin_options_as_DepthToSpaceOptions()) {
|
|
||||||
params->block_size = schema_params->block_size();
|
|
||||||
}
|
|
||||||
*builtin_data = params.release();
|
|
||||||
return kTfLiteOk;
|
|
||||||
}
|
|
||||||
case BuiltinOperator_GATHER: {
|
case BuiltinOperator_GATHER: {
|
||||||
auto params = safe_allocator.Allocate<TfLiteGatherParams>();
|
auto params = safe_allocator.Allocate<TfLiteGatherParams>();
|
||||||
TF_LITE_ENSURE(error_reporter, params != nullptr);
|
TF_LITE_ENSURE(error_reporter, params != nullptr);
|
||||||
@ -1056,6 +1050,31 @@ TfLiteStatus ParseCos(const Operator*, ErrorReporter*, BuiltinDataAllocator*,
|
|||||||
return kTfLiteOk;
|
return kTfLiteOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TfLiteStatus ParseDepthToSpace(const Operator* op,
|
||||||
|
ErrorReporter* error_reporter,
|
||||||
|
BuiltinDataAllocator* allocator,
|
||||||
|
void** builtin_data) {
|
||||||
|
CheckParsePointerParams(op, error_reporter, allocator, builtin_data);
|
||||||
|
|
||||||
|
SafeBuiltinDataAllocator safe_allocator(allocator);
|
||||||
|
std::unique_ptr<TfLiteDepthToSpaceParams,
|
||||||
|
SafeBuiltinDataAllocator::BuiltinDataDeleter>
|
||||||
|
params = safe_allocator.Allocate<TfLiteDepthToSpaceParams>();
|
||||||
|
TF_LITE_ENSURE(error_reporter, params != nullptr);
|
||||||
|
|
||||||
|
const auto* schema_params = op->builtin_options_as_DepthToSpaceOptions();
|
||||||
|
if (schema_params != nullptr) {
|
||||||
|
params->block_size = schema_params->block_size();
|
||||||
|
} else {
|
||||||
|
// TODO(b/157480169): We should either return kTfLiteError or fill in some
|
||||||
|
// reasonable defaults in the params struct. We are not doing so until we
|
||||||
|
// better undertand the ramifications of changing the legacy behavior.
|
||||||
|
}
|
||||||
|
|
||||||
|
*builtin_data = params.release();
|
||||||
|
return kTfLiteOk;
|
||||||
|
}
|
||||||
|
|
||||||
TfLiteStatus ParseDepthwiseConv2D(const Operator* op,
|
TfLiteStatus ParseDepthwiseConv2D(const Operator* op,
|
||||||
ErrorReporter* error_reporter,
|
ErrorReporter* error_reporter,
|
||||||
BuiltinDataAllocator* allocator,
|
BuiltinDataAllocator* allocator,
|
||||||
|
@ -101,6 +101,11 @@ TfLiteStatus ParseConv2D(const Operator* op, ErrorReporter* error_reporter,
|
|||||||
TfLiteStatus ParseCos(const Operator* op, ErrorReporter* error_reporter,
|
TfLiteStatus ParseCos(const Operator* op, ErrorReporter* error_reporter,
|
||||||
BuiltinDataAllocator* allocator, void** builtin_data);
|
BuiltinDataAllocator* allocator, void** builtin_data);
|
||||||
|
|
||||||
|
TfLiteStatus ParseDepthToSpace(const Operator* op,
|
||||||
|
ErrorReporter* error_reporter,
|
||||||
|
BuiltinDataAllocator* allocator,
|
||||||
|
void** builtin_data);
|
||||||
|
|
||||||
TfLiteStatus ParseDepthwiseConv2D(const Operator* op,
|
TfLiteStatus ParseDepthwiseConv2D(const Operator* op,
|
||||||
ErrorReporter* error_reporter,
|
ErrorReporter* error_reporter,
|
||||||
BuiltinDataAllocator* allocator,
|
BuiltinDataAllocator* allocator,
|
||||||
|
Loading…
Reference in New Issue
Block a user