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.
Please register or sign in to comment