Merged commit includes the following changes: (#6932)
250447559 by Zhichao Lu:
Update expected files format for Instance Segmentation challenge:
- add fields ImageWidth, ImageHeight and store the values per prediction
- as mask, store only encoded image and assume its size is ImageWidth x ImageHeight
--
250402780 by rathodv:
Fix failing Mask R-CNN TPU convergence test.
Cast second stage prediction tensors from bfloat16 to float32 to prevent errors in third target assignment (Mask Prediction) - Concat with different types bfloat16 and bfloat32 isn't allowed.
--
250300240 by Zhichao Lu:
Addion Open Images Challenge 2019 object detection and instance segmentation
support into Estimator framework.
--
249944839 by rathodv:
Modify exporter.py to add multiclass score nodes in exported inference graphs.
--
249935201 by rathodv:
Modify postprocess methods to preserve multiclass scores after non max suppression.
--
249878079 by Zhichao Lu:
This CL slightly refactors some Object Detection helper functions for data creation, evaluation, and groundtruth providing.
This will allow the eager+function custom loops to share code with the existing estimator training loops.
Concretely we make the following changes:
1. In input creation we separate dataset-creation into top-level helpers, and allow it to optionally accept a pre-constructed model directly instead of always creating a model from the config just for feature preprocessing.
2. In coco evaluation we split the update_op creation into its own function, which the custom loops will call directly.
3. In model_lib we move groundtruth providing/ datastructure munging into a helper function
4. For now we put an escape hatch in `_summarize_target_assignment` when executing in tf v2.0 behavior because the summary apis used only work w/ tf 1.x
--
249673507 by rathodv:
Use explicit casts instead of tf.to_float and tf.to_int32 to avoid warnings.
--
249656006 by Zhichao Lu:
Add named "raw_keypoint_locations" node that corresponds with the "raw_box_locations" node.
--
249651674 by rathodv:
Keep proposal boxes in float format. MatMulCropAndResize can handle the type even when feature themselves are bfloat16s.
--
249568633 by rathodv:
Support q > 1 in class agnostic NMS.
Break post_processing_test.py into 3 separate files to avoid linter errors.
--
249535530 by rathodv:
Update some deprecated arguments to tf ops.
--
249368223 by rathodv:
Modify MatMulCropAndResize to use MultiLevelRoIAlign method and move the tests to spatial_transform_ops.py module.
This cl establishes that CropAndResize and RoIAlign are equivalent and only differ in the sampling point grid within the boxes. CropAndResize uses a uniform size x size point grid such that the corner points exactly overlap box corners, while RoiAlign divides boxes into size x size cells and uses their centers as sampling points. In this cl, we switch MatMulCropAndResize to use the MultiLevelRoIAlign implementation with `align_corner` option as MultiLevelRoIAlign implementation is more memory efficient on TPU when compared to the original MatMulCropAndResize.
--
249337338 by chowdhery:
Add class-agnostic non-max-suppression in post_processing
--
249139196 by Zhichao Lu:
Fix positional argument bug in export_tflite_ssd_graph
--
249120219 by Zhichao Lu:
Add evaluator for computing precision limited to a given recall range.
--
249030593 by Zhichao Lu:
Evaluation util to run segmentation and detection challenge evaluation.
--
248554358 by Zhichao Lu:
This change contains the auxiliary changes required for TF 2.0 style training with eager+functions+dist strat loops, but not the loops themselves.
It includes:
- Updates to shape usage to support both tensorshape v1 and tensorshape v2
- A fix to FreezableBatchNorm to not override the `training` arg in call when `None` was passed to the constructor (Not an issue in the estimator loops but it was in the custom loops)
- Puts some constants in init_scope so they work in eager + functions
- Makes learning rate schedules return a callable in eager mode (required so they update when the global_step changes)
- Makes DetectionModel a tf.module so it tracks variables (e.g. ones nested in layers)
- Removes some references to `op.name` for some losses and replaces it w/ explicit names
- A small part of the change to allow the coco evaluation metrics to work in eager mode
--
248271226 by rathodv:
Add MultiLevel RoIAlign op.
--
248229103 by rathodv:
Add functions to 1. pad features maps 2. ravel 5-D indices
--
248206769 by rathodv:
Add utilities needed to introduce RoI Align op.
--
248177733 by pengchong:
Internal changes
--
247742582 by Zhichao Lu:
Open Images Challenge 2019 instance segmentation metric: part 2
--
247525401 by Zhichao Lu:
Update comments on max_class_per_detection.
--
247520753 by rathodv:
Add multilevel crop and resize operation that builds on top of matmul_crop_and_resize.
--
247391600 by Zhichao Lu:
Open Images Challenge 2019 instance segmentation metric
--
247325813 by chowdhery:
Quantized MobileNet v2 SSD FPNLite config with depth multiplier 0.75
--
PiperOrigin-RevId: 250447559
Showing
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment