@@ -532,15 +532,19 @@ class Model : public internal::Handle<LiteRtModel, LiteRtDestroyModel> {
532532 // Returns the tensor type for the given n-th input tensor.
533533 Expected<RankedTensorType> GetInputTensorType (size_t signature_index,
534534 size_t input_index) const {
535- LITERT_ASSIGN_OR_RETURN (auto subgraph, Subgraph (signature_index));
536- return subgraph.Inputs ()[input_index].RankedTensorType ();
535+ LITERT_ASSIGN_OR_RETURN (const Signature& signature,
536+ GetSignature (signature_index));
537+ LITERT_ASSIGN_OR_RETURN (const Tensor& tensor,
538+ signature.InputTensor (input_index));
539+ return tensor.RankedTensorType ();
537540 }
538541
539542 // Returns the tensor type for the given input tensor name.
540543 Expected<RankedTensorType> GetInputTensorType (
541544 size_t signature_index, absl::string_view input_name) const {
542- LITERT_ASSIGN_OR_RETURN (auto subgraph, Subgraph (signature_index));
543- LITERT_ASSIGN_OR_RETURN (auto tensor, subgraph.Input (input_name));
545+ LITERT_ASSIGN_OR_RETURN (const Signature& signature,
546+ GetSignature (signature_index));
547+ LITERT_ASSIGN_OR_RETURN (auto tensor, signature.InputTensor (input_name));
544548 return tensor.RankedTensorType ();
545549 }
546550
@@ -553,15 +557,19 @@ class Model : public internal::Handle<LiteRtModel, LiteRtDestroyModel> {
553557 // Returns the tensor type for the given n-th output tensor.
554558 Expected<RankedTensorType> GetOutputTensorType (size_t signature_index,
555559 size_t output_index) const {
556- auto subgraph = Subgraph (signature_index);
557- return subgraph->Outputs ()[output_index].RankedTensorType ();
560+ LITERT_ASSIGN_OR_RETURN (const Signature& signature,
561+ GetSignature (signature_index));
562+ LITERT_ASSIGN_OR_RETURN (const Tensor& tensor,
563+ signature.OutputTensor (output_index));
564+ return tensor.RankedTensorType ();
558565 }
559566
560567 // Returns the tensor type for the given output tensor name.
561568 Expected<RankedTensorType> GetOutputTensorType (
562569 size_t signature_index, absl::string_view output_name) const {
563- auto subgraph = Subgraph (signature_index);
564- LITERT_ASSIGN_OR_RETURN (auto tensor, subgraph->Output (output_name));
570+ LITERT_ASSIGN_OR_RETURN (const Signature& signature,
571+ GetSignature (signature_index));
572+ LITERT_ASSIGN_OR_RETURN (auto tensor, signature.OutputTensor (output_name));
565573 return tensor.RankedTensorType ();
566574 }
567575
0 commit comments