Fixes multiple typos in the calculator's internal files.
PiperOrigin-RevId: 577202836
This commit is contained in:
		
							parent
							
								
									46cca0d486
								
							
						
					
					
						commit
						eaf0807849
					
				|  | @ -82,7 +82,7 @@ namespace api2 { | ||||||
| //
 | //
 | ||||||
| // Outputs:
 | // Outputs:
 | ||||||
| //   TENSORS - std::vector<Tensor>
 | //   TENSORS - std::vector<Tensor>
 | ||||||
| //     Vector containing a single Tensor populated with an extrated RGB image.
 | //     Vector containing a single Tensor populated with an extracted RGB image.
 | ||||||
| //   MATRIX - std::array<float, 16> @Optional
 | //   MATRIX - std::array<float, 16> @Optional
 | ||||||
| //     An std::array<float, 16> representing a 4x4 row-major-order matrix that
 | //     An std::array<float, 16> representing a 4x4 row-major-order matrix that
 | ||||||
| //     maps a point on the input image to a point on the output tensor, and
 | //     maps a point on the input image to a point on the output tensor, and
 | ||||||
|  | @ -212,7 +212,7 @@ class ImageToTensorCalculator : public Node { | ||||||
|       std::array<float, 16> matrix; |       std::array<float, 16> matrix; | ||||||
|       GetRotatedSubRectToRectTransformMatrix( |       GetRotatedSubRectToRectTransformMatrix( | ||||||
|           roi, image->width(), image->height(), |           roi, image->width(), image->height(), | ||||||
|           /*flip_horizontaly=*/false, &matrix); |           /*flip_horizontally=*/false, &matrix); | ||||||
|       kOutMatrix(cc).Send(std::move(matrix)); |       kOutMatrix(cc).Send(std::move(matrix)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -57,7 +57,7 @@ class SubRectExtractorGl { | ||||||
|   absl::Status ExtractSubRectToBuffer( |   absl::Status ExtractSubRectToBuffer( | ||||||
|       const tflite::gpu::gl::GlTexture& texture, |       const tflite::gpu::gl::GlTexture& texture, | ||||||
|       const tflite::gpu::HW& texture_size, const RotatedRect& sub_rect, |       const tflite::gpu::HW& texture_size, const RotatedRect& sub_rect, | ||||||
|       bool flip_horizontaly, float alpha, float beta, |       bool flip_horizontally, float alpha, float beta, | ||||||
|       const tflite::gpu::HW& destination_size, |       const tflite::gpu::HW& destination_size, | ||||||
|       tflite::gpu::gl::CommandQueue* command_queue, |       tflite::gpu::gl::CommandQueue* command_queue, | ||||||
|       tflite::gpu::gl::GlBuffer* destination); |       tflite::gpu::gl::GlBuffer* destination); | ||||||
|  | @ -154,13 +154,13 @@ void main() { | ||||||
| absl::Status SubRectExtractorGl::ExtractSubRectToBuffer( | absl::Status SubRectExtractorGl::ExtractSubRectToBuffer( | ||||||
|     const tflite::gpu::gl::GlTexture& texture, |     const tflite::gpu::gl::GlTexture& texture, | ||||||
|     const tflite::gpu::HW& texture_size, const RotatedRect& texture_sub_rect, |     const tflite::gpu::HW& texture_size, const RotatedRect& texture_sub_rect, | ||||||
|     bool flip_horizontaly, float alpha, float beta, |     bool flip_horizontally, float alpha, float beta, | ||||||
|     const tflite::gpu::HW& destination_size, |     const tflite::gpu::HW& destination_size, | ||||||
|     tflite::gpu::gl::CommandQueue* command_queue, |     tflite::gpu::gl::CommandQueue* command_queue, | ||||||
|     tflite::gpu::gl::GlBuffer* destination) { |     tflite::gpu::gl::GlBuffer* destination) { | ||||||
|   std::array<float, 16> transform_mat; |   std::array<float, 16> transform_mat; | ||||||
|   GetRotatedSubRectToRectTransformMatrix(texture_sub_rect, texture_size.w, |   GetRotatedSubRectToRectTransformMatrix(texture_sub_rect, texture_size.w, | ||||||
|                                          texture_size.h, flip_horizontaly, |                                          texture_size.h, flip_horizontally, | ||||||
|                                          &transform_mat); |                                          &transform_mat); | ||||||
|   MP_RETURN_IF_ERROR(texture.BindAsSampler2D(0)); |   MP_RETURN_IF_ERROR(texture.BindAsSampler2D(0)); | ||||||
| 
 | 
 | ||||||
|  | @ -308,7 +308,7 @@ class GlProcessor : public ImageToTensorConverter { | ||||||
|               input_texture, |               input_texture, | ||||||
|               tflite::gpu::HW(source_texture.height(), source_texture.width()), |               tflite::gpu::HW(source_texture.height(), source_texture.width()), | ||||||
|               roi, |               roi, | ||||||
|               /*flip_horizontaly=*/false, transform.scale, transform.offset, |               /*flip_horizontally=*/false, transform.scale, transform.offset, | ||||||
|               tflite::gpu::HW(output_shape.dims[1], output_shape.dims[2]), |               tflite::gpu::HW(output_shape.dims[1], output_shape.dims[2]), | ||||||
|               command_queue_.get(), &output)); |               command_queue_.get(), &output)); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -199,7 +199,7 @@ class GlProcessor : public ImageToTensorConverter { | ||||||
|                                   range_min, range_max)); |                                   range_min, range_max)); | ||||||
|           auto tensor_view = output_tensor.GetOpenGlTexture2dWriteView(); |           auto tensor_view = output_tensor.GetOpenGlTexture2dWriteView(); | ||||||
|           MP_RETURN_IF_ERROR(ExtractSubRect(input_texture, roi, |           MP_RETURN_IF_ERROR(ExtractSubRect(input_texture, roi, | ||||||
|                                             /*flip_horizontaly=*/false, |                                             /*flip_horizontally=*/false, | ||||||
|                                             transform.scale, transform.offset, |                                             transform.scale, transform.offset, | ||||||
|                                             output_shape, &tensor_view)); |                                             output_shape, &tensor_view)); | ||||||
|           return absl::OkStatus(); |           return absl::OkStatus(); | ||||||
|  | @ -210,7 +210,7 @@ class GlProcessor : public ImageToTensorConverter { | ||||||
| 
 | 
 | ||||||
|   absl::Status ExtractSubRect(const mediapipe::GlTexture& texture, |   absl::Status ExtractSubRect(const mediapipe::GlTexture& texture, | ||||||
|                               const RotatedRect& sub_rect, |                               const RotatedRect& sub_rect, | ||||||
|                               bool flip_horizontaly, float alpha, float beta, |                               bool flip_horizontally, float alpha, float beta, | ||||||
|                               const Tensor::Shape& output_shape, |                               const Tensor::Shape& output_shape, | ||||||
|                               Tensor::OpenGlTexture2dView* output) { |                               Tensor::OpenGlTexture2dView* output) { | ||||||
|     const int output_height = output_shape.dims[1]; |     const int output_height = output_shape.dims[1]; | ||||||
|  | @ -263,13 +263,13 @@ class GlProcessor : public ImageToTensorConverter { | ||||||
|     ABSL_LOG_IF(FATAL, !gl_context) << "GlContext is not bound to the thread."; |     ABSL_LOG_IF(FATAL, !gl_context) << "GlContext is not bound to the thread."; | ||||||
|     if (gl_context->GetGlVersion() == mediapipe::GlVersion::kGLES2) { |     if (gl_context->GetGlVersion() == mediapipe::GlVersion::kGLES2) { | ||||||
|       GetTransposedRotatedSubRectToRectTransformMatrix( |       GetTransposedRotatedSubRectToRectTransformMatrix( | ||||||
|           sub_rect, texture.width(), texture.height(), flip_horizontaly, |           sub_rect, texture.width(), texture.height(), flip_horizontally, | ||||||
|           &transform_mat); |           &transform_mat); | ||||||
|       glUniformMatrix4fv(matrix_id_, 1, GL_FALSE, transform_mat.data()); |       glUniformMatrix4fv(matrix_id_, 1, GL_FALSE, transform_mat.data()); | ||||||
|     } else { |     } else { | ||||||
|       GetRotatedSubRectToRectTransformMatrix(sub_rect, texture.width(), |       GetRotatedSubRectToRectTransformMatrix(sub_rect, texture.width(), | ||||||
|                                              texture.height(), flip_horizontaly, |                                              texture.height(), | ||||||
|                                              &transform_mat); |                                              flip_horizontally, &transform_mat); | ||||||
|       glUniformMatrix4fv(matrix_id_, 1, GL_TRUE, transform_mat.data()); |       glUniformMatrix4fv(matrix_id_, 1, GL_TRUE, transform_mat.data()); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -179,13 +179,13 @@ class SubRectExtractorMetal { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   absl::Status Execute(id<MTLTexture> input_texture, |   absl::Status Execute(id<MTLTexture> input_texture, | ||||||
|                        const RotatedRect& sub_rect, bool flip_horizontaly, |                        const RotatedRect& sub_rect, bool flip_horizontally, | ||||||
|                        float alpha, float beta, |                        float alpha, float beta, | ||||||
|                        const tflite::gpu::HW& destination_size, |                        const tflite::gpu::HW& destination_size, | ||||||
|                        id<MTLCommandBuffer> command_buffer, |                        id<MTLCommandBuffer> command_buffer, | ||||||
|                        id<MTLBuffer> destination) { |                        id<MTLBuffer> destination) { | ||||||
|     auto output_texture = MTLTextureWithBuffer(destination_size, destination); |     auto output_texture = MTLTextureWithBuffer(destination_size, destination); | ||||||
|     return InternalExecute(input_texture, sub_rect, flip_horizontaly, alpha, |     return InternalExecute(input_texture, sub_rect, flip_horizontally, alpha, | ||||||
|                            beta, destination_size, command_buffer, |                            beta, destination_size, command_buffer, | ||||||
|                            output_texture); |                            output_texture); | ||||||
|   } |   } | ||||||
|  | @ -211,7 +211,7 @@ class SubRectExtractorMetal { | ||||||
| 
 | 
 | ||||||
|   absl::Status InternalExecute(id<MTLTexture> input_texture, |   absl::Status InternalExecute(id<MTLTexture> input_texture, | ||||||
|                                const RotatedRect& sub_rect, |                                const RotatedRect& sub_rect, | ||||||
|                                bool flip_horizontaly, float alpha, float beta, |                                bool flip_horizontally, float alpha, float beta, | ||||||
|                                const tflite::gpu::HW& destination_size, |                                const tflite::gpu::HW& destination_size, | ||||||
|                                id<MTLCommandBuffer> command_buffer, |                                id<MTLCommandBuffer> command_buffer, | ||||||
|                                id<MTLTexture> output_texture) { |                                id<MTLTexture> output_texture) { | ||||||
|  | @ -223,7 +223,7 @@ class SubRectExtractorMetal { | ||||||
|     std::array<float, 16> transform_mat; |     std::array<float, 16> transform_mat; | ||||||
|     GetRotatedSubRectToRectTransformMatrix(sub_rect, input_texture.width, |     GetRotatedSubRectToRectTransformMatrix(sub_rect, input_texture.width, | ||||||
|                                            input_texture.height, |                                            input_texture.height, | ||||||
|                                            flip_horizontaly, &transform_mat); |                                            flip_horizontally, &transform_mat); | ||||||
|     id<MTLBuffer> transform_mat_buffer = |     id<MTLBuffer> transform_mat_buffer = | ||||||
|         [device_ newBufferWithBytes:&transform_mat |         [device_ newBufferWithBytes:&transform_mat | ||||||
|                              length:sizeof(transform_mat) |                              length:sizeof(transform_mat) | ||||||
|  | @ -383,7 +383,7 @@ class MetalProcessor : public ImageToTensorConverter { | ||||||
|           MtlBufferView::GetWriteView(output_tensor, command_buffer); |           MtlBufferView::GetWriteView(output_tensor, command_buffer); | ||||||
|       MP_RETURN_IF_ERROR(extractor_->Execute( |       MP_RETURN_IF_ERROR(extractor_->Execute( | ||||||
|           texture, roi, |           texture, roi, | ||||||
|           /*flip_horizontaly=*/false, transform.scale, transform.offset, |           /*flip_horizontally=*/false, transform.scale, transform.offset, | ||||||
|           tflite::gpu::HW(output_shape.dims[1], output_shape.dims[2]), |           tflite::gpu::HW(output_shape.dims[1], output_shape.dims[2]), | ||||||
|           command_buffer, buffer_view.buffer())); |           command_buffer, buffer_view.buffer())); | ||||||
|       [command_buffer commit]; |       [command_buffer commit]; | ||||||
|  |  | ||||||
|  | @ -92,7 +92,7 @@ absl::StatusOr<ValueTransformation> GetValueRangeTransformation( | ||||||
| 
 | 
 | ||||||
| void GetRotatedSubRectToRectTransformMatrix(const RotatedRect& sub_rect, | void GetRotatedSubRectToRectTransformMatrix(const RotatedRect& sub_rect, | ||||||
|                                             int rect_width, int rect_height, |                                             int rect_width, int rect_height, | ||||||
|                                             bool flip_horizontaly, |                                             bool flip_horizontally, | ||||||
|                                             std::array<float, 16>* matrix_ptr) { |                                             std::array<float, 16>* matrix_ptr) { | ||||||
|   std::array<float, 16>& matrix = *matrix_ptr; |   std::array<float, 16>& matrix = *matrix_ptr; | ||||||
|   // The resulting matrix is multiplication of below commented out matrices:
 |   // The resulting matrix is multiplication of below commented out matrices:
 | ||||||
|  | @ -118,7 +118,7 @@ void GetRotatedSubRectToRectTransformMatrix(const RotatedRect& sub_rect, | ||||||
|   // {0.0f, 0.0f,    a, 0.0f}
 |   // {0.0f, 0.0f,    a, 0.0f}
 | ||||||
|   // {0.0f, 0.0f, 0.0f, 1.0f}
 |   // {0.0f, 0.0f, 0.0f, 1.0f}
 | ||||||
| 
 | 
 | ||||||
|   const float flip = flip_horizontaly ? -1 : 1; |   const float flip = flip_horizontally ? -1 : 1; | ||||||
|   // Matrix for optional horizontal flip around middle of output image.
 |   // Matrix for optional horizontal flip around middle of output image.
 | ||||||
|   // { fl  , 0.0f, 0.0f, 0.0f}
 |   // { fl  , 0.0f, 0.0f, 0.0f}
 | ||||||
|   // { 0.0f, 1.0f, 0.0f, 0.0f}
 |   // { 0.0f, 1.0f, 0.0f, 0.0f}
 | ||||||
|  | @ -177,13 +177,13 @@ void GetRotatedSubRectToRectTransformMatrix(const RotatedRect& sub_rect, | ||||||
| 
 | 
 | ||||||
| void GetTransposedRotatedSubRectToRectTransformMatrix( | void GetTransposedRotatedSubRectToRectTransformMatrix( | ||||||
|     const RotatedRect& sub_rect, int rect_width, int rect_height, |     const RotatedRect& sub_rect, int rect_width, int rect_height, | ||||||
|     bool flip_horizontaly, std::array<float, 16>* matrix_ptr) { |     bool flip_horizontally, std::array<float, 16>* matrix_ptr) { | ||||||
|   std::array<float, 16>& matrix = *matrix_ptr; |   std::array<float, 16>& matrix = *matrix_ptr; | ||||||
|   // See comments in GetRotatedSubRectToRectTransformMatrix for detailed
 |   // See comments in GetRotatedSubRectToRectTransformMatrix for detailed
 | ||||||
|   // calculations.
 |   // calculations.
 | ||||||
|   const float a = sub_rect.width; |   const float a = sub_rect.width; | ||||||
|   const float b = sub_rect.height; |   const float b = sub_rect.height; | ||||||
|   const float flip = flip_horizontaly ? -1 : 1; |   const float flip = flip_horizontally ? -1 : 1; | ||||||
|   const float c = std::cos(sub_rect.rotation); |   const float c = std::cos(sub_rect.rotation); | ||||||
|   const float d = std::sin(sub_rect.rotation); |   const float d = std::sin(sub_rect.rotation); | ||||||
|   const float e = sub_rect.center_x; |   const float e = sub_rect.center_x; | ||||||
|  |  | ||||||
|  | @ -74,7 +74,7 @@ absl::StatusOr<std::array<float, 4>> PadRoi(int input_tensor_width, | ||||||
| // Represents a transformation of value which involves scaling and offsetting.
 | // Represents a transformation of value which involves scaling and offsetting.
 | ||||||
| // To apply transformation:
 | // To apply transformation:
 | ||||||
| // ValueTransformation transform = ...
 | // ValueTransformation transform = ...
 | ||||||
| // float transformed_value = transform.scale * value + transfrom.offset;
 | // float transformed_value = transform.scale * value + transform.offset;
 | ||||||
| struct ValueTransformation { | struct ValueTransformation { | ||||||
|   float scale; |   float scale; | ||||||
|   float offset; |   float offset; | ||||||
|  | @ -99,11 +99,11 @@ absl::StatusOr<ValueTransformation> GetValueRangeTransformation( | ||||||
| // @sub_rect - rotated sub rect in absolute coordinates
 | // @sub_rect - rotated sub rect in absolute coordinates
 | ||||||
| // @rect_width - rect width
 | // @rect_width - rect width
 | ||||||
| // @rect_height - rect height
 | // @rect_height - rect height
 | ||||||
| // @flip_horizontaly - we need to flip the output buffer.
 | // @flip_horizontally - we need to flip the output buffer.
 | ||||||
| // @matrix - 4x4 matrix (array of 16 elements) to populate
 | // @matrix - 4x4 matrix (array of 16 elements) to populate
 | ||||||
| void GetRotatedSubRectToRectTransformMatrix(const RotatedRect& sub_rect, | void GetRotatedSubRectToRectTransformMatrix(const RotatedRect& sub_rect, | ||||||
|                                             int rect_width, int rect_height, |                                             int rect_width, int rect_height, | ||||||
|                                             bool flip_horizontaly, |                                             bool flip_horizontally, | ||||||
|                                             std::array<float, 16>* matrix); |                                             std::array<float, 16>* matrix); | ||||||
| 
 | 
 | ||||||
| // Returns the transpose of the matrix found with
 | // Returns the transpose of the matrix found with
 | ||||||
|  | @ -118,11 +118,11 @@ void GetRotatedSubRectToRectTransformMatrix(const RotatedRect& sub_rect, | ||||||
| // @sub_rect - rotated sub rect in absolute coordinates
 | // @sub_rect - rotated sub rect in absolute coordinates
 | ||||||
| // @rect_width - rect width
 | // @rect_width - rect width
 | ||||||
| // @rect_height - rect height
 | // @rect_height - rect height
 | ||||||
| // @flip_horizontaly - we need to flip the output buffer.
 | // @flip_horizontally - we need to flip the output buffer.
 | ||||||
| // @matrix - 4x4 matrix (array of 16 elements) to populate
 | // @matrix - 4x4 matrix (array of 16 elements) to populate
 | ||||||
| void GetTransposedRotatedSubRectToRectTransformMatrix( | void GetTransposedRotatedSubRectToRectTransformMatrix( | ||||||
|     const RotatedRect& sub_rect, int rect_width, int rect_height, |     const RotatedRect& sub_rect, int rect_width, int rect_height, | ||||||
|     bool flip_horizontaly, std::array<float, 16>* matrix); |     bool flip_horizontally, std::array<float, 16>* matrix); | ||||||
| 
 | 
 | ||||||
| // Validates the output dimensions set in the option proto. The input option
 | // Validates the output dimensions set in the option proto. The input option
 | ||||||
| // proto is expected to have to following fields:
 | // proto is expected to have to following fields:
 | ||||||
|  |  | ||||||
|  | @ -32,7 +32,7 @@ message TensorConverterCalculatorOptions { | ||||||
|   // Custom settings to override the internal scaling factors `div` and `sub`. |   // Custom settings to override the internal scaling factors `div` and `sub`. | ||||||
|   // Both values must be set to non-negative values. Will only take effect on |   // Both values must be set to non-negative values. Will only take effect on | ||||||
|   // CPU AND when |use_custom_normalization| is set to true. When these custom |   // CPU AND when |use_custom_normalization| is set to true. When these custom | ||||||
|   // values take effect, the |zero_center| setting above will be overriden, and |   // values take effect, the |zero_center| setting above will be overridden, and | ||||||
|   // the normalized_value will be calculated as: |   // the normalized_value will be calculated as: | ||||||
|   // normalized_value = input / custom_div - custom_sub. |   // normalized_value = input / custom_div - custom_sub. | ||||||
|   optional bool use_custom_normalization = 6 [default = false]; |   optional bool use_custom_normalization = 6 [default = false]; | ||||||
|  |  | ||||||
|  | @ -34,7 +34,7 @@ message TensorsToClassificationCalculatorOptions { | ||||||
|     repeated Entry entries = 1; |     repeated Entry entries = 1; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // Score threshold for perserving the class. |   // Score threshold for preserving the class. | ||||||
|   optional float min_score_threshold = 1; |   optional float min_score_threshold = 1; | ||||||
|   // Number of highest scoring labels to output.  If top_k is not positive then |   // Number of highest scoring labels to output.  If top_k is not positive then | ||||||
|   // all labels are used. |   // all labels are used. | ||||||
|  |  | ||||||
|  | @ -147,7 +147,7 @@ BoxFormat GetBoxFormat(const TensorsToDetectionsCalculatorOptions& options) { | ||||||
| //  TENSORS - Vector of Tensors of type kFloat32. The vector of tensors can have
 | //  TENSORS - Vector of Tensors of type kFloat32. The vector of tensors can have
 | ||||||
| //            2 or 3 tensors. First tensor is the predicted raw boxes/keypoints.
 | //            2 or 3 tensors. First tensor is the predicted raw boxes/keypoints.
 | ||||||
| //            The size of the values must be (num_boxes * num_predicted_values).
 | //            The size of the values must be (num_boxes * num_predicted_values).
 | ||||||
| //            Second tensor is the score tensor. The size of the valuse must be
 | //            Second tensor is the score tensor. The size of the values must be
 | ||||||
| //            (num_boxes * num_classes). It's optional to pass in a third tensor
 | //            (num_boxes * num_classes). It's optional to pass in a third tensor
 | ||||||
| //            for anchors (e.g. for SSD models) depend on the outputs of the
 | //            for anchors (e.g. for SSD models) depend on the outputs of the
 | ||||||
| //            detection model. The size of anchor tensor must be (num_boxes *
 | //            detection model. The size of anchor tensor must be (num_boxes *
 | ||||||
|  | @ -267,7 +267,7 @@ absl::Status TensorsToDetectionsCalculator::UpdateContract( | ||||||
|   if (CanUseGpu()) { |   if (CanUseGpu()) { | ||||||
| #ifndef MEDIAPIPE_DISABLE_GL_COMPUTE | #ifndef MEDIAPIPE_DISABLE_GL_COMPUTE | ||||||
|     MP_RETURN_IF_ERROR(mediapipe::GlCalculatorHelper::UpdateContract( |     MP_RETURN_IF_ERROR(mediapipe::GlCalculatorHelper::UpdateContract( | ||||||
|         cc, /*requesst_gpu_as_optional=*/true)); |         cc, /*request_gpu_as_optional=*/true)); | ||||||
| #elif MEDIAPIPE_METAL_ENABLED | #elif MEDIAPIPE_METAL_ENABLED | ||||||
|     MP_RETURN_IF_ERROR([MPPMetalHelper updateContract:cc]); |     MP_RETURN_IF_ERROR([MPPMetalHelper updateContract:cc]); | ||||||
| #endif  // !defined(MEDIAPIPE_DISABLE_GL_COMPUTE)
 | #endif  // !defined(MEDIAPIPE_DISABLE_GL_COMPUTE)
 | ||||||
|  |  | ||||||
|  | @ -75,7 +75,7 @@ message TensorsToDetectionsCalculatorOptions { | ||||||
|   // representation has a bottom-left origin (e.g., in OpenGL). |   // representation has a bottom-left origin (e.g., in OpenGL). | ||||||
|   optional bool flip_vertically = 18 [default = false]; |   optional bool flip_vertically = 18 [default = false]; | ||||||
| 
 | 
 | ||||||
|   // Score threshold for perserving decoded detections. |   // Score threshold for preserving decoded detections. | ||||||
|   optional float min_score_thresh = 19; |   optional float min_score_thresh = 19; | ||||||
| 
 | 
 | ||||||
|   // The maximum number of the detection results to return. If < 0, all |   // The maximum number of the detection results to return. If < 0, all | ||||||
|  |  | ||||||
|  | @ -208,7 +208,7 @@ absl::Status TensorsToSegmentationCalculator::GetContract( | ||||||
|   if (CanUseGpu()) { |   if (CanUseGpu()) { | ||||||
| #if !MEDIAPIPE_DISABLE_GPU | #if !MEDIAPIPE_DISABLE_GPU | ||||||
|     MP_RETURN_IF_ERROR(mediapipe::GlCalculatorHelper::UpdateContract( |     MP_RETURN_IF_ERROR(mediapipe::GlCalculatorHelper::UpdateContract( | ||||||
|         cc, /*requesst_gpu_as_optional=*/true)); |         cc, /*request_gpu_as_optional=*/true)); | ||||||
| #if MEDIAPIPE_METAL_ENABLED | #if MEDIAPIPE_METAL_ENABLED | ||||||
|     MP_RETURN_IF_ERROR([MPPMetalHelper updateContract:cc]); |     MP_RETURN_IF_ERROR([MPPMetalHelper updateContract:cc]); | ||||||
| #endif  // MEDIAPIPE_METAL_ENABLED
 | #endif  // MEDIAPIPE_METAL_ENABLED
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user