tf-models-nightly 2.17.0.dev20240617__py2.py3-none-any.whl → 2.20.0.dev20251205__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- official/__init__.py +1 -1
- official/common/__init__.py +1 -1
- official/common/dataset_fn.py +1 -1
- official/common/distribute_utils.py +27 -3
- official/common/distribute_utils_test.py +13 -12
- official/common/flags.py +24 -6
- official/common/registry_imports.py +1 -1
- official/common/streamz_counters.py +1 -1
- official/core/__init__.py +1 -1
- official/core/actions.py +1 -1
- official/core/actions_test.py +1 -1
- official/core/base_task.py +1 -1
- official/core/base_trainer.py +1 -1
- official/core/base_trainer_test.py +1 -1
- official/core/config_definitions.py +1 -1
- official/core/exp_factory.py +1 -1
- official/core/export_base.py +1 -1
- official/core/export_base_test.py +1 -1
- official/core/file_writers.py +1 -1
- official/core/file_writers_test.py +1 -1
- official/core/input_reader.py +1 -1
- official/core/registry.py +1 -1
- official/core/registry_test.py +1 -1
- official/core/savedmodel_checkpoint_manager.py +1 -1
- official/core/savedmodel_checkpoint_manager_test.py +1 -1
- official/core/task_factory.py +1 -1
- official/core/test_utils.py +1 -1
- official/core/tf_example_builder.py +1 -1
- official/core/tf_example_builder_test.py +1 -1
- official/core/tf_example_feature_key.py +1 -1
- official/core/tf_example_feature_key_test.py +1 -1
- official/core/train_lib.py +1 -3
- official/core/train_lib_test.py +1 -1
- official/core/train_utils.py +1 -1
- official/core/train_utils_test.py +1 -1
- official/legacy/__init__.py +1 -1
- official/legacy/albert/__init__.py +1 -1
- official/legacy/albert/configs.py +1 -1
- official/legacy/bert/__init__.py +1 -1
- official/legacy/bert/bert_models.py +1 -1
- official/legacy/bert/bert_models_test.py +1 -1
- official/legacy/bert/common_flags.py +1 -1
- official/legacy/bert/configs.py +1 -1
- official/legacy/bert/export_tfhub.py +1 -2
- official/legacy/bert/export_tfhub_test.py +1 -1
- official/legacy/bert/input_pipeline.py +1 -1
- official/legacy/bert/model_saving_utils.py +1 -1
- official/legacy/bert/model_training_utils.py +1 -1
- official/legacy/bert/model_training_utils_test.py +1 -1
- official/legacy/bert/run_classifier.py +1 -2
- official/legacy/bert/run_pretraining.py +1 -2
- official/legacy/bert/run_squad.py +1 -2
- official/legacy/bert/run_squad_helper.py +1 -1
- official/legacy/bert/serving.py +1 -1
- official/legacy/detection/__init__.py +1 -1
- official/legacy/detection/configs/__init__.py +1 -1
- official/legacy/detection/configs/base_config.py +1 -1
- official/legacy/detection/configs/factory.py +1 -1
- official/legacy/detection/configs/maskrcnn_config.py +1 -1
- official/legacy/detection/configs/olnmask_config.py +1 -1
- official/legacy/detection/configs/retinanet_config.py +1 -1
- official/legacy/detection/configs/shapemask_config.py +1 -1
- official/legacy/detection/dataloader/__init__.py +1 -1
- official/legacy/detection/dataloader/anchor.py +1 -1
- official/legacy/detection/dataloader/factory.py +1 -1
- official/legacy/detection/dataloader/input_reader.py +1 -1
- official/legacy/detection/dataloader/maskrcnn_parser.py +1 -1
- official/legacy/detection/dataloader/mode_keys.py +1 -1
- official/legacy/detection/dataloader/olnmask_parser.py +1 -1
- official/legacy/detection/dataloader/retinanet_parser.py +1 -1
- official/legacy/detection/dataloader/shapemask_parser.py +1 -1
- official/legacy/detection/dataloader/tf_example_decoder.py +1 -1
- official/legacy/detection/evaluation/__init__.py +1 -1
- official/legacy/detection/evaluation/coco_evaluator.py +1 -1
- official/legacy/detection/evaluation/coco_utils.py +1 -1
- official/legacy/detection/evaluation/factory.py +1 -1
- official/legacy/detection/executor/__init__.py +1 -1
- official/legacy/detection/executor/detection_executor.py +1 -1
- official/legacy/detection/executor/distributed_executor.py +1 -1
- official/legacy/detection/main.py +1 -1
- official/legacy/detection/modeling/__init__.py +1 -1
- official/legacy/detection/modeling/architecture/__init__.py +1 -1
- official/legacy/detection/modeling/architecture/factory.py +1 -1
- official/legacy/detection/modeling/architecture/fpn.py +1 -1
- official/legacy/detection/modeling/architecture/heads.py +1 -1
- official/legacy/detection/modeling/architecture/identity.py +1 -1
- official/legacy/detection/modeling/architecture/nn_blocks.py +1 -1
- official/legacy/detection/modeling/architecture/nn_ops.py +1 -1
- official/legacy/detection/modeling/architecture/resnet.py +1 -1
- official/legacy/detection/modeling/architecture/spinenet.py +1 -1
- official/legacy/detection/modeling/base_model.py +1 -1
- official/legacy/detection/modeling/checkpoint_utils.py +1 -1
- official/legacy/detection/modeling/factory.py +1 -1
- official/legacy/detection/modeling/learning_rates.py +1 -1
- official/legacy/detection/modeling/losses.py +1 -1
- official/legacy/detection/modeling/maskrcnn_model.py +1 -1
- official/legacy/detection/modeling/olnmask_model.py +1 -1
- official/legacy/detection/modeling/optimizers.py +1 -1
- official/legacy/detection/modeling/retinanet_model.py +1 -1
- official/legacy/detection/modeling/shapemask_model.py +1 -1
- official/legacy/detection/ops/__init__.py +1 -1
- official/legacy/detection/ops/nms.py +1 -1
- official/legacy/detection/ops/postprocess_ops.py +1 -1
- official/legacy/detection/ops/roi_ops.py +1 -1
- official/legacy/detection/ops/spatial_transform_ops.py +1 -1
- official/legacy/detection/ops/target_ops.py +1 -1
- official/legacy/detection/utils/__init__.py +1 -1
- official/legacy/detection/utils/box_utils.py +1 -1
- official/legacy/detection/utils/class_utils.py +1 -1
- official/legacy/detection/utils/dataloader_utils.py +1 -1
- official/legacy/detection/utils/input_utils.py +1 -1
- official/legacy/detection/utils/mask_utils.py +1 -1
- official/legacy/image_classification/__init__.py +1 -1
- official/legacy/image_classification/augment.py +1 -1
- official/legacy/image_classification/augment_test.py +1 -1
- official/legacy/image_classification/callbacks.py +1 -1
- official/legacy/image_classification/classifier_trainer.py +1 -1
- official/legacy/image_classification/classifier_trainer_test.py +1 -1
- official/legacy/image_classification/classifier_trainer_util_test.py +1 -1
- official/legacy/image_classification/configs/__init__.py +1 -1
- official/legacy/image_classification/configs/base_configs.py +1 -1
- official/legacy/image_classification/configs/configs.py +1 -1
- official/legacy/image_classification/dataset_factory.py +1 -1
- official/legacy/image_classification/efficientnet/__init__.py +1 -1
- official/legacy/image_classification/efficientnet/common_modules.py +1 -1
- official/legacy/image_classification/efficientnet/efficientnet_config.py +1 -1
- official/legacy/image_classification/efficientnet/efficientnet_model.py +1 -1
- official/legacy/image_classification/efficientnet/tfhub_export.py +1 -1
- official/legacy/image_classification/learning_rate.py +1 -1
- official/legacy/image_classification/learning_rate_test.py +1 -1
- official/legacy/image_classification/mnist_main.py +1 -2
- official/legacy/image_classification/mnist_test.py +1 -1
- official/legacy/image_classification/optimizer_factory.py +1 -1
- official/legacy/image_classification/optimizer_factory_test.py +1 -1
- official/legacy/image_classification/preprocessing.py +1 -1
- official/legacy/image_classification/resnet/__init__.py +1 -1
- official/legacy/image_classification/resnet/common.py +1 -1
- official/legacy/image_classification/resnet/imagenet_preprocessing.py +1 -1
- official/legacy/image_classification/resnet/resnet_config.py +1 -1
- official/legacy/image_classification/resnet/resnet_ctl_imagenet_main.py +1 -2
- official/legacy/image_classification/resnet/resnet_model.py +1 -1
- official/legacy/image_classification/resnet/resnet_runnable.py +1 -1
- official/legacy/image_classification/resnet/tfhub_export.py +1 -2
- official/legacy/image_classification/test_utils.py +1 -1
- official/legacy/image_classification/vgg/__init__.py +1 -1
- official/legacy/image_classification/vgg/vgg_config.py +1 -1
- official/legacy/image_classification/vgg/vgg_model.py +1 -1
- official/legacy/transformer/__init__.py +1 -1
- official/legacy/transformer/attention_layer.py +1 -1
- official/legacy/transformer/beam_search_v1.py +1 -1
- official/legacy/transformer/compute_bleu.py +1 -1
- official/legacy/transformer/compute_bleu_test.py +1 -1
- official/legacy/transformer/data_download.py +1 -1
- official/legacy/transformer/data_pipeline.py +1 -1
- official/legacy/transformer/embedding_layer.py +1 -1
- official/legacy/transformer/ffn_layer.py +1 -1
- official/legacy/transformer/metrics.py +1 -1
- official/legacy/transformer/misc.py +1 -1
- official/legacy/transformer/model_params.py +1 -1
- official/legacy/transformer/model_utils.py +1 -1
- official/legacy/transformer/model_utils_test.py +1 -1
- official/legacy/transformer/optimizer.py +1 -1
- official/legacy/transformer/transformer.py +1 -1
- official/legacy/transformer/transformer_forward_test.py +1 -1
- official/legacy/transformer/transformer_layers_test.py +1 -1
- official/legacy/transformer/transformer_main.py +1 -5
- official/legacy/transformer/transformer_main_test.py +1 -1
- official/legacy/transformer/transformer_test.py +1 -1
- official/legacy/transformer/translate.py +1 -2
- official/legacy/transformer/utils/__init__.py +1 -1
- official/legacy/transformer/utils/metrics.py +1 -1
- official/legacy/transformer/utils/tokenizer.py +1 -1
- official/legacy/transformer/utils/tokenizer_test.py +1 -1
- official/legacy/xlnet/__init__.py +1 -1
- official/legacy/xlnet/classifier_utils.py +1 -1
- official/legacy/xlnet/common_flags.py +1 -1
- official/legacy/xlnet/data_utils.py +1 -1
- official/legacy/xlnet/optimization.py +1 -1
- official/legacy/xlnet/preprocess_classification_data.py +1 -2
- official/legacy/xlnet/preprocess_pretrain_data.py +1 -2
- official/legacy/xlnet/preprocess_squad_data.py +1 -2
- official/legacy/xlnet/preprocess_utils.py +1 -1
- official/legacy/xlnet/run_classifier.py +1 -2
- official/legacy/xlnet/run_pretrain.py +1 -2
- official/legacy/xlnet/run_squad.py +1 -2
- official/legacy/xlnet/squad_utils.py +1 -1
- official/legacy/xlnet/training_utils.py +1 -1
- official/legacy/xlnet/xlnet_config.py +1 -1
- official/legacy/xlnet/xlnet_modeling.py +1 -1
- official/modeling/__init__.py +1 -1
- official/modeling/activations/__init__.py +1 -1
- official/modeling/activations/gelu.py +1 -1
- official/modeling/activations/gelu_test.py +1 -1
- official/modeling/activations/mish.py +1 -1
- official/modeling/activations/mish_test.py +1 -1
- official/modeling/activations/relu.py +1 -1
- official/modeling/activations/relu_test.py +1 -1
- official/modeling/activations/sigmoid.py +1 -1
- official/modeling/activations/sigmoid_test.py +1 -1
- official/modeling/activations/swish.py +1 -1
- official/modeling/activations/swish_test.py +1 -1
- official/modeling/grad_utils.py +1 -1
- official/modeling/grad_utils_test.py +1 -1
- official/modeling/hyperparams/__init__.py +1 -1
- official/modeling/hyperparams/base_config.py +27 -19
- official/modeling/hyperparams/base_config_test.py +32 -1
- official/modeling/hyperparams/oneof.py +1 -1
- official/modeling/hyperparams/oneof_test.py +1 -1
- official/modeling/hyperparams/params_dict.py +1 -1
- official/modeling/hyperparams/params_dict_test.py +1 -1
- official/modeling/multitask/__init__.py +1 -1
- official/modeling/multitask/base_model.py +1 -1
- official/modeling/multitask/base_trainer.py +1 -1
- official/modeling/multitask/base_trainer_test.py +1 -1
- official/modeling/multitask/configs.py +3 -3
- official/modeling/multitask/evaluator.py +1 -1
- official/modeling/multitask/evaluator_test.py +1 -1
- official/modeling/multitask/interleaving_trainer.py +1 -1
- official/modeling/multitask/interleaving_trainer_test.py +1 -1
- official/modeling/multitask/multitask.py +1 -1
- official/modeling/multitask/task_sampler.py +1 -1
- official/modeling/multitask/task_sampler_test.py +1 -1
- official/modeling/multitask/test_utils.py +1 -1
- official/modeling/multitask/train_lib.py +81 -14
- official/modeling/multitask/train_lib_test.py +1 -1
- official/modeling/optimization/__init__.py +1 -1
- official/modeling/optimization/adafactor_optimizer.py +1 -1
- official/modeling/optimization/configs/__init__.py +1 -1
- official/modeling/optimization/configs/learning_rate_config.py +1 -1
- official/modeling/optimization/configs/optimization_config.py +1 -1
- official/modeling/optimization/configs/optimization_config_test.py +1 -1
- official/modeling/optimization/configs/optimizer_config.py +1 -1
- official/modeling/optimization/ema_optimizer.py +1 -1
- official/modeling/optimization/lamb.py +1 -1
- official/modeling/optimization/lamb_test.py +1 -1
- official/modeling/optimization/lars.py +1 -1
- official/modeling/optimization/legacy_adamw.py +1 -1
- official/modeling/optimization/lr_schedule.py +1 -1
- official/modeling/optimization/lr_schedule_test.py +1 -1
- official/modeling/optimization/optimizer_factory.py +1 -1
- official/modeling/optimization/optimizer_factory_test.py +1 -1
- official/modeling/optimization/slide_optimizer.py +1 -1
- official/modeling/performance.py +1 -1
- official/modeling/privacy/__init__.py +1 -1
- official/modeling/privacy/configs.py +1 -1
- official/modeling/privacy/configs_test.py +1 -1
- official/modeling/privacy/ops.py +1 -1
- official/modeling/privacy/ops_test.py +1 -1
- official/modeling/tf_utils.py +1 -1
- official/modeling/tf_utils_test.py +1 -1
- official/nlp/__init__.py +1 -1
- official/nlp/configs/__init__.py +1 -1
- official/nlp/configs/bert.py +1 -1
- official/nlp/configs/electra.py +1 -1
- official/nlp/configs/encoders.py +1 -1
- official/nlp/configs/encoders_test.py +1 -1
- official/nlp/configs/experiment_configs.py +1 -1
- official/nlp/configs/finetuning_experiments.py +1 -1
- official/nlp/configs/pretraining_experiments.py +1 -1
- official/nlp/configs/wmt_transformer_experiments.py +1 -1
- official/nlp/continuous_finetune_lib.py +1 -1
- official/nlp/continuous_finetune_lib_test.py +1 -1
- official/nlp/data/__init__.py +1 -1
- official/nlp/data/classifier_data_lib.py +1 -1
- official/nlp/data/classifier_data_lib_test.py +1 -1
- official/nlp/data/create_finetuning_data.py +1 -2
- official/nlp/data/create_pretraining_data.py +1 -3
- official/nlp/data/create_pretraining_data_test.py +1 -1
- official/nlp/data/create_xlnet_pretraining_data.py +1 -3
- official/nlp/data/create_xlnet_pretraining_data_test.py +1 -1
- official/nlp/data/data_loader.py +1 -1
- official/nlp/data/data_loader_factory.py +1 -1
- official/nlp/data/data_loader_factory_test.py +1 -1
- official/nlp/data/dual_encoder_dataloader.py +1 -1
- official/nlp/data/dual_encoder_dataloader_test.py +1 -1
- official/nlp/data/pretrain_dataloader.py +1 -1
- official/nlp/data/pretrain_dataloader_test.py +1 -1
- official/nlp/data/pretrain_dynamic_dataloader.py +1 -1
- official/nlp/data/pretrain_dynamic_dataloader_test.py +1 -1
- official/nlp/data/pretrain_text_dataloader.py +1 -1
- official/nlp/data/question_answering_dataloader.py +1 -1
- official/nlp/data/question_answering_dataloader_test.py +1 -1
- official/nlp/data/sentence_prediction_dataloader.py +1 -1
- official/nlp/data/sentence_prediction_dataloader_test.py +1 -1
- official/nlp/data/sentence_retrieval_lib.py +1 -1
- official/nlp/data/squad_lib.py +1 -1
- official/nlp/data/squad_lib_sp.py +1 -1
- official/nlp/data/tagging_data_lib.py +1 -1
- official/nlp/data/tagging_data_lib_test.py +1 -1
- official/nlp/data/tagging_dataloader.py +1 -1
- official/nlp/data/tagging_dataloader_test.py +1 -1
- official/nlp/data/train_sentencepiece.py +1 -1
- official/nlp/data/wmt_dataloader.py +1 -1
- official/nlp/data/wmt_dataloader_test.py +1 -1
- official/nlp/metrics/__init__.py +1 -1
- official/nlp/metrics/bleu.py +1 -1
- official/nlp/metrics/bleu_test.py +1 -1
- official/nlp/modeling/__init__.py +1 -1
- official/nlp/modeling/layers/__init__.py +1 -1
- official/nlp/modeling/layers/attention.py +1 -1
- official/nlp/modeling/layers/attention_test.py +1 -1
- official/nlp/modeling/layers/bigbird_attention.py +1 -1
- official/nlp/modeling/layers/bigbird_attention_test.py +1 -1
- official/nlp/modeling/layers/block_diag_feedforward.py +1 -1
- official/nlp/modeling/layers/block_diag_feedforward_test.py +1 -1
- official/nlp/modeling/layers/block_sparse_attention.py +187 -44
- official/nlp/modeling/layers/block_sparse_attention_test.py +137 -7
- official/nlp/modeling/layers/cls_head.py +1 -1
- official/nlp/modeling/layers/cls_head_test.py +1 -1
- official/nlp/modeling/layers/factorized_embedding.py +1 -1
- official/nlp/modeling/layers/factorized_embedding_test.py +1 -1
- official/nlp/modeling/layers/gated_feedforward.py +2 -2
- official/nlp/modeling/layers/gated_feedforward_test.py +1 -1
- official/nlp/modeling/layers/gaussian_process.py +1 -1
- official/nlp/modeling/layers/gaussian_process_test.py +1 -1
- official/nlp/modeling/layers/kernel_attention.py +1 -1
- official/nlp/modeling/layers/kernel_attention_test.py +1 -1
- official/nlp/modeling/layers/masked_lm.py +1 -1
- official/nlp/modeling/layers/masked_lm_test.py +1 -1
- official/nlp/modeling/layers/masked_softmax.py +1 -1
- official/nlp/modeling/layers/masked_softmax_test.py +1 -1
- official/nlp/modeling/layers/mat_mul_with_margin.py +1 -2
- official/nlp/modeling/layers/mat_mul_with_margin_test.py +1 -1
- official/nlp/modeling/layers/mixing.py +1 -1
- official/nlp/modeling/layers/mixing_test.py +1 -1
- official/nlp/modeling/layers/mobile_bert_layers.py +1 -1
- official/nlp/modeling/layers/mobile_bert_layers_test.py +1 -1
- official/nlp/modeling/layers/moe.py +1 -1
- official/nlp/modeling/layers/moe_test.py +1 -1
- official/nlp/modeling/layers/multi_channel_attention.py +1 -1
- official/nlp/modeling/layers/multi_channel_attention_test.py +1 -1
- official/nlp/modeling/layers/multi_query_attention.py +222 -4
- official/nlp/modeling/layers/multi_query_attention_test.py +201 -1
- official/nlp/modeling/layers/on_device_embedding.py +1 -1
- official/nlp/modeling/layers/on_device_embedding_test.py +1 -1
- official/nlp/modeling/layers/pack_optimization.py +1 -1
- official/nlp/modeling/layers/pack_optimization_test.py +1 -1
- official/nlp/modeling/layers/per_dim_scale_attention.py +1 -1
- official/nlp/modeling/layers/per_dim_scale_attention_test.py +1 -1
- official/nlp/modeling/layers/position_embedding.py +1 -1
- official/nlp/modeling/layers/position_embedding_test.py +1 -1
- official/nlp/modeling/layers/relative_attention.py +1 -1
- official/nlp/modeling/layers/relative_attention_test.py +1 -1
- official/nlp/modeling/layers/reuse_attention.py +1 -1
- official/nlp/modeling/layers/reuse_attention_test.py +1 -1
- official/nlp/modeling/layers/reuse_transformer.py +1 -1
- official/nlp/modeling/layers/reuse_transformer_test.py +1 -1
- official/nlp/modeling/layers/rezero_transformer.py +20 -1
- official/nlp/modeling/layers/rezero_transformer_test.py +1 -1
- official/nlp/modeling/layers/routing.py +1 -1
- official/nlp/modeling/layers/routing_test.py +1 -1
- official/nlp/modeling/layers/self_attention_mask.py +1 -1
- official/nlp/modeling/layers/spectral_normalization.py +1 -1
- official/nlp/modeling/layers/spectral_normalization_test.py +1 -1
- official/nlp/modeling/layers/talking_heads_attention.py +1 -1
- official/nlp/modeling/layers/talking_heads_attention_test.py +1 -1
- official/nlp/modeling/layers/text_layers.py +1 -1
- official/nlp/modeling/layers/text_layers_test.py +1 -1
- official/nlp/modeling/layers/tn_expand_condense.py +1 -1
- official/nlp/modeling/layers/tn_expand_condense_test.py +1 -1
- official/nlp/modeling/layers/tn_transformer_expand_condense.py +1 -3
- official/nlp/modeling/layers/tn_transformer_test.py +1 -1
- official/nlp/modeling/layers/transformer.py +1 -1
- official/nlp/modeling/layers/transformer_encoder_block.py +273 -52
- official/nlp/modeling/layers/transformer_encoder_block_test.py +215 -11
- official/nlp/modeling/layers/transformer_scaffold.py +1 -1
- official/nlp/modeling/layers/transformer_scaffold_test.py +1 -1
- official/nlp/modeling/layers/transformer_test.py +1 -1
- official/nlp/modeling/layers/transformer_xl.py +1 -1
- official/nlp/modeling/layers/transformer_xl_test.py +1 -1
- official/nlp/modeling/layers/util.py +1 -1
- official/nlp/modeling/losses/__init__.py +1 -1
- official/nlp/modeling/losses/weighted_sparse_categorical_crossentropy.py +1 -1
- official/nlp/modeling/losses/weighted_sparse_categorical_crossentropy_test.py +1 -1
- official/nlp/modeling/models/__init__.py +1 -1
- official/nlp/modeling/models/bert_classifier.py +1 -1
- official/nlp/modeling/models/bert_classifier_test.py +1 -1
- official/nlp/modeling/models/bert_pretrainer.py +1 -1
- official/nlp/modeling/models/bert_pretrainer_test.py +1 -1
- official/nlp/modeling/models/bert_span_labeler.py +1 -1
- official/nlp/modeling/models/bert_span_labeler_test.py +1 -1
- official/nlp/modeling/models/bert_token_classifier.py +1 -1
- official/nlp/modeling/models/bert_token_classifier_test.py +1 -1
- official/nlp/modeling/models/dual_encoder.py +1 -1
- official/nlp/modeling/models/dual_encoder_test.py +1 -1
- official/nlp/modeling/models/electra_pretrainer.py +1 -1
- official/nlp/modeling/models/electra_pretrainer_test.py +1 -1
- official/nlp/modeling/models/seq2seq_transformer.py +1 -1
- official/nlp/modeling/models/seq2seq_transformer_test.py +1 -1
- official/nlp/modeling/models/t5.py +1 -1
- official/nlp/modeling/models/t5_test.py +1 -1
- official/nlp/modeling/models/xlnet.py +1 -1
- official/nlp/modeling/models/xlnet_test.py +1 -1
- official/nlp/modeling/networks/__init__.py +1 -1
- official/nlp/modeling/networks/albert_encoder.py +1 -1
- official/nlp/modeling/networks/albert_encoder_test.py +1 -1
- official/nlp/modeling/networks/bert_dense_encoder_test.py +1 -2
- official/nlp/modeling/networks/bert_encoder.py +1 -1
- official/nlp/modeling/networks/bert_encoder_test.py +1 -2
- official/nlp/modeling/networks/classification.py +1 -1
- official/nlp/modeling/networks/classification_test.py +1 -1
- official/nlp/modeling/networks/encoder_scaffold.py +1 -1
- official/nlp/modeling/networks/encoder_scaffold_test.py +1 -1
- official/nlp/modeling/networks/fnet.py +1 -1
- official/nlp/modeling/networks/fnet_test.py +1 -1
- official/nlp/modeling/networks/funnel_transformer.py +1 -1
- official/nlp/modeling/networks/funnel_transformer_test.py +1 -1
- official/nlp/modeling/networks/mobile_bert_encoder.py +6 -4
- official/nlp/modeling/networks/mobile_bert_encoder_test.py +1 -1
- official/nlp/modeling/networks/packed_sequence_embedding.py +1 -1
- official/nlp/modeling/networks/packed_sequence_embedding_test.py +1 -3
- official/nlp/modeling/networks/span_labeling.py +1 -1
- official/nlp/modeling/networks/span_labeling_test.py +1 -1
- official/nlp/modeling/networks/sparse_mixer.py +1 -1
- official/nlp/modeling/networks/sparse_mixer_test.py +1 -1
- official/nlp/modeling/networks/xlnet_base.py +1 -1
- official/nlp/modeling/networks/xlnet_base_test.py +1 -1
- official/nlp/modeling/ops/__init__.py +1 -1
- official/nlp/modeling/ops/beam_search.py +1 -1
- official/nlp/modeling/ops/beam_search_test.py +1 -1
- official/nlp/modeling/ops/decoding_module.py +1 -1
- official/nlp/modeling/ops/decoding_module_test.py +1 -1
- official/nlp/modeling/ops/sampling_module.py +3 -3
- official/nlp/modeling/ops/segment_extractor.py +1 -1
- official/nlp/modeling/ops/segment_extractor_test.py +1 -1
- official/nlp/optimization.py +1 -1
- official/nlp/serving/__init__.py +1 -1
- official/nlp/serving/export_savedmodel.py +1 -1
- official/nlp/serving/export_savedmodel_test.py +1 -1
- official/nlp/serving/export_savedmodel_util.py +1 -1
- official/nlp/serving/serving_modules.py +1 -1
- official/nlp/serving/serving_modules_test.py +1 -1
- official/nlp/tasks/__init__.py +1 -1
- official/nlp/tasks/dual_encoder.py +1 -2
- official/nlp/tasks/dual_encoder_test.py +1 -1
- official/nlp/tasks/electra_task.py +1 -1
- official/nlp/tasks/electra_task_test.py +1 -1
- official/nlp/tasks/masked_lm.py +1 -1
- official/nlp/tasks/masked_lm_determinism_test.py +1 -1
- official/nlp/tasks/masked_lm_test.py +1 -1
- official/nlp/tasks/question_answering.py +1 -1
- official/nlp/tasks/question_answering_test.py +1 -1
- official/nlp/tasks/sentence_prediction.py +1 -1
- official/nlp/tasks/sentence_prediction_test.py +1 -1
- official/nlp/tasks/tagging.py +1 -1
- official/nlp/tasks/tagging_test.py +1 -1
- official/nlp/tasks/translation.py +1 -1
- official/nlp/tasks/translation_test.py +1 -1
- official/nlp/tasks/utils.py +1 -1
- official/nlp/tools/__init__.py +1 -1
- official/nlp/tools/export_tfhub.py +1 -1
- official/nlp/tools/export_tfhub_lib.py +1 -2
- official/nlp/tools/export_tfhub_lib_test.py +1 -1
- official/nlp/tools/squad_evaluate_v1_1.py +1 -1
- official/nlp/tools/squad_evaluate_v2_0.py +1 -1
- official/nlp/tools/tf1_bert_checkpoint_converter_lib.py +1 -1
- official/nlp/tools/tf2_albert_encoder_checkpoint_converter.py +1 -1
- official/nlp/tools/tf2_bert_encoder_checkpoint_converter.py +1 -1
- official/nlp/tools/tokenization.py +1 -1
- official/nlp/tools/tokenization_test.py +1 -1
- official/nlp/train.py +1 -1
- official/projects/__init__.py +1 -1
- official/projects/bigbird/__init__.py +1 -1
- official/projects/bigbird/encoder.py +1 -1
- official/projects/bigbird/encoder_test.py +1 -1
- official/projects/bigbird/experiment_configs.py +1 -1
- official/projects/bigbird/recompute_grad.py +1 -1
- official/projects/bigbird/recomputing_dropout.py +1 -1
- official/projects/bigbird/stateless_dropout.py +1 -1
- official/projects/centernet/__init__.py +1 -1
- official/projects/centernet/common/__init__.py +1 -1
- official/projects/centernet/common/registry_imports.py +1 -1
- official/projects/centernet/configs/__init__.py +1 -1
- official/projects/centernet/configs/backbones.py +1 -1
- official/projects/centernet/configs/centernet.py +1 -1
- official/projects/centernet/configs/centernet_test.py +1 -1
- official/projects/centernet/dataloaders/__init__.py +1 -1
- official/projects/centernet/dataloaders/centernet_input.py +1 -1
- official/projects/centernet/losses/__init__.py +1 -1
- official/projects/centernet/losses/centernet_losses.py +1 -1
- official/projects/centernet/losses/centernet_losses_test.py +1 -1
- official/projects/centernet/modeling/__init__.py +1 -1
- official/projects/centernet/modeling/backbones/__init__.py +1 -1
- official/projects/centernet/modeling/backbones/hourglass.py +1 -1
- official/projects/centernet/modeling/backbones/hourglass_test.py +1 -1
- official/projects/centernet/modeling/centernet_model.py +2 -2
- official/projects/centernet/modeling/centernet_model_test.py +1 -1
- official/projects/centernet/modeling/heads/__init__.py +1 -1
- official/projects/centernet/modeling/heads/centernet_head.py +2 -2
- official/projects/centernet/modeling/heads/centernet_head_test.py +1 -1
- official/projects/centernet/modeling/layers/__init__.py +1 -1
- official/projects/centernet/modeling/layers/cn_nn_blocks.py +1 -1
- official/projects/centernet/modeling/layers/cn_nn_blocks_test.py +1 -1
- official/projects/centernet/modeling/layers/detection_generator.py +1 -1
- official/projects/centernet/modeling/layers/detection_generator_test.py +1 -1
- official/projects/centernet/ops/__init__.py +1 -1
- official/projects/centernet/ops/box_list.py +1 -1
- official/projects/centernet/ops/box_list_ops.py +1 -1
- official/projects/centernet/ops/loss_ops.py +1 -1
- official/projects/centernet/ops/nms_ops.py +1 -1
- official/projects/centernet/ops/preprocess_ops.py +1 -1
- official/projects/centernet/ops/target_assigner.py +1 -1
- official/projects/centernet/ops/target_assigner_test.py +1 -1
- official/projects/centernet/tasks/__init__.py +1 -1
- official/projects/centernet/tasks/centernet.py +1 -1
- official/projects/centernet/train.py +1 -1
- official/projects/centernet/utils/__init__.py +1 -1
- official/projects/centernet/utils/checkpoints/__init__.py +1 -1
- official/projects/centernet/utils/checkpoints/config_classes.py +1 -1
- official/projects/centernet/utils/checkpoints/config_data.py +1 -1
- official/projects/centernet/utils/checkpoints/load_weights.py +1 -1
- official/projects/centernet/utils/checkpoints/read_checkpoints.py +1 -1
- official/projects/centernet/utils/tf2_centernet_checkpoint_converter.py +1 -1
- official/projects/deepmac_maskrcnn/__init__.py +1 -1
- official/projects/deepmac_maskrcnn/common/__init__.py +1 -1
- official/projects/deepmac_maskrcnn/common/registry_imports.py +1 -1
- official/projects/deepmac_maskrcnn/configs/__init__.py +1 -1
- official/projects/deepmac_maskrcnn/configs/deep_mask_head_rcnn.py +1 -1
- official/projects/deepmac_maskrcnn/configs/deep_mask_head_rcnn_config_test.py +1 -1
- official/projects/deepmac_maskrcnn/modeling/__init__.py +1 -1
- official/projects/deepmac_maskrcnn/modeling/heads/__init__.py +1 -1
- official/projects/deepmac_maskrcnn/modeling/heads/hourglass_network.py +1 -1
- official/projects/deepmac_maskrcnn/modeling/heads/instance_heads.py +1 -3
- official/projects/deepmac_maskrcnn/modeling/heads/instance_heads_test.py +1 -2
- official/projects/deepmac_maskrcnn/modeling/maskrcnn_model.py +1 -3
- official/projects/deepmac_maskrcnn/modeling/maskrcnn_model_test.py +1 -3
- official/projects/deepmac_maskrcnn/serving/__init__.py +1 -1
- official/projects/deepmac_maskrcnn/serving/detection.py +1 -1
- official/projects/deepmac_maskrcnn/serving/detection_test.py +1 -1
- official/projects/deepmac_maskrcnn/serving/export_saved_model.py +1 -1
- official/projects/deepmac_maskrcnn/tasks/__init__.py +1 -1
- official/projects/deepmac_maskrcnn/tasks/deep_mask_head_rcnn.py +1 -1
- official/projects/deepmac_maskrcnn/train.py +1 -1
- official/projects/detr/__init__.py +14 -0
- official/projects/detr/configs/__init__.py +14 -0
- official/projects/detr/configs/detr.py +277 -0
- official/projects/detr/configs/detr_test.py +51 -0
- official/projects/detr/dataloaders/__init__.py +14 -0
- official/projects/detr/dataloaders/coco.py +157 -0
- official/projects/detr/dataloaders/coco_test.py +111 -0
- official/projects/detr/dataloaders/detr_input.py +175 -0
- official/projects/detr/experiments/__init__.py +14 -0
- official/projects/detr/modeling/__init__.py +14 -0
- official/projects/detr/modeling/detr.py +345 -0
- official/projects/detr/modeling/detr_test.py +70 -0
- official/projects/detr/modeling/transformer.py +849 -0
- official/projects/detr/modeling/transformer_test.py +263 -0
- official/projects/detr/ops/__init__.py +14 -0
- official/projects/detr/ops/matchers.py +489 -0
- official/projects/detr/ops/matchers_test.py +95 -0
- official/projects/detr/optimization.py +151 -0
- official/projects/detr/serving/__init__.py +14 -0
- official/projects/detr/serving/export_module.py +103 -0
- official/projects/detr/serving/export_module_test.py +98 -0
- official/projects/detr/serving/export_saved_model.py +109 -0
- official/projects/detr/tasks/__init__.py +14 -0
- official/projects/detr/tasks/detection.py +433 -0
- official/projects/detr/tasks/detection_test.py +203 -0
- official/projects/detr/train.py +70 -0
- official/projects/maskconver/__init__.py +14 -0
- official/projects/maskconver/configs/__init__.py +14 -0
- official/projects/maskconver/configs/backbones.py +43 -0
- official/projects/maskconver/configs/decoders.py +36 -0
- official/projects/maskconver/configs/maskconver.py +523 -0
- official/projects/maskconver/configs/multiscale_maskconver.py +215 -0
- official/projects/maskconver/tasks/__init__.py +14 -0
- official/projects/maskconver/tasks/maskconver.py +641 -0
- official/projects/maskconver/tasks/multiscale_maskconver.py +278 -0
- official/projects/maskconver/train.py +30 -0
- official/projects/maxvit/__init__.py +1 -1
- official/projects/maxvit/configs/__init__.py +1 -1
- official/projects/maxvit/configs/backbones.py +1 -1
- official/projects/maxvit/configs/image_classification.py +1 -1
- official/projects/maxvit/configs/image_classification_test.py +1 -1
- official/projects/maxvit/configs/rcnn.py +1 -1
- official/projects/maxvit/configs/rcnn_test.py +1 -1
- official/projects/maxvit/configs/retinanet.py +1 -1
- official/projects/maxvit/configs/retinanet_test.py +1 -1
- official/projects/maxvit/configs/semantic_segmentation.py +1 -1
- official/projects/maxvit/configs/semantic_segmentation_test.py +1 -1
- official/projects/maxvit/modeling/__init__.py +1 -1
- official/projects/maxvit/modeling/common_ops.py +14 -1
- official/projects/maxvit/modeling/layers.py +1 -1
- official/projects/maxvit/modeling/maxvit.py +2 -2
- official/projects/maxvit/modeling/maxvit_test.py +1 -1
- official/projects/maxvit/registry_imports.py +1 -1
- official/projects/maxvit/train.py +1 -1
- official/projects/maxvit/train_test.py +1 -1
- official/projects/mobilebert/__init__.py +1 -1
- official/projects/mobilebert/distillation.py +1 -1
- official/projects/mobilebert/distillation_test.py +1 -1
- official/projects/mobilebert/export_tfhub.py +1 -1
- official/projects/mobilebert/model_utils.py +1 -1
- official/projects/mobilebert/run_distillation.py +1 -1
- official/projects/mobilebert/tf2_model_checkpoint_converter.py +1 -1
- official/projects/mobilebert/utils.py +1 -1
- official/projects/movinet/__init__.py +1 -1
- official/projects/movinet/configs/__init__.py +1 -1
- official/projects/movinet/configs/movinet.py +1 -1
- official/projects/movinet/configs/movinet_test.py +1 -1
- official/projects/movinet/modeling/__init__.py +1 -1
- official/projects/movinet/modeling/movinet.py +1 -1
- official/projects/movinet/modeling/movinet_layers.py +1 -1
- official/projects/movinet/modeling/movinet_layers_test.py +1 -1
- official/projects/movinet/modeling/movinet_model.py +1 -1
- official/projects/movinet/modeling/movinet_model_test.py +1 -1
- official/projects/movinet/modeling/movinet_test.py +1 -1
- official/projects/movinet/tools/__init__.py +1 -1
- official/projects/movinet/tools/convert_3d_2plus1d.py +1 -1
- official/projects/movinet/tools/convert_3d_2plus1d_test.py +1 -1
- official/projects/movinet/tools/export_saved_model.py +1 -1
- official/projects/movinet/tools/export_saved_model_test.py +6 -3
- official/projects/movinet/tools/quantize_movinet.py +1 -1
- official/projects/movinet/train.py +1 -1
- official/projects/movinet/train_test.py +1 -1
- official/projects/nhnet/__init__.py +1 -1
- official/projects/nhnet/configs.py +1 -1
- official/projects/nhnet/configs_test.py +1 -1
- official/projects/nhnet/decoder.py +1 -1
- official/projects/nhnet/decoder_test.py +1 -1
- official/projects/nhnet/evaluation.py +1 -3
- official/projects/nhnet/input_pipeline.py +1 -1
- official/projects/nhnet/models.py +1 -1
- official/projects/nhnet/models_test.py +1 -1
- official/projects/nhnet/optimizer.py +1 -1
- official/projects/nhnet/raw_data_process.py +1 -1
- official/projects/nhnet/raw_data_processor.py +1 -1
- official/projects/nhnet/trainer.py +1 -6
- official/projects/nhnet/trainer_test.py +1 -1
- official/projects/nhnet/utils.py +1 -1
- official/projects/panoptic/__init__.py +1 -1
- official/projects/panoptic/configs/__init__.py +1 -1
- official/projects/panoptic/configs/panoptic_deeplab.py +5 -6
- official/projects/panoptic/configs/panoptic_maskrcnn.py +1 -1
- official/projects/panoptic/tasks/__init__.py +1 -1
- official/projects/panoptic/tasks/panoptic_deeplab.py +1 -1
- official/projects/panoptic/tasks/panoptic_maskrcnn.py +3 -1
- official/projects/panoptic/train.py +1 -1
- official/projects/qat/__init__.py +1 -1
- official/projects/qat/nlp/__init__.py +1 -1
- official/projects/qat/nlp/configs/__init__.py +1 -1
- official/projects/qat/nlp/configs/finetuning_experiments.py +1 -1
- official/projects/qat/nlp/modeling/__init__.py +1 -1
- official/projects/qat/nlp/modeling/layers/__init__.py +1 -1
- official/projects/qat/nlp/modeling/layers/mobile_bert_layers.py +1 -1
- official/projects/qat/nlp/modeling/layers/multi_head_attention.py +1 -1
- official/projects/qat/nlp/modeling/layers/transformer_encoder_block.py +1 -1
- official/projects/qat/nlp/modeling/layers/transformer_encoder_block_test.py +1 -1
- official/projects/qat/nlp/modeling/models/__init__.py +1 -1
- official/projects/qat/nlp/modeling/models/bert_span_labeler.py +1 -1
- official/projects/qat/nlp/modeling/networks/__init__.py +1 -1
- official/projects/qat/nlp/modeling/networks/span_labeling.py +1 -1
- official/projects/qat/nlp/pretrained_checkpoint_converter.py +1 -3
- official/projects/qat/nlp/quantization/__init__.py +1 -1
- official/projects/qat/nlp/quantization/configs.py +1 -1
- official/projects/qat/nlp/quantization/configs_test.py +1 -2
- official/projects/qat/nlp/quantization/helper.py +1 -1
- official/projects/qat/nlp/quantization/schemes.py +1 -3
- official/projects/qat/nlp/quantization/wrappers.py +1 -1
- official/projects/qat/nlp/registry_imports.py +1 -1
- official/projects/qat/nlp/tasks/__init__.py +1 -1
- official/projects/qat/nlp/tasks/question_answering.py +1 -1
- official/projects/qat/nlp/tasks/question_answering_test.py +1 -1
- official/projects/qat/nlp/train.py +1 -1
- official/projects/qat/vision/__init__.py +1 -1
- official/projects/qat/vision/configs/__init__.py +1 -1
- official/projects/qat/vision/configs/common.py +1 -1
- official/projects/qat/vision/configs/image_classification.py +1 -1
- official/projects/qat/vision/configs/image_classification_test.py +1 -1
- official/projects/qat/vision/configs/retinanet.py +1 -1
- official/projects/qat/vision/configs/retinanet_test.py +1 -1
- official/projects/qat/vision/configs/semantic_segmentation.py +1 -1
- official/projects/qat/vision/configs/semantic_segmentation_test.py +1 -1
- official/projects/qat/vision/modeling/__init__.py +1 -1
- official/projects/qat/vision/modeling/factory.py +1 -3
- official/projects/qat/vision/modeling/factory_test.py +1 -3
- official/projects/qat/vision/modeling/heads/__init__.py +1 -1
- official/projects/qat/vision/modeling/heads/dense_prediction_heads.py +1 -3
- official/projects/qat/vision/modeling/heads/dense_prediction_heads_test.py +1 -2
- official/projects/qat/vision/modeling/layers/__init__.py +1 -1
- official/projects/qat/vision/modeling/layers/nn_blocks.py +1 -3
- official/projects/qat/vision/modeling/layers/nn_blocks_test.py +1 -2
- official/projects/qat/vision/modeling/layers/nn_layers.py +2 -2
- official/projects/qat/vision/modeling/layers/nn_layers_test.py +1 -2
- official/projects/qat/vision/modeling/segmentation_model.py +1 -2
- official/projects/qat/vision/n_bit/__init__.py +1 -1
- official/projects/qat/vision/n_bit/configs.py +1 -1
- official/projects/qat/vision/n_bit/configs_test.py +1 -3
- official/projects/qat/vision/n_bit/nn_blocks.py +1 -3
- official/projects/qat/vision/n_bit/nn_blocks_test.py +1 -2
- official/projects/qat/vision/n_bit/nn_layers.py +1 -1
- official/projects/qat/vision/n_bit/schemes.py +1 -3
- official/projects/qat/vision/quantization/__init__.py +1 -1
- official/projects/qat/vision/quantization/configs.py +1 -1
- official/projects/qat/vision/quantization/configs_test.py +1 -3
- official/projects/qat/vision/quantization/helper.py +1 -1
- official/projects/qat/vision/quantization/helper_test.py +1 -1
- official/projects/qat/vision/quantization/layer_transforms.py +1 -1
- official/projects/qat/vision/quantization/schemes.py +1 -3
- official/projects/qat/vision/registry_imports.py +1 -1
- official/projects/qat/vision/serving/__init__.py +1 -1
- official/projects/qat/vision/serving/export_module.py +1 -1
- official/projects/qat/vision/serving/export_saved_model.py +1 -1
- official/projects/qat/vision/serving/export_tflite.py +1 -1
- official/projects/qat/vision/tasks/__init__.py +1 -1
- official/projects/qat/vision/tasks/image_classification.py +1 -1
- official/projects/qat/vision/tasks/image_classification_test.py +1 -1
- official/projects/qat/vision/tasks/retinanet.py +1 -1
- official/projects/qat/vision/tasks/retinanet_test.py +1 -1
- official/projects/qat/vision/tasks/semantic_segmentation.py +1 -1
- official/projects/qat/vision/train.py +1 -1
- official/projects/roformer/__init__.py +1 -1
- official/projects/roformer/roformer.py +1 -1
- official/projects/roformer/roformer_attention.py +1 -1
- official/projects/roformer/roformer_attention_test.py +1 -1
- official/projects/roformer/roformer_encoder.py +1 -1
- official/projects/roformer/roformer_encoder_block.py +1 -1
- official/projects/roformer/roformer_encoder_block_test.py +1 -1
- official/projects/roformer/roformer_encoder_test.py +1 -1
- official/projects/roformer/roformer_experiments.py +1 -1
- official/projects/roformer/train.py +1 -1
- official/projects/teams/__init__.py +1 -1
- official/projects/teams/teams.py +1 -1
- official/projects/teams/teams_experiments.py +1 -1
- official/projects/teams/teams_pretrainer.py +1 -1
- official/projects/teams/teams_pretrainer_test.py +1 -1
- official/projects/teams/teams_task.py +1 -1
- official/projects/teams/teams_task_test.py +1 -1
- official/projects/teams/train.py +1 -1
- official/projects/triviaqa/__init__.py +1 -1
- official/projects/triviaqa/dataset.py +1 -1
- official/projects/triviaqa/download_and_prepare.py +1 -1
- official/projects/triviaqa/evaluate.py +1 -1
- official/projects/triviaqa/evaluation.py +1 -1
- official/projects/triviaqa/inputs.py +1 -1
- official/projects/triviaqa/modeling.py +1 -1
- official/projects/triviaqa/predict.py +1 -1
- official/projects/triviaqa/prediction.py +1 -1
- official/projects/triviaqa/preprocess.py +1 -1
- official/projects/triviaqa/sentencepiece_pb2.py +1 -1
- official/projects/triviaqa/train.py +1 -1
- official/projects/video_ssl/__init__.py +1 -1
- official/projects/video_ssl/configs/__init__.py +1 -1
- official/projects/video_ssl/configs/video_ssl.py +1 -1
- official/projects/video_ssl/configs/video_ssl_test.py +1 -1
- official/projects/video_ssl/dataloaders/__init__.py +1 -1
- official/projects/video_ssl/dataloaders/video_ssl_input.py +1 -1
- official/projects/video_ssl/dataloaders/video_ssl_input_test.py +1 -2
- official/projects/video_ssl/losses/__init__.py +1 -1
- official/projects/video_ssl/losses/losses.py +1 -2
- official/projects/video_ssl/modeling/__init__.py +1 -1
- official/projects/video_ssl/modeling/video_ssl_model.py +1 -3
- official/projects/video_ssl/ops/__init__.py +1 -1
- official/projects/video_ssl/ops/video_ssl_preprocess_ops.py +1 -1
- official/projects/video_ssl/ops/video_ssl_preprocess_ops_test.py +1 -1
- official/projects/video_ssl/tasks/__init__.py +1 -1
- official/projects/video_ssl/tasks/linear_eval.py +1 -1
- official/projects/video_ssl/tasks/pretrain.py +1 -1
- official/projects/video_ssl/tasks/pretrain_test.py +1 -1
- official/projects/video_ssl/train.py +1 -1
- official/projects/volumetric_models/__init__.py +1 -1
- official/projects/volumetric_models/configs/__init__.py +1 -1
- official/projects/volumetric_models/configs/backbones.py +1 -1
- official/projects/volumetric_models/configs/decoders.py +1 -1
- official/projects/volumetric_models/configs/semantic_segmentation_3d.py +1 -1
- official/projects/volumetric_models/configs/semantic_segmentation_3d_test.py +1 -1
- official/projects/volumetric_models/dataloaders/__init__.py +1 -1
- official/projects/volumetric_models/dataloaders/segmentation_input_3d.py +1 -1
- official/projects/volumetric_models/dataloaders/segmentation_input_3d_test.py +1 -1
- official/projects/volumetric_models/evaluation/__init__.py +1 -1
- official/projects/volumetric_models/evaluation/segmentation_metrics.py +1 -1
- official/projects/volumetric_models/evaluation/segmentation_metrics_test.py +1 -1
- official/projects/volumetric_models/losses/__init__.py +1 -1
- official/projects/volumetric_models/losses/segmentation_losses.py +1 -1
- official/projects/volumetric_models/losses/segmentation_losses_test.py +1 -1
- official/projects/volumetric_models/modeling/__init__.py +1 -1
- official/projects/volumetric_models/modeling/backbones/__init__.py +1 -1
- official/projects/volumetric_models/modeling/backbones/unet_3d.py +1 -2
- official/projects/volumetric_models/modeling/backbones/unet_3d_test.py +1 -2
- official/projects/volumetric_models/modeling/decoders/__init__.py +1 -1
- official/projects/volumetric_models/modeling/decoders/factory.py +1 -3
- official/projects/volumetric_models/modeling/decoders/factory_test.py +1 -1
- official/projects/volumetric_models/modeling/decoders/unet_3d_decoder.py +1 -1
- official/projects/volumetric_models/modeling/decoders/unet_3d_decoder_test.py +1 -2
- official/projects/volumetric_models/modeling/factory.py +1 -3
- official/projects/volumetric_models/modeling/factory_test.py +1 -1
- official/projects/volumetric_models/modeling/heads/__init__.py +1 -1
- official/projects/volumetric_models/modeling/heads/segmentation_heads_3d.py +1 -1
- official/projects/volumetric_models/modeling/heads/segmentation_heads_3d_test.py +1 -1
- official/projects/volumetric_models/modeling/nn_blocks_3d.py +2 -3
- official/projects/volumetric_models/modeling/nn_blocks_3d_test.py +1 -2
- official/projects/volumetric_models/modeling/segmentation_model_test.py +1 -1
- official/projects/volumetric_models/registry_imports.py +1 -1
- official/projects/volumetric_models/serving/__init__.py +1 -1
- official/projects/volumetric_models/serving/export_saved_model.py +1 -1
- official/projects/volumetric_models/serving/semantic_segmentation_3d.py +1 -1
- official/projects/volumetric_models/serving/semantic_segmentation_3d_test.py +3 -3
- official/projects/volumetric_models/tasks/__init__.py +1 -1
- official/projects/volumetric_models/tasks/semantic_segmentation_3d.py +1 -1
- official/projects/volumetric_models/tasks/semantic_segmentation_3d_test.py +1 -1
- official/projects/volumetric_models/train.py +1 -1
- official/projects/volumetric_models/train_test.py +1 -1
- official/projects/waste_identification_ml/__init__.py +1 -1
- official/projects/waste_identification_ml/data_generation/__init__.py +1 -1
- official/projects/waste_identification_ml/data_generation/utils.py +1 -1
- official/projects/waste_identification_ml/data_generation/utils_test.py +1 -1
- official/projects/yolo/__init__.py +1 -1
- official/projects/yolo/common/__init__.py +1 -1
- official/projects/yolo/common/registry_imports.py +1 -1
- official/projects/yolo/configs/__init__.py +1 -1
- official/projects/yolo/configs/backbones.py +1 -1
- official/projects/yolo/configs/darknet_classification.py +1 -1
- official/projects/yolo/configs/decoders.py +1 -1
- official/projects/yolo/configs/yolo.py +1 -1
- official/projects/yolo/configs/yolov7.py +17 -1
- official/projects/yolo/dataloaders/__init__.py +1 -1
- official/projects/yolo/dataloaders/classification_input.py +1 -1
- official/projects/yolo/dataloaders/tf_example_decoder.py +1 -1
- official/projects/yolo/dataloaders/yolo_input.py +1 -1
- official/projects/yolo/losses/__init__.py +1 -1
- official/projects/yolo/losses/yolo_loss.py +1 -1
- official/projects/yolo/losses/yolo_loss_test.py +1 -1
- official/projects/yolo/losses/yolov7_loss.py +1 -1
- official/projects/yolo/losses/yolov7_loss_test.py +1 -1
- official/projects/yolo/modeling/__init__.py +1 -1
- official/projects/yolo/modeling/backbones/__init__.py +1 -1
- official/projects/yolo/modeling/backbones/darknet.py +1 -1
- official/projects/yolo/modeling/backbones/darknet_test.py +1 -1
- official/projects/yolo/modeling/backbones/yolov7.py +69 -1
- official/projects/yolo/modeling/backbones/yolov7_test.py +1 -1
- official/projects/yolo/modeling/decoders/__init__.py +1 -1
- official/projects/yolo/modeling/decoders/yolo_decoder.py +1 -1
- official/projects/yolo/modeling/decoders/yolo_decoder_test.py +1 -2
- official/projects/yolo/modeling/decoders/yolov7.py +90 -1
- official/projects/yolo/modeling/decoders/yolov7_test.py +1 -1
- official/projects/yolo/modeling/factory.py +1 -1
- official/projects/yolo/modeling/factory_test.py +1 -1
- official/projects/yolo/modeling/heads/__init__.py +1 -1
- official/projects/yolo/modeling/heads/yolo_head.py +1 -1
- official/projects/yolo/modeling/heads/yolo_head_test.py +1 -2
- official/projects/yolo/modeling/heads/yolov7_head.py +1 -1
- official/projects/yolo/modeling/heads/yolov7_head_test.py +1 -1
- official/projects/yolo/modeling/layers/__init__.py +1 -1
- official/projects/yolo/modeling/layers/detection_generator.py +1 -1
- official/projects/yolo/modeling/layers/detection_generator_test.py +1 -1
- official/projects/yolo/modeling/layers/nn_blocks.py +1 -1
- official/projects/yolo/modeling/layers/nn_blocks_test.py +1 -1
- official/projects/yolo/modeling/yolo_model.py +2 -2
- official/projects/yolo/modeling/yolov7_model.py +2 -2
- official/projects/yolo/ops/__init__.py +1 -1
- official/projects/yolo/ops/anchor.py +1 -1
- official/projects/yolo/ops/box_ops.py +1 -1
- official/projects/yolo/ops/box_ops_test.py +1 -1
- official/projects/yolo/ops/initializer_ops.py +1 -1
- official/projects/yolo/ops/kmeans_anchors.py +1 -1
- official/projects/yolo/ops/kmeans_anchors_test.py +1 -1
- official/projects/yolo/ops/loss_utils.py +1 -1
- official/projects/yolo/ops/math_ops.py +1 -1
- official/projects/yolo/ops/mosaic.py +1 -1
- official/projects/yolo/ops/preprocessing_ops.py +1 -1
- official/projects/yolo/ops/preprocessing_ops_test.py +1 -1
- official/projects/yolo/optimization/__init__.py +1 -1
- official/projects/yolo/optimization/configs/__init__.py +1 -1
- official/projects/yolo/optimization/configs/optimization_config.py +1 -1
- official/projects/yolo/optimization/configs/optimizer_config.py +1 -1
- official/projects/yolo/optimization/optimizer_factory.py +1 -1
- official/projects/yolo/optimization/sgd_torch.py +1 -1
- official/projects/yolo/serving/__init__.py +1 -1
- official/projects/yolo/serving/export_module_factory.py +1 -1
- official/projects/yolo/serving/export_saved_model.py +1 -1
- official/projects/yolo/serving/export_tflite.py +1 -1
- official/projects/yolo/serving/model_fn.py +1 -1
- official/projects/yolo/tasks/__init__.py +1 -1
- official/projects/yolo/tasks/image_classification.py +1 -1
- official/projects/yolo/tasks/task_utils.py +1 -1
- official/projects/yolo/tasks/yolo.py +1 -1
- official/projects/yolo/tasks/yolov7.py +1 -1
- official/projects/yolo/train.py +1 -1
- official/projects/yt8m/__init__.py +1 -1
- official/projects/yt8m/configs/__init__.py +1 -1
- official/projects/yt8m/configs/yt8m.py +1 -1
- official/projects/yt8m/configs/yt8m_test.py +1 -1
- official/projects/yt8m/modeling/__init__.py +1 -1
- official/projects/yt8m/modeling/backbones/__init__.py +1 -1
- official/projects/yt8m/modeling/backbones/dbof.py +1 -1
- official/projects/yt8m/modeling/backbones/dbof_test.py +1 -1
- official/projects/yt8m/modeling/heads/__init__.py +1 -1
- official/projects/yt8m/modeling/heads/logistic.py +1 -1
- official/projects/yt8m/modeling/heads/moe.py +1 -1
- official/projects/yt8m/modeling/nn_layers.py +1 -1
- official/projects/yt8m/modeling/nn_layers_test.py +1 -1
- official/projects/yt8m/modeling/yt8m_model.py +1 -1
- official/projects/yt8m/modeling/yt8m_model_test.py +1 -1
- official/projects/yt8m/modeling/yt8m_model_utils.py +1 -1
- official/projects/yt8m/modeling/yt8m_model_utils_test.py +1 -1
- official/projects/yt8m/tasks/__init__.py +1 -1
- official/projects/yt8m/tasks/yt8m_task.py +1 -1
- official/projects/yt8m/train.py +1 -1
- official/projects/yt8m/train_test.py +1 -1
- official/recommendation/__init__.py +1 -1
- official/recommendation/constants.py +1 -1
- official/recommendation/create_ncf_data.py +1 -2
- official/recommendation/data_pipeline.py +1 -1
- official/recommendation/data_preprocessing.py +1 -1
- official/recommendation/data_test.py +4 -4
- official/recommendation/movielens.py +1 -2
- official/recommendation/ncf_common.py +1 -1
- official/recommendation/ncf_input_pipeline.py +1 -1
- official/recommendation/ncf_keras_main.py +1 -1
- official/recommendation/ncf_test.py +1 -1
- official/recommendation/neumf_model.py +1 -1
- official/recommendation/popen_helper.py +1 -1
- official/recommendation/ranking/__init__.py +1 -1
- official/recommendation/ranking/common.py +1 -1
- official/recommendation/ranking/configs/__init__.py +1 -1
- official/recommendation/ranking/configs/config.py +14 -1
- official/recommendation/ranking/configs/config_test.py +1 -1
- official/recommendation/ranking/data/__init__.py +1 -1
- official/recommendation/ranking/data/data_pipeline.py +9 -2
- official/recommendation/ranking/data/data_pipeline_multi_hot.py +8 -2
- official/recommendation/ranking/data/data_pipeline_multi_hot_test.py +12 -6
- official/recommendation/ranking/data/data_pipeline_test.py +18 -8
- official/recommendation/ranking/task.py +102 -19
- official/recommendation/ranking/task_test.py +1 -1
- official/recommendation/ranking/train.py +1 -1
- official/recommendation/ranking/train_test.py +76 -31
- official/recommendation/stat_utils.py +1 -1
- official/recommendation/uplift/__init__.py +1 -1
- official/recommendation/uplift/keras_test_case.py +1 -1
- official/recommendation/uplift/keys.py +1 -1
- official/recommendation/uplift/layers/__init__.py +1 -1
- official/recommendation/uplift/layers/encoders/__init__.py +1 -1
- official/recommendation/uplift/layers/encoders/concat_features.py +1 -1
- official/recommendation/uplift/layers/encoders/concat_features_test.py +1 -1
- official/recommendation/uplift/layers/heads/__init__.py +1 -1
- official/recommendation/uplift/layers/heads/two_tower_logits_head.py +1 -1
- official/recommendation/uplift/layers/heads/two_tower_logits_head_test.py +1 -1
- official/recommendation/uplift/layers/uplift_networks/__init__.py +1 -1
- official/recommendation/uplift/layers/uplift_networks/base_uplift_networks.py +1 -1
- official/recommendation/uplift/layers/uplift_networks/two_tower_output_head.py +1 -1
- official/recommendation/uplift/layers/uplift_networks/two_tower_output_head_test.py +1 -1
- official/recommendation/uplift/layers/uplift_networks/two_tower_uplift_network.py +1 -1
- official/recommendation/uplift/layers/uplift_networks/two_tower_uplift_network_test.py +1 -1
- official/recommendation/uplift/losses/__init__.py +1 -1
- official/recommendation/uplift/losses/true_logits_loss.py +1 -1
- official/recommendation/uplift/losses/true_logits_loss_test.py +1 -1
- official/recommendation/uplift/metrics/__init__.py +1 -1
- official/recommendation/uplift/metrics/label_mean.py +1 -1
- official/recommendation/uplift/metrics/label_mean_test.py +1 -1
- official/recommendation/uplift/metrics/label_variance.py +1 -1
- official/recommendation/uplift/metrics/label_variance_test.py +1 -1
- official/recommendation/uplift/metrics/loss_metric.py +1 -1
- official/recommendation/uplift/metrics/loss_metric_test.py +1 -1
- official/recommendation/uplift/metrics/metric_configs.py +1 -1
- official/recommendation/uplift/metrics/poisson_metrics.py +1 -1
- official/recommendation/uplift/metrics/poisson_metrics_test.py +1 -1
- official/recommendation/uplift/metrics/sliced_metric.py +1 -1
- official/recommendation/uplift/metrics/sliced_metric_test.py +1 -1
- official/recommendation/uplift/metrics/treatment_fraction.py +1 -1
- official/recommendation/uplift/metrics/treatment_fraction_test.py +1 -1
- official/recommendation/uplift/metrics/treatment_sliced_metric.py +1 -1
- official/recommendation/uplift/metrics/treatment_sliced_metric_test.py +1 -1
- official/recommendation/uplift/metrics/uplift_mean.py +1 -1
- official/recommendation/uplift/metrics/uplift_mean_test.py +1 -1
- official/recommendation/uplift/metrics/variance.py +1 -1
- official/recommendation/uplift/metrics/variance_test.py +12 -10
- official/recommendation/uplift/models/__init__.py +1 -1
- official/recommendation/uplift/models/two_tower_uplift_model.py +1 -1
- official/recommendation/uplift/models/two_tower_uplift_model_test.py +1 -1
- official/recommendation/uplift/types.py +1 -1
- official/recommendation/uplift/utils.py +3 -3
- official/recommendation/uplift/utils_test.py +1 -1
- official/utils/__init__.py +1 -1
- official/utils/docs/__init__.py +1 -1
- official/utils/docs/build_orbit_api_docs.py +1 -1
- official/utils/docs/build_tfm_api_docs.py +1 -1
- official/utils/flags/__init__.py +1 -1
- official/utils/flags/_base.py +1 -1
- official/utils/flags/_benchmark.py +1 -1
- official/utils/flags/_conventions.py +1 -1
- official/utils/flags/_device.py +1 -1
- official/utils/flags/_distribution.py +1 -1
- official/utils/flags/_misc.py +1 -1
- official/utils/flags/_performance.py +1 -1
- official/utils/flags/core.py +1 -1
- official/utils/flags/flags_test.py +1 -1
- official/utils/hyperparams_flags.py +1 -1
- official/utils/misc/__init__.py +1 -1
- official/utils/misc/keras_utils.py +1 -1
- official/utils/misc/model_helpers.py +1 -1
- official/utils/misc/model_helpers_test.py +3 -3
- official/utils/testing/__init__.py +1 -1
- official/utils/testing/integration.py +1 -1
- official/utils/testing/mock_task.py +1 -1
- official/vision/__init__.py +1 -1
- official/vision/configs/__init__.py +1 -1
- official/vision/configs/backbones.py +3 -1
- official/vision/configs/backbones_3d.py +1 -2
- official/vision/configs/common.py +1 -3
- official/vision/configs/decoders.py +1 -3
- official/vision/configs/image_classification.py +1 -1
- official/vision/configs/image_classification_test.py +1 -1
- official/vision/configs/maskrcnn.py +1 -1
- official/vision/configs/maskrcnn_test.py +1 -1
- official/vision/configs/retinanet.py +2 -1
- official/vision/configs/retinanet_test.py +1 -1
- official/vision/configs/semantic_segmentation.py +7 -8
- official/vision/configs/semantic_segmentation_test.py +1 -1
- official/vision/configs/video_classification.py +1 -1
- official/vision/configs/video_classification_test.py +1 -1
- official/vision/data/__init__.py +1 -1
- official/vision/data/create_coco_tf_record.py +1 -1
- official/vision/data/fake_feature_generator.py +5 -2
- official/vision/data/image_utils.py +1 -1
- official/vision/data/image_utils_test.py +1 -1
- official/vision/data/process_coco_few_shot_json_files.py +1 -1
- official/vision/data/tf_example_builder.py +1 -1
- official/vision/data/tf_example_builder_test.py +1 -1
- official/vision/data/tf_example_feature_key.py +1 -1
- official/vision/data/tfrecord_lib.py +1 -1
- official/vision/data/tfrecord_lib_test.py +1 -1
- official/vision/dataloaders/__init__.py +1 -1
- official/vision/dataloaders/classification_input.py +1 -2
- official/vision/dataloaders/decoder.py +1 -1
- official/vision/dataloaders/input_reader.py +1 -1
- official/vision/dataloaders/input_reader_factory.py +1 -1
- official/vision/dataloaders/maskrcnn_input.py +1 -2
- official/vision/dataloaders/parser.py +1 -1
- official/vision/dataloaders/retinanet_input.py +1 -3
- official/vision/dataloaders/segmentation_input.py +9 -4
- official/vision/dataloaders/tf_example_decoder.py +1 -1
- official/vision/dataloaders/tf_example_decoder_test.py +1 -2
- official/vision/dataloaders/tf_example_label_map_decoder.py +1 -2
- official/vision/dataloaders/tf_example_label_map_decoder_test.py +1 -2
- official/vision/dataloaders/tfds_classification_decoders.py +1 -1
- official/vision/dataloaders/tfds_detection_decoders.py +1 -1
- official/vision/dataloaders/tfds_factory.py +1 -1
- official/vision/dataloaders/tfds_factory_test.py +1 -1
- official/vision/dataloaders/tfds_segmentation_decoders.py +1 -1
- official/vision/dataloaders/tfexample_utils.py +1 -1
- official/vision/dataloaders/utils.py +1 -2
- official/vision/dataloaders/utils_test.py +1 -3
- official/vision/dataloaders/video_input.py +1 -1
- official/vision/dataloaders/video_input_test.py +1 -2
- official/vision/evaluation/__init__.py +1 -1
- official/vision/evaluation/coco_evaluator.py +1 -2
- official/vision/evaluation/coco_utils.py +1 -3
- official/vision/evaluation/coco_utils_test.py +1 -1
- official/vision/evaluation/instance_metrics.py +1 -1
- official/vision/evaluation/instance_metrics_test.py +1 -1
- official/vision/evaluation/iou.py +1 -1
- official/vision/evaluation/iou_test.py +1 -1
- official/vision/evaluation/panoptic_quality.py +1 -1
- official/vision/evaluation/panoptic_quality_evaluator.py +1 -1
- official/vision/evaluation/panoptic_quality_evaluator_test.py +1 -1
- official/vision/evaluation/panoptic_quality_test.py +1 -1
- official/vision/evaluation/segmentation_metrics.py +1 -1
- official/vision/evaluation/segmentation_metrics_test.py +1 -1
- official/vision/evaluation/wod_detection_evaluator.py +1 -1
- official/vision/losses/__init__.py +1 -1
- official/vision/losses/focal_loss.py +1 -1
- official/vision/losses/loss_utils.py +1 -1
- official/vision/losses/maskrcnn_losses.py +1 -2
- official/vision/losses/maskrcnn_losses_test.py +1 -1
- official/vision/losses/retinanet_losses.py +1 -2
- official/vision/losses/segmentation_losses.py +1 -1
- official/vision/losses/segmentation_losses_test.py +1 -1
- official/vision/modeling/__init__.py +1 -1
- official/vision/modeling/backbones/__init__.py +1 -1
- official/vision/modeling/backbones/efficientnet.py +1 -3
- official/vision/modeling/backbones/efficientnet_test.py +1 -2
- official/vision/modeling/backbones/factory.py +1 -3
- official/vision/modeling/backbones/factory_test.py +1 -2
- official/vision/modeling/backbones/mobiledet.py +1 -1
- official/vision/modeling/backbones/mobiledet_test.py +1 -1
- official/vision/modeling/backbones/mobilenet.py +73 -3
- official/vision/modeling/backbones/mobilenet_test.py +12 -3
- official/vision/modeling/backbones/resnet.py +1 -2
- official/vision/modeling/backbones/resnet_3d.py +1 -2
- official/vision/modeling/backbones/resnet_3d_test.py +1 -2
- official/vision/modeling/backbones/resnet_deeplab.py +5 -4
- official/vision/modeling/backbones/resnet_deeplab_test.py +21 -10
- official/vision/modeling/backbones/resnet_test.py +1 -2
- official/vision/modeling/backbones/resnet_unet.py +1 -2
- official/vision/modeling/backbones/resnet_unet_test.py +1 -3
- official/vision/modeling/backbones/revnet.py +1 -2
- official/vision/modeling/backbones/revnet_test.py +1 -2
- official/vision/modeling/backbones/spinenet.py +1 -3
- official/vision/modeling/backbones/spinenet_mobile.py +1 -3
- official/vision/modeling/backbones/spinenet_mobile_test.py +1 -2
- official/vision/modeling/backbones/spinenet_test.py +1 -2
- official/vision/modeling/backbones/vit.py +53 -27
- official/vision/modeling/backbones/vit_specs.py +1 -1
- official/vision/modeling/backbones/vit_test.py +12 -1
- official/vision/modeling/classification_model.py +1 -2
- official/vision/modeling/classification_model_test.py +1 -2
- official/vision/modeling/decoders/__init__.py +1 -1
- official/vision/modeling/decoders/aspp.py +1 -3
- official/vision/modeling/decoders/aspp_test.py +1 -2
- official/vision/modeling/decoders/factory.py +1 -3
- official/vision/modeling/decoders/factory_test.py +1 -1
- official/vision/modeling/decoders/fpn.py +1 -2
- official/vision/modeling/decoders/fpn_test.py +1 -2
- official/vision/modeling/decoders/nasfpn.py +1 -3
- official/vision/modeling/decoders/nasfpn_test.py +1 -2
- official/vision/modeling/factory.py +1 -1
- official/vision/modeling/factory_3d.py +1 -2
- official/vision/modeling/factory_test.py +1 -2
- official/vision/modeling/heads/__init__.py +1 -1
- official/vision/modeling/heads/dense_prediction_heads.py +1 -3
- official/vision/modeling/heads/dense_prediction_heads_test.py +1 -3
- official/vision/modeling/heads/instance_heads.py +3 -4
- official/vision/modeling/heads/instance_heads_test.py +1 -2
- official/vision/modeling/heads/segmentation_heads.py +2 -2
- official/vision/modeling/heads/segmentation_heads_test.py +1 -2
- official/vision/modeling/layers/__init__.py +1 -1
- official/vision/modeling/layers/box_sampler.py +1 -2
- official/vision/modeling/layers/deeplab.py +1 -1
- official/vision/modeling/layers/deeplab_test.py +1 -1
- official/vision/modeling/layers/detection_generator.py +1 -3
- official/vision/modeling/layers/detection_generator_test.py +1 -3
- official/vision/modeling/layers/edgetpu.py +1 -1
- official/vision/modeling/layers/edgetpu_test.py +1 -1
- official/vision/modeling/layers/mask_sampler.py +1 -2
- official/vision/modeling/layers/nn_blocks.py +1 -2
- official/vision/modeling/layers/nn_blocks_3d.py +1 -2
- official/vision/modeling/layers/nn_blocks_3d_test.py +1 -2
- official/vision/modeling/layers/nn_blocks_test.py +1 -3
- official/vision/modeling/layers/nn_layers.py +1 -1
- official/vision/modeling/layers/nn_layers_test.py +1 -2
- official/vision/modeling/layers/roi_aligner.py +7 -5
- official/vision/modeling/layers/roi_aligner_test.py +1 -2
- official/vision/modeling/layers/roi_generator.py +1 -2
- official/vision/modeling/layers/roi_sampler.py +1 -2
- official/vision/modeling/maskrcnn_model.py +1 -1
- official/vision/modeling/maskrcnn_model_test.py +1 -2
- official/vision/modeling/models/__init__.py +1 -1
- official/vision/modeling/retinanet_model.py +9 -8
- official/vision/modeling/retinanet_model_test.py +1 -2
- official/vision/modeling/segmentation_model.py +4 -4
- official/vision/modeling/segmentation_model_test.py +1 -1
- official/vision/modeling/video_classification_model.py +1 -1
- official/vision/modeling/video_classification_model_test.py +1 -2
- official/vision/ops/__init__.py +1 -1
- official/vision/ops/anchor.py +1 -3
- official/vision/ops/anchor_generator.py +1 -1
- official/vision/ops/anchor_generator_test.py +1 -1
- official/vision/ops/anchor_test.py +1 -2
- official/vision/ops/augment.py +4 -16
- official/vision/ops/augment_test.py +1 -1
- official/vision/ops/box_matcher.py +1 -1
- official/vision/ops/box_matcher_test.py +1 -1
- official/vision/ops/box_ops.py +1 -2
- official/vision/ops/iou_similarity.py +1 -1
- official/vision/ops/iou_similarity_test.py +1 -1
- official/vision/ops/mask_ops.py +1 -3
- official/vision/ops/mask_ops_test.py +1 -2
- official/vision/ops/nms.py +1 -2
- official/vision/ops/preprocess_ops.py +40 -11
- official/vision/ops/preprocess_ops_3d.py +6 -3
- official/vision/ops/preprocess_ops_3d_test.py +1 -1
- official/vision/ops/preprocess_ops_test.py +13 -7
- official/vision/ops/sampling_ops.py +1 -2
- official/vision/ops/spatial_transform_ops.py +1 -1
- official/vision/ops/target_gather.py +1 -1
- official/vision/ops/target_gather_test.py +1 -1
- official/vision/registry_imports.py +1 -1
- official/vision/serving/__init__.py +1 -1
- official/vision/serving/detection.py +21 -1
- official/vision/serving/detection_test.py +39 -1
- official/vision/serving/export_base.py +1 -1
- official/vision/serving/export_base_v2.py +1 -1
- official/vision/serving/export_base_v2_test.py +1 -1
- official/vision/serving/export_module_factory.py +1 -1
- official/vision/serving/export_module_factory_test.py +1 -1
- official/vision/serving/export_saved_model.py +1 -1
- official/vision/serving/export_saved_model_lib.py +1 -1
- official/vision/serving/export_saved_model_lib_test.py +1 -1
- official/vision/serving/export_saved_model_lib_v2.py +1 -1
- official/vision/serving/export_tfhub.py +1 -2
- official/vision/serving/export_tfhub_lib.py +1 -3
- official/vision/serving/export_tflite.py +1 -1
- official/vision/serving/export_tflite_lib.py +1 -1
- official/vision/serving/export_utils.py +1 -1
- official/vision/serving/image_classification.py +1 -1
- official/vision/serving/image_classification_test.py +1 -1
- official/vision/serving/semantic_segmentation.py +6 -3
- official/vision/serving/semantic_segmentation_test.py +71 -7
- official/vision/serving/video_classification.py +1 -1
- official/vision/serving/video_classification_test.py +1 -1
- official/vision/tasks/__init__.py +1 -1
- official/vision/tasks/image_classification.py +1 -1
- official/vision/tasks/maskrcnn.py +1 -1
- official/vision/tasks/retinanet.py +1 -1
- official/vision/tasks/semantic_segmentation.py +1 -1
- official/vision/tasks/video_classification.py +1 -1
- official/vision/train.py +1 -1
- official/vision/train_spatial_partitioning.py +1 -1
- official/vision/utils/__init__.py +1 -1
- official/vision/utils/object_detection/__init__.py +1 -1
- official/vision/utils/object_detection/argmax_matcher.py +1 -1
- official/vision/utils/object_detection/balanced_positive_negative_sampler.py +1 -1
- official/vision/utils/object_detection/box_coder.py +1 -1
- official/vision/utils/object_detection/box_list.py +1 -1
- official/vision/utils/object_detection/box_list_ops.py +1 -1
- official/vision/utils/object_detection/faster_rcnn_box_coder.py +1 -1
- official/vision/utils/object_detection/matcher.py +1 -1
- official/vision/utils/object_detection/minibatch_sampler.py +1 -1
- official/vision/utils/object_detection/ops.py +1 -1
- official/vision/utils/object_detection/preprocessor.py +1 -1
- official/vision/utils/object_detection/region_similarity_calculator.py +1 -1
- official/vision/utils/object_detection/shape_utils.py +1 -1
- official/vision/utils/object_detection/target_assigner.py +1 -1
- official/vision/utils/object_detection/visualization_utils.py +6 -1
- official/vision/utils/ops_test.py +1 -1
- official/vision/utils/summary_manager.py +1 -1
- orbit/__init__.py +1 -1
- orbit/actions/__init__.py +1 -1
- orbit/actions/conditional_action.py +3 -2
- orbit/actions/conditional_action_test.py +1 -1
- orbit/actions/export_saved_model.py +1 -1
- orbit/actions/export_saved_model_test.py +1 -1
- orbit/actions/new_best_metric.py +2 -2
- orbit/actions/new_best_metric_test.py +2 -2
- orbit/actions/save_checkpoint_if_preempted.py +1 -1
- orbit/controller.py +1 -1
- orbit/controller_test.py +1 -1
- orbit/examples/__init__.py +1 -1
- orbit/examples/single_task/__init__.py +1 -1
- orbit/examples/single_task/single_task_evaluator.py +1 -1
- orbit/examples/single_task/single_task_evaluator_test.py +1 -1
- orbit/examples/single_task/single_task_trainer.py +1 -1
- orbit/examples/single_task/single_task_trainer_test.py +1 -1
- orbit/runner.py +1 -1
- orbit/standard_runner.py +1 -1
- orbit/standard_runner_test.py +1 -1
- orbit/utils/__init__.py +1 -1
- orbit/utils/common.py +1 -1
- orbit/utils/common_test.py +1 -1
- orbit/utils/epoch_helper.py +1 -1
- orbit/utils/loop_fns.py +7 -2
- orbit/utils/summary_manager.py +1 -1
- orbit/utils/summary_manager_interface.py +1 -1
- orbit/utils/tpu_summaries.py +1 -1
- orbit/utils/tpu_summaries_test.py +1 -1
- tensorflow_models/__init__.py +1 -1
- tensorflow_models/nlp/__init__.py +1 -1
- tensorflow_models/tensorflow_models_test.py +1 -1
- tensorflow_models/uplift/__init__.py +1 -1
- tensorflow_models/vision/__init__.py +1 -1
- {tf_models_nightly-2.17.0.dev20240617.dist-info → tf_models_nightly-2.20.0.dev20251205.dist-info}/METADATA +1 -1
- tf_models_nightly-2.20.0.dev20251205.dist-info/RECORD +1256 -0
- tf_models_nightly-2.17.0.dev20240617.dist-info/RECORD +0 -1220
- {tf_models_nightly-2.17.0.dev20240617.dist-info → tf_models_nightly-2.20.0.dev20251205.dist-info}/AUTHORS +0 -0
- {tf_models_nightly-2.17.0.dev20240617.dist-info → tf_models_nightly-2.20.0.dev20251205.dist-info}/LICENSE +0 -0
- {tf_models_nightly-2.17.0.dev20240617.dist-info → tf_models_nightly-2.20.0.dev20251205.dist-info}/WHEEL +0 -0
- {tf_models_nightly-2.17.0.dev20240617.dist-info → tf_models_nightly-2.20.0.dev20251205.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,641 @@
|
|
|
1
|
+
# Copyright 2025 The TensorFlow Authors. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
"""Panoptic MaskRCNN task definition."""
|
|
16
|
+
from typing import Any, Dict, List, Mapping, Optional, Tuple
|
|
17
|
+
|
|
18
|
+
import tensorflow as tf, tf_keras
|
|
19
|
+
|
|
20
|
+
from official.common import dataset_fn
|
|
21
|
+
from official.core import task_factory
|
|
22
|
+
from official.projects.centernet.ops import loss_ops
|
|
23
|
+
from official.projects.maskconver.configs import maskconver as exp_cfg
|
|
24
|
+
from official.projects.maskconver.dataloaders import maskconver_segmentation_input
|
|
25
|
+
from official.projects.maskconver.dataloaders import panoptic_maskrcnn_input
|
|
26
|
+
from official.projects.maskconver.losses import maskconver_losses
|
|
27
|
+
from official.projects.maskconver.modeling import factory
|
|
28
|
+
from official.projects.volumetric_models.losses import segmentation_losses as volumeteric_segmentation_losses
|
|
29
|
+
from official.vision.dataloaders import input_reader_factory
|
|
30
|
+
from official.vision.dataloaders import segmentation_input
|
|
31
|
+
from official.vision.evaluation import panoptic_quality_evaluator
|
|
32
|
+
from official.vision.evaluation import segmentation_metrics
|
|
33
|
+
from official.vision.tasks import maskrcnn
|
|
34
|
+
from official.vision.tasks import semantic_segmentation
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@task_factory.register_task_cls(exp_cfg.MaskConverTask)
|
|
38
|
+
class PanopticMaskRCNNTask(maskrcnn.MaskRCNNTask):
|
|
39
|
+
|
|
40
|
+
"""A single-replica view of training procedure.
|
|
41
|
+
|
|
42
|
+
Panoptic Mask R-CNN task provides artifacts for training/evalution procedures,
|
|
43
|
+
including loading/iterating over Datasets, initializing the model, calculating
|
|
44
|
+
the loss, post-processing, and customized metrics with reduction.
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
def build_model(self) -> tf_keras.Model:
|
|
48
|
+
"""Build Panoptic Mask R-CNN model."""
|
|
49
|
+
|
|
50
|
+
tf_keras.utils.set_random_seed(0)
|
|
51
|
+
tf.config.experimental.enable_op_determinism()
|
|
52
|
+
input_specs = tf_keras.layers.InputSpec(
|
|
53
|
+
shape=[None] + self.task_config.model.input_size)
|
|
54
|
+
|
|
55
|
+
l2_weight_decay = self.task_config.losses.l2_weight_decay
|
|
56
|
+
# Divide weight decay by 2.0 to match the implementation of tf.nn.l2_loss.
|
|
57
|
+
# (https://www.tensorflow.org/api_docs/python/tf/keras/regularizers/l2)
|
|
58
|
+
# (https://www.tensorflow.org/api_docs/python/tf/nn/l2_loss)
|
|
59
|
+
l2_regularizer = (tf_keras.regularizers.l2(
|
|
60
|
+
l2_weight_decay / 2.0) if l2_weight_decay else None)
|
|
61
|
+
|
|
62
|
+
model = factory.build_maskconver_model(
|
|
63
|
+
input_specs=input_specs,
|
|
64
|
+
model_config=self.task_config.model,
|
|
65
|
+
l2_regularizer=l2_regularizer)
|
|
66
|
+
return model
|
|
67
|
+
|
|
68
|
+
def build_inputs(
|
|
69
|
+
self,
|
|
70
|
+
params: exp_cfg.DataConfig,
|
|
71
|
+
input_context: Optional[tf.distribute.InputContext] = None
|
|
72
|
+
) -> tf.data.Dataset:
|
|
73
|
+
"""Build input dataset."""
|
|
74
|
+
decoder_cfg = params.decoder.get()
|
|
75
|
+
if params.decoder.type == 'simple_decoder':
|
|
76
|
+
decoder = panoptic_maskrcnn_input.TfExampleDecoder(
|
|
77
|
+
regenerate_source_id=decoder_cfg.regenerate_source_id,
|
|
78
|
+
mask_binarize_threshold=decoder_cfg.mask_binarize_threshold,
|
|
79
|
+
include_panoptic_masks=decoder_cfg.include_panoptic_masks,
|
|
80
|
+
panoptic_category_mask_key=decoder_cfg.panoptic_category_mask_key,
|
|
81
|
+
panoptic_instance_mask_key=decoder_cfg.panoptic_instance_mask_key)
|
|
82
|
+
else:
|
|
83
|
+
raise ValueError('Unknown decoder type: {}!'.format(params.decoder.type))
|
|
84
|
+
|
|
85
|
+
parser = panoptic_maskrcnn_input.Parser(
|
|
86
|
+
output_size=self.task_config.model.input_size[:2],
|
|
87
|
+
min_level=self.task_config.model.min_level,
|
|
88
|
+
max_level=self.task_config.model.max_level,
|
|
89
|
+
num_scales=self.task_config.model.anchor.num_scales,
|
|
90
|
+
aspect_ratios=self.task_config.model.anchor.aspect_ratios,
|
|
91
|
+
anchor_size=self.task_config.model.anchor.anchor_size,
|
|
92
|
+
dtype=params.dtype,
|
|
93
|
+
rpn_match_threshold=params.parser.rpn_match_threshold,
|
|
94
|
+
rpn_unmatched_threshold=params.parser.rpn_unmatched_threshold,
|
|
95
|
+
rpn_batch_size_per_im=params.parser.rpn_batch_size_per_im,
|
|
96
|
+
rpn_fg_fraction=params.parser.rpn_fg_fraction,
|
|
97
|
+
aug_rand_hflip=params.parser.aug_rand_hflip,
|
|
98
|
+
aug_scale_min=params.parser.aug_scale_min,
|
|
99
|
+
aug_scale_max=params.parser.aug_scale_max,
|
|
100
|
+
skip_crowd_during_training=params.parser.skip_crowd_during_training,
|
|
101
|
+
max_num_instances=self.task_config.model.num_instances,
|
|
102
|
+
mask_crop_size=params.parser.mask_crop_size,
|
|
103
|
+
segmentation_resize_eval_groundtruth=params.parser
|
|
104
|
+
.segmentation_resize_eval_groundtruth,
|
|
105
|
+
segmentation_groundtruth_padded_size=params.parser
|
|
106
|
+
.segmentation_groundtruth_padded_size,
|
|
107
|
+
segmentation_ignore_label=params.parser.segmentation_ignore_label,
|
|
108
|
+
panoptic_ignore_label=params.parser.panoptic_ignore_label,
|
|
109
|
+
include_panoptic_masks=params.parser.include_panoptic_masks,
|
|
110
|
+
num_panoptic_categories=self.task_config.model.num_classes,
|
|
111
|
+
num_thing_categories=self.task_config.model.num_thing_classes,
|
|
112
|
+
level=self.task_config.model.level,
|
|
113
|
+
gaussian_iou=params.parser.gaussaian_iou,
|
|
114
|
+
aug_type=params.parser.aug_type,
|
|
115
|
+
max_num_stuff_centers=params.parser.max_num_stuff_centers)
|
|
116
|
+
|
|
117
|
+
reader = input_reader_factory.input_reader_generator(
|
|
118
|
+
params,
|
|
119
|
+
dataset_fn=dataset_fn.pick_dataset_fn(params.file_type),
|
|
120
|
+
decoder_fn=decoder.decode,
|
|
121
|
+
parser_fn=parser.parse_fn(params.is_training))
|
|
122
|
+
dataset = reader.read(input_context=input_context)
|
|
123
|
+
|
|
124
|
+
return dataset
|
|
125
|
+
|
|
126
|
+
def build_losses(self,
|
|
127
|
+
outputs: Mapping[str, Any],
|
|
128
|
+
labels: Mapping[str, Any],
|
|
129
|
+
aux_losses: Optional[Any] = None,
|
|
130
|
+
step=None) -> Dict[str, tf.Tensor]:
|
|
131
|
+
"""Build Panoptic Mask R-CNN losses."""
|
|
132
|
+
loss_params = self._task_config.losses
|
|
133
|
+
|
|
134
|
+
batch_size = tf.cast(tf.shape(labels['num_instances'])[0], tf.float32)
|
|
135
|
+
center_loss_fn = maskconver_losses.PenaltyReducedLogisticFocalLoss(
|
|
136
|
+
alpha=loss_params.alpha, beta=loss_params.beta)
|
|
137
|
+
mask_loss_fn = maskconver_losses.PenaltyReducedLogisticFocalLoss()
|
|
138
|
+
|
|
139
|
+
# Calculate center heatmap loss
|
|
140
|
+
# TODO(arashwan): add valid weights.
|
|
141
|
+
# output_unpad_image_shapes = labels['image_info'][:, 0, :]
|
|
142
|
+
# valid_anchor_weights = loss_ops.get_valid_anchor_weights_in_flattened_image( # pylint: disable=line-too-long
|
|
143
|
+
# output_unpad_image_shapes, h, w)
|
|
144
|
+
# valid_anchor_weights = tf.expand_dims(valid_anchor_weights, 2)
|
|
145
|
+
|
|
146
|
+
true_flattened_ct_heatmap = loss_ops.flatten_spatial_dimensions(
|
|
147
|
+
labels['panoptic_heatmaps'])
|
|
148
|
+
true_flattened_ct_heatmap = tf.cast(true_flattened_ct_heatmap, tf.float32)
|
|
149
|
+
|
|
150
|
+
pred_flattened_ct_heatmap = loss_ops.flatten_spatial_dimensions(
|
|
151
|
+
outputs['class_heatmaps'])
|
|
152
|
+
pred_flattened_ct_heatmap = tf.cast(pred_flattened_ct_heatmap, tf.float32)
|
|
153
|
+
center_padding_mask = 1 - labels['panoptic_padding_mask'][:, :, :, None]
|
|
154
|
+
center_padding_mask = tf.image.resize(
|
|
155
|
+
center_padding_mask, tf.shape(
|
|
156
|
+
labels['panoptic_heatmaps'])[1:3], method='nearest')
|
|
157
|
+
center_padding_mask = tf.maximum(center_padding_mask, 0.0)
|
|
158
|
+
center_padding_mask = center_padding_mask * tf.ones_like(labels['panoptic_heatmaps'])
|
|
159
|
+
weights_flattened_mask = loss_ops.flatten_spatial_dimensions(
|
|
160
|
+
center_padding_mask)
|
|
161
|
+
center_loss = center_loss_fn(
|
|
162
|
+
target_tensor=true_flattened_ct_heatmap,
|
|
163
|
+
prediction_tensor=pred_flattened_ct_heatmap,
|
|
164
|
+
weights=weights_flattened_mask)
|
|
165
|
+
|
|
166
|
+
center_loss = tf.reduce_sum(
|
|
167
|
+
center_loss / (labels['num_instances'][:, None, None] + 1.0)) / batch_size
|
|
168
|
+
|
|
169
|
+
gt_masks = labels['panoptic_masks']
|
|
170
|
+
gt_mask_weights = labels['panoptic_mask_weights'][:, None, None, :] * tf.ones_like(gt_masks)
|
|
171
|
+
panoptic_padding_mask = labels['panoptic_padding_mask'][:, :, :, None] * tf.ones_like(gt_masks)
|
|
172
|
+
|
|
173
|
+
true_flattened_masks = loss_ops.flatten_spatial_dimensions(
|
|
174
|
+
gt_masks)
|
|
175
|
+
true_flattened_ct_heatmap = tf.cast(true_flattened_ct_heatmap, tf.float32)
|
|
176
|
+
predicted_masks = tf.cast(outputs['mask_proposal_logits'], tf.float32)
|
|
177
|
+
predicted_masks = tf.image.resize(
|
|
178
|
+
predicted_masks, tf.shape(gt_masks)[1:3], method='bilinear')
|
|
179
|
+
pred_flattened_masks = loss_ops.flatten_spatial_dimensions(predicted_masks)
|
|
180
|
+
mask_loss = tf.cast(0.0, tf.float32)
|
|
181
|
+
mask_loss_fn = tf_keras.losses.BinaryCrossentropy(
|
|
182
|
+
from_logits=True,
|
|
183
|
+
label_smoothing=0.0,
|
|
184
|
+
axis=-1,
|
|
185
|
+
reduction=tf_keras.losses.Reduction.NONE,
|
|
186
|
+
name='binary_crossentropy')
|
|
187
|
+
mask_weights = tf.reshape(
|
|
188
|
+
tf.cast(true_flattened_masks >= 0, tf.float32),
|
|
189
|
+
[-1, 1]) * tf.reshape(gt_mask_weights, [-1, 1]) * tf.reshape(
|
|
190
|
+
(1 - panoptic_padding_mask), [-1, 1])
|
|
191
|
+
mask_loss = mask_loss_fn(
|
|
192
|
+
tf.reshape(gt_masks, [-1, 1]),
|
|
193
|
+
tf.reshape(pred_flattened_masks, [-1, 1]),
|
|
194
|
+
sample_weight=mask_weights)
|
|
195
|
+
mask_loss = tf.reduce_sum(mask_loss) / (tf.reduce_sum(mask_weights) + 1.0)
|
|
196
|
+
|
|
197
|
+
# Dice loss
|
|
198
|
+
_, h, w, _ = gt_masks.get_shape().as_list()
|
|
199
|
+
masked_predictions = tf.sigmoid(predicted_masks) * gt_mask_weights * (1 - panoptic_padding_mask)
|
|
200
|
+
masked_gt_masks = gt_masks * gt_mask_weights * (1 - panoptic_padding_mask)
|
|
201
|
+
|
|
202
|
+
masked_predictions = tf.transpose(masked_predictions, [0, 3, 1, 2])
|
|
203
|
+
masked_predictions = tf.reshape(masked_predictions, [-1, h, w, 1])
|
|
204
|
+
masked_gt_masks = tf.transpose(masked_gt_masks, [0, 3, 1, 2])
|
|
205
|
+
masked_gt_masks = tf.reshape(masked_gt_masks, [-1, h, w, 1])
|
|
206
|
+
|
|
207
|
+
dice_loss_fn = volumeteric_segmentation_losses.SegmentationLossDiceScore(
|
|
208
|
+
metric_type='adaptive', axis=(2, 3))
|
|
209
|
+
dice_loss = dice_loss_fn(logits=masked_predictions, labels=masked_gt_masks)
|
|
210
|
+
|
|
211
|
+
total_loss = (center_loss + loss_params.mask_weight * mask_loss + loss_params.mask_weight * dice_loss)
|
|
212
|
+
|
|
213
|
+
if aux_losses:
|
|
214
|
+
total_loss += tf.add_n(aux_losses)
|
|
215
|
+
|
|
216
|
+
total_loss = loss_params.loss_weight * total_loss
|
|
217
|
+
|
|
218
|
+
losses = {'total_loss': total_loss,
|
|
219
|
+
'mask_loss': mask_loss,
|
|
220
|
+
'center_loss': center_loss,
|
|
221
|
+
'dice_loss': dice_loss}
|
|
222
|
+
return losses
|
|
223
|
+
|
|
224
|
+
def build_metrics(self, training: bool = True) -> List[
|
|
225
|
+
tf_keras.metrics.Metric]:
|
|
226
|
+
"""Build detection metrics."""
|
|
227
|
+
metrics = []
|
|
228
|
+
if training:
|
|
229
|
+
metric_names = [
|
|
230
|
+
'total_loss',
|
|
231
|
+
'center_loss',
|
|
232
|
+
'mask_loss',
|
|
233
|
+
'dice_loss',
|
|
234
|
+
]
|
|
235
|
+
for name in metric_names:
|
|
236
|
+
metrics.append(tf_keras.metrics.Mean(name, dtype=tf.float32))
|
|
237
|
+
|
|
238
|
+
else:
|
|
239
|
+
pq_config = self.task_config.panoptic_quality_evaluator
|
|
240
|
+
self.panoptic_quality_metric = (
|
|
241
|
+
panoptic_quality_evaluator.PanopticQualityEvaluator(
|
|
242
|
+
num_categories=pq_config.num_categories,
|
|
243
|
+
ignored_label=pq_config.ignored_label,
|
|
244
|
+
max_instances_per_category=pq_config.max_instances_per_category,
|
|
245
|
+
offset=pq_config.offset,
|
|
246
|
+
is_thing=pq_config.is_thing,
|
|
247
|
+
rescale_predictions=pq_config.rescale_predictions))
|
|
248
|
+
return metrics
|
|
249
|
+
|
|
250
|
+
def train_step(self,
|
|
251
|
+
inputs: Tuple[Any, Any],
|
|
252
|
+
model: tf_keras.Model,
|
|
253
|
+
optimizer: tf_keras.optimizers.Optimizer,
|
|
254
|
+
metrics: Optional[List[Any]] = None) -> Dict[str, Any]:
|
|
255
|
+
"""Does forward and backward.
|
|
256
|
+
|
|
257
|
+
Args:
|
|
258
|
+
inputs: a dictionary of input tensors.
|
|
259
|
+
model: the model, forward pass definition.
|
|
260
|
+
optimizer: the optimizer for this training step.
|
|
261
|
+
metrics: a nested structure of metrics objects.
|
|
262
|
+
|
|
263
|
+
Returns:
|
|
264
|
+
A dictionary of logs.
|
|
265
|
+
"""
|
|
266
|
+
images, labels = inputs
|
|
267
|
+
num_replicas = tf.distribute.get_strategy().num_replicas_in_sync
|
|
268
|
+
|
|
269
|
+
with tf.GradientTape() as tape:
|
|
270
|
+
outputs = model(
|
|
271
|
+
images,
|
|
272
|
+
box_indices=labels['panoptic_box_indices'],
|
|
273
|
+
classes=labels['panoptic_classes'],
|
|
274
|
+
training=True)
|
|
275
|
+
outputs = tf.nest.map_structure(
|
|
276
|
+
lambda x: tf.cast(x, tf.float32), outputs)
|
|
277
|
+
|
|
278
|
+
# Computes per-replica loss.
|
|
279
|
+
losses = self.build_losses(
|
|
280
|
+
outputs=outputs,
|
|
281
|
+
labels=labels,
|
|
282
|
+
aux_losses=model.losses,
|
|
283
|
+
step=optimizer.iterations)
|
|
284
|
+
scaled_loss = losses['total_loss'] / num_replicas
|
|
285
|
+
|
|
286
|
+
# For mixed_precision policy, when LossScaleOptimizer is used, loss is
|
|
287
|
+
# scaled for numerical stability.
|
|
288
|
+
if isinstance(optimizer, tf_keras.mixed_precision.LossScaleOptimizer):
|
|
289
|
+
scaled_loss = optimizer.get_scaled_loss(scaled_loss)
|
|
290
|
+
|
|
291
|
+
tvars = model.trainable_variables
|
|
292
|
+
grads = tape.gradient(scaled_loss, tvars)
|
|
293
|
+
# Scales back gradient when LossScaleOptimizer is used.
|
|
294
|
+
if isinstance(optimizer, tf_keras.mixed_precision.LossScaleOptimizer):
|
|
295
|
+
grads = optimizer.get_unscaled_gradients(grads)
|
|
296
|
+
optimizer.apply_gradients(list(zip(grads, tvars)))
|
|
297
|
+
|
|
298
|
+
logs = {self.loss: losses['total_loss']}
|
|
299
|
+
|
|
300
|
+
if metrics:
|
|
301
|
+
for m in metrics:
|
|
302
|
+
m.update_state(losses[m.name])
|
|
303
|
+
|
|
304
|
+
return logs
|
|
305
|
+
|
|
306
|
+
def validation_step(self,
|
|
307
|
+
inputs: Tuple[Any, Any],
|
|
308
|
+
model: tf_keras.Model,
|
|
309
|
+
metrics: Optional[List[Any]] = None) -> Dict[str, Any]:
|
|
310
|
+
"""Validatation step.
|
|
311
|
+
|
|
312
|
+
Args:
|
|
313
|
+
inputs: a dictionary of input tensors.
|
|
314
|
+
model: the keras.Model.
|
|
315
|
+
metrics: a nested structure of metrics objects.
|
|
316
|
+
|
|
317
|
+
Returns:
|
|
318
|
+
A dictionary of logs.
|
|
319
|
+
"""
|
|
320
|
+
images, labels = inputs
|
|
321
|
+
|
|
322
|
+
outputs = model(
|
|
323
|
+
images,
|
|
324
|
+
image_info=labels['image_info'],
|
|
325
|
+
training=False)
|
|
326
|
+
|
|
327
|
+
logs = {self.loss: 0}
|
|
328
|
+
|
|
329
|
+
pq_metric_labels = {
|
|
330
|
+
'category_mask':
|
|
331
|
+
labels['groundtruths']['gt_panoptic_category_mask'],
|
|
332
|
+
'instance_mask':
|
|
333
|
+
labels['groundtruths']['gt_panoptic_instance_mask'],
|
|
334
|
+
'image_info': labels['image_info']
|
|
335
|
+
}
|
|
336
|
+
logs.update({
|
|
337
|
+
self.panoptic_quality_metric.name:
|
|
338
|
+
(pq_metric_labels, outputs['panoptic_outputs'])})
|
|
339
|
+
return logs
|
|
340
|
+
|
|
341
|
+
def aggregate_logs(self, state=None, step_outputs=None):
|
|
342
|
+
if state is None:
|
|
343
|
+
self.panoptic_quality_metric.reset_states()
|
|
344
|
+
state = [self.panoptic_quality_metric]
|
|
345
|
+
|
|
346
|
+
self.panoptic_quality_metric.update_state(
|
|
347
|
+
step_outputs[self.panoptic_quality_metric.name][0],
|
|
348
|
+
step_outputs[self.panoptic_quality_metric.name][1])
|
|
349
|
+
|
|
350
|
+
return state
|
|
351
|
+
|
|
352
|
+
def reduce_aggregated_logs(self, aggregated_logs, global_step=None):
|
|
353
|
+
result = {}
|
|
354
|
+
|
|
355
|
+
report_per_class_metrics = (
|
|
356
|
+
self.task_config.panoptic_quality_evaluator.report_per_class_metrics)
|
|
357
|
+
panoptic_quality_results = self.panoptic_quality_metric.result()
|
|
358
|
+
for k, value in panoptic_quality_results.items():
|
|
359
|
+
if k.endswith('per_class'):
|
|
360
|
+
if report_per_class_metrics:
|
|
361
|
+
for i, per_class_value in enumerate(value):
|
|
362
|
+
metric_key = 'panoptic_quality/{}/class_{}'.format(k, i)
|
|
363
|
+
result[metric_key] = per_class_value
|
|
364
|
+
else:
|
|
365
|
+
continue
|
|
366
|
+
else:
|
|
367
|
+
result['panoptic_quality/{}'.format(k)] = value
|
|
368
|
+
return result
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
@task_factory.register_task_cls(exp_cfg.MaskConverSegTask)
|
|
372
|
+
class MaskConverSegmentation(semantic_segmentation.SemanticSegmentationTask):
|
|
373
|
+
|
|
374
|
+
"""A single-replica view of training procedure.
|
|
375
|
+
|
|
376
|
+
MaskConver task provides artifacts for training/evalution procedures,
|
|
377
|
+
including loading/iterating over Datasets, initializing the model, calculating
|
|
378
|
+
the loss, post-processing, and customized metrics with reduction.
|
|
379
|
+
"""
|
|
380
|
+
|
|
381
|
+
def build_model(self) -> tf_keras.Model:
|
|
382
|
+
"""Build maskconver model."""
|
|
383
|
+
|
|
384
|
+
tf_keras.utils.set_random_seed(0)
|
|
385
|
+
tf.config.experimental.enable_op_determinism()
|
|
386
|
+
input_specs = tf_keras.layers.InputSpec(
|
|
387
|
+
shape=[None] + self.task_config.model.input_size)
|
|
388
|
+
|
|
389
|
+
l2_weight_decay = self.task_config.losses.l2_weight_decay
|
|
390
|
+
# Divide weight decay by 2.0 to match the implementation of tf.nn.l2_loss.
|
|
391
|
+
# (https://www.tensorflow.org/api_docs/python/tf/keras/regularizers/l2)
|
|
392
|
+
# (https://www.tensorflow.org/api_docs/python/tf/nn/l2_loss)
|
|
393
|
+
l2_regularizer = (tf_keras.regularizers.l2(
|
|
394
|
+
l2_weight_decay / 2.0) if l2_weight_decay else None)
|
|
395
|
+
|
|
396
|
+
model = factory.build_maskconver_model(
|
|
397
|
+
input_specs=input_specs,
|
|
398
|
+
model_config=self.task_config.model,
|
|
399
|
+
l2_regularizer=l2_regularizer,
|
|
400
|
+
segmentation_inference=True)
|
|
401
|
+
return model
|
|
402
|
+
|
|
403
|
+
def build_inputs(self,
|
|
404
|
+
params: exp_cfg.DataConfig,
|
|
405
|
+
input_context: Optional[tf.distribute.InputContext] = None):
|
|
406
|
+
"""Builds classification input."""
|
|
407
|
+
|
|
408
|
+
ignore_label = self.task_config.losses.ignore_label
|
|
409
|
+
|
|
410
|
+
decoder = segmentation_input.Decoder()
|
|
411
|
+
|
|
412
|
+
parser = maskconver_segmentation_input.Parser(
|
|
413
|
+
output_size=params.output_size,
|
|
414
|
+
num_classes=self.task_config.model.num_classes,
|
|
415
|
+
crop_size=params.crop_size,
|
|
416
|
+
ignore_label=ignore_label,
|
|
417
|
+
resize_eval_groundtruth=params.resize_eval_groundtruth,
|
|
418
|
+
groundtruth_padded_size=params.groundtruth_padded_size,
|
|
419
|
+
aug_scale_min=params.aug_scale_min,
|
|
420
|
+
aug_scale_max=params.aug_scale_max,
|
|
421
|
+
aug_rand_hflip=params.aug_rand_hflip,
|
|
422
|
+
preserve_aspect_ratio=params.preserve_aspect_ratio,
|
|
423
|
+
level=self.task_config.model.level,
|
|
424
|
+
aug_type=params.aug_type,
|
|
425
|
+
max_num_stuff_centers=params.max_num_stuff_centers,
|
|
426
|
+
dtype=params.dtype)
|
|
427
|
+
|
|
428
|
+
reader = input_reader_factory.input_reader_generator(
|
|
429
|
+
params,
|
|
430
|
+
dataset_fn=dataset_fn.pick_dataset_fn(params.file_type),
|
|
431
|
+
decoder_fn=decoder.decode,
|
|
432
|
+
parser_fn=parser.parse_fn(params.is_training))
|
|
433
|
+
|
|
434
|
+
dataset = reader.read(input_context=input_context)
|
|
435
|
+
|
|
436
|
+
return dataset
|
|
437
|
+
|
|
438
|
+
def build_losses(self,
|
|
439
|
+
outputs: Mapping[str, Any],
|
|
440
|
+
labels: Mapping[str, Any],
|
|
441
|
+
aux_losses: Optional[Any] = None,
|
|
442
|
+
step=None) -> Dict[str, tf.Tensor]:
|
|
443
|
+
"""Build Panoptic Mask R-CNN losses."""
|
|
444
|
+
loss_params = self._task_config.losses
|
|
445
|
+
|
|
446
|
+
# b, h, w, c = outputs['class_heatmaps'].get_shape().as_list()
|
|
447
|
+
batch_size = tf.cast(tf.shape(labels['num_instances'])[0], tf.float32)
|
|
448
|
+
center_loss_fn = maskconver_losses.PenaltyReducedLogisticFocalLoss(
|
|
449
|
+
alpha=loss_params.alpha, beta=loss_params.beta)
|
|
450
|
+
mask_loss_fn = maskconver_losses.PenaltyReducedLogisticFocalLoss()
|
|
451
|
+
|
|
452
|
+
true_flattened_ct_heatmap = loss_ops.flatten_spatial_dimensions(
|
|
453
|
+
labels['seg_ct_heatmaps'])
|
|
454
|
+
true_flattened_ct_heatmap = tf.cast(true_flattened_ct_heatmap, tf.float32)
|
|
455
|
+
|
|
456
|
+
pred_flattened_ct_heatmap = loss_ops.flatten_spatial_dimensions(
|
|
457
|
+
outputs['class_heatmaps'])
|
|
458
|
+
pred_flattened_ct_heatmap = tf.cast(pred_flattened_ct_heatmap, tf.float32)
|
|
459
|
+
center_valid_mask = labels['seg_valid_mask'][:, :, :, None]
|
|
460
|
+
center_valid_mask = tf.image.resize(
|
|
461
|
+
center_valid_mask, tf.shape(
|
|
462
|
+
labels['seg_ct_heatmaps'])[1:3], method='nearest')
|
|
463
|
+
center_valid_mask = tf.maximum(center_valid_mask, 0.0)
|
|
464
|
+
center_valid_mask = center_valid_mask * tf.ones_like(
|
|
465
|
+
labels['seg_ct_heatmaps'])
|
|
466
|
+
weights_flattened_mask = loss_ops.flatten_spatial_dimensions(
|
|
467
|
+
center_valid_mask)
|
|
468
|
+
center_loss = center_loss_fn(
|
|
469
|
+
target_tensor=true_flattened_ct_heatmap,
|
|
470
|
+
prediction_tensor=pred_flattened_ct_heatmap,
|
|
471
|
+
weights=weights_flattened_mask)
|
|
472
|
+
|
|
473
|
+
center_loss = tf.reduce_sum(
|
|
474
|
+
center_loss /
|
|
475
|
+
(labels['num_instances'][:, None, None] + 1.0)) / batch_size
|
|
476
|
+
|
|
477
|
+
gt_masks = labels['seg_masks']
|
|
478
|
+
gt_mask_weights = labels['seg_mask_weights'][:, None,
|
|
479
|
+
None, :] * tf.ones_like(
|
|
480
|
+
gt_masks)
|
|
481
|
+
valid_mask = labels['seg_valid_mask'][:, :, :,
|
|
482
|
+
None] * tf.ones_like(gt_masks)
|
|
483
|
+
|
|
484
|
+
true_flattened_masks = loss_ops.flatten_spatial_dimensions(gt_masks)
|
|
485
|
+
true_flattened_ct_heatmap = tf.cast(true_flattened_ct_heatmap, tf.float32)
|
|
486
|
+
predicted_masks = tf.cast(outputs['mask_proposal_logits'], tf.float32)
|
|
487
|
+
predicted_masks = tf.image.resize(
|
|
488
|
+
predicted_masks, tf.shape(gt_masks)[1:3], method='bilinear')
|
|
489
|
+
pred_flattened_masks = loss_ops.flatten_spatial_dimensions(predicted_masks)
|
|
490
|
+
mask_loss = tf.cast(0.0, tf.float32)
|
|
491
|
+
|
|
492
|
+
mask_loss_fn = tf_keras.losses.BinaryCrossentropy(
|
|
493
|
+
from_logits=True,
|
|
494
|
+
label_smoothing=0.0,
|
|
495
|
+
axis=-1,
|
|
496
|
+
reduction=tf_keras.losses.Reduction.NONE,
|
|
497
|
+
name='binary_crossentropy')
|
|
498
|
+
mask_weights = tf.reshape(
|
|
499
|
+
tf.cast(true_flattened_masks >= 0, tf.float32),
|
|
500
|
+
[-1, 1]) * tf.reshape(gt_mask_weights, [-1, 1]) * tf.reshape(
|
|
501
|
+
(valid_mask), [-1, 1])
|
|
502
|
+
mask_loss = mask_loss_fn(
|
|
503
|
+
tf.reshape(gt_masks, [-1, 1]),
|
|
504
|
+
tf.reshape(pred_flattened_masks, [-1, 1]),
|
|
505
|
+
sample_weight=mask_weights)
|
|
506
|
+
|
|
507
|
+
mask_loss = tf.reduce_sum(mask_loss) / (tf.reduce_sum(mask_weights) + 1.0)
|
|
508
|
+
|
|
509
|
+
total_loss = (center_loss + loss_params.mask_weight * mask_loss)
|
|
510
|
+
|
|
511
|
+
if aux_losses:
|
|
512
|
+
total_loss += tf.add_n(aux_losses)
|
|
513
|
+
|
|
514
|
+
total_loss = loss_params.loss_weight * total_loss
|
|
515
|
+
|
|
516
|
+
losses = {'total_loss': total_loss,
|
|
517
|
+
'mask_loss': mask_loss,
|
|
518
|
+
'center_loss': center_loss}
|
|
519
|
+
return losses
|
|
520
|
+
|
|
521
|
+
def build_metrics(self, training: bool = True) -> List[
|
|
522
|
+
tf_keras.metrics.Metric]:
|
|
523
|
+
"""Build detection metrics."""
|
|
524
|
+
metrics = []
|
|
525
|
+
if training:
|
|
526
|
+
metric_names = [
|
|
527
|
+
'total_loss',
|
|
528
|
+
'center_loss',
|
|
529
|
+
'mask_loss',
|
|
530
|
+
]
|
|
531
|
+
for name in metric_names:
|
|
532
|
+
metrics.append(tf_keras.metrics.Mean(name, dtype=tf.float32))
|
|
533
|
+
else:
|
|
534
|
+
self.iou_metric = segmentation_metrics.PerClassIoU(
|
|
535
|
+
name='per_class_iou',
|
|
536
|
+
num_classes=self.task_config.model.num_classes,
|
|
537
|
+
rescale_predictions=False,
|
|
538
|
+
dtype=tf.float32)
|
|
539
|
+
|
|
540
|
+
return metrics
|
|
541
|
+
|
|
542
|
+
def train_step(self,
|
|
543
|
+
inputs: Tuple[Any, Any],
|
|
544
|
+
model: tf_keras.Model,
|
|
545
|
+
optimizer: tf_keras.optimizers.Optimizer,
|
|
546
|
+
metrics: Optional[List[Any]] = None) -> Dict[str, Any]:
|
|
547
|
+
"""Does forward and backward.
|
|
548
|
+
|
|
549
|
+
Args:
|
|
550
|
+
inputs: a dictionary of input tensors.
|
|
551
|
+
model: the model, forward pass definition.
|
|
552
|
+
optimizer: the optimizer for this training step.
|
|
553
|
+
metrics: a nested structure of metrics objects.
|
|
554
|
+
|
|
555
|
+
Returns:
|
|
556
|
+
A dictionary of logs.
|
|
557
|
+
"""
|
|
558
|
+
images, labels = inputs
|
|
559
|
+
num_replicas = tf.distribute.get_strategy().num_replicas_in_sync
|
|
560
|
+
|
|
561
|
+
with tf.GradientTape() as tape:
|
|
562
|
+
outputs = model(
|
|
563
|
+
images,
|
|
564
|
+
box_indices=labels['seg_box_indices'],
|
|
565
|
+
classes=labels['seg_classes'],
|
|
566
|
+
training=True)
|
|
567
|
+
outputs = tf.nest.map_structure(
|
|
568
|
+
lambda x: tf.cast(x, tf.float32), outputs)
|
|
569
|
+
|
|
570
|
+
# Computes per-replica loss.
|
|
571
|
+
losses = self.build_losses(
|
|
572
|
+
outputs=outputs,
|
|
573
|
+
labels=labels,
|
|
574
|
+
aux_losses=model.losses,
|
|
575
|
+
step=optimizer.iterations)
|
|
576
|
+
scaled_loss = losses['total_loss'] / num_replicas
|
|
577
|
+
|
|
578
|
+
# For mixed_precision policy, when LossScaleOptimizer is used, loss is
|
|
579
|
+
# scaled for numerical stability.
|
|
580
|
+
if isinstance(optimizer, tf_keras.mixed_precision.LossScaleOptimizer):
|
|
581
|
+
scaled_loss = optimizer.get_scaled_loss(scaled_loss)
|
|
582
|
+
|
|
583
|
+
tvars = model.trainable_variables
|
|
584
|
+
grads = tape.gradient(scaled_loss, tvars)
|
|
585
|
+
# Scales back gradient when LossScaleOptimizer is used.
|
|
586
|
+
if isinstance(optimizer, tf_keras.mixed_precision.LossScaleOptimizer):
|
|
587
|
+
grads = optimizer.get_unscaled_gradients(grads)
|
|
588
|
+
optimizer.apply_gradients(list(zip(grads, tvars)))
|
|
589
|
+
|
|
590
|
+
logs = {self.loss: losses['total_loss']}
|
|
591
|
+
|
|
592
|
+
if metrics:
|
|
593
|
+
for m in metrics:
|
|
594
|
+
m.update_state(losses[m.name])
|
|
595
|
+
|
|
596
|
+
return logs
|
|
597
|
+
|
|
598
|
+
def validation_step(self,
|
|
599
|
+
inputs: Tuple[Any, Any],
|
|
600
|
+
model: tf_keras.Model,
|
|
601
|
+
metrics: Optional[List[Any]] = None):
|
|
602
|
+
"""Validatation step.
|
|
603
|
+
|
|
604
|
+
Args:
|
|
605
|
+
inputs: a dictionary of input tensors.
|
|
606
|
+
model: the keras.Model.
|
|
607
|
+
metrics: a nested structure of metrics objects.
|
|
608
|
+
|
|
609
|
+
Returns:
|
|
610
|
+
A dictionary of logs.
|
|
611
|
+
"""
|
|
612
|
+
features, labels = inputs
|
|
613
|
+
|
|
614
|
+
outputs = model(
|
|
615
|
+
features,
|
|
616
|
+
image_info=labels['image_info'],
|
|
617
|
+
training=False)
|
|
618
|
+
outputs = tf.nest.map_structure(lambda x: tf.cast(x, tf.float32), outputs)
|
|
619
|
+
|
|
620
|
+
logs = {self.loss: 0}
|
|
621
|
+
outputs = tf.one_hot(
|
|
622
|
+
tf.cast(outputs['panoptic_outputs']['category_mask'], tf.int32),
|
|
623
|
+
self.task_config.model.num_classes)
|
|
624
|
+
|
|
625
|
+
self.iou_metric.update_state(labels, tf.cast(outputs, tf.float32))
|
|
626
|
+
return logs
|
|
627
|
+
|
|
628
|
+
def aggregate_logs(self, state=None, step_outputs=None):
|
|
629
|
+
if state is None:
|
|
630
|
+
self.iou_metric.reset_states()
|
|
631
|
+
state = self.iou_metric
|
|
632
|
+
return state
|
|
633
|
+
|
|
634
|
+
def reduce_aggregated_logs(self, aggregated_logs, global_step=None):
|
|
635
|
+
result = {}
|
|
636
|
+
ious = self.iou_metric.result()
|
|
637
|
+
for i, value in enumerate(ious.numpy()):
|
|
638
|
+
result.update({'iou/{}'.format(i): value})
|
|
639
|
+
# Computes mean IoU
|
|
640
|
+
result.update({'mean_iou': tf.reduce_mean(ious).numpy()})
|
|
641
|
+
return result
|