All notable changes to the maskrcnn with tensorflow 2 will be documented in this file.
- ResNet's backbones got
resnet_leaky_relu
option. - Mask and classifier heads also got
mask_head_leaky_relu
andcls_head_leaky_relu
options. - Extended ResNets and EfficientNets backbones: added ResNet152, EfficientNet [B4, B5, B6, B7] backbones.
- ResNeXt backbones [50, 101].
- SE-ResNet backbones [18, 34, 50, 101, 152].
- SE-ResNeXt backbones [50, 101].
- SE-Net backbones [154].
- New tensorboard log folder format:
[maskrcnn_<BACKBONE_NAME>_<YYYY-MM-DD_hh-mm-ss>]
logs
folder now is generated outsidesrc
- Updated
README.md
- Normalization issue. Now normalization can be specified via model config in
src/common/config.py
. - ONNX ZeroPadding for TensorRT engines.
-
There is a drop in performance after ONNX modification for TRT, also NaNs happens in TensorRT model output. The issue is under research.
-
TensorRT:
../rtSafe/cublas/cublasLtWrapper.cpp (279) - Assertion Error in getCublasLtHeuristic: 0 (cublasStatus == CUBLAS_STATUS_SUCCESS)
- Possible cause: cuda and TensorRT versions mismatch;
- Possible workaround if error still exists - remove cublasLt from tacticSources:
- fp32:
trtexec --onnx=<PATH_TO_ONNX_GRAPH> --saveEngine=<PATH_TO_TRT_ENGINE> --tacticSources=-cublasLt,+cublas --workspace=<WORKSPACE_SIZE> --verbose
- fp16:
trtexec --onnx=<PATH_TO_ONNX_GRAPH> --saveEngine=<PATH_TO_TRT_ENGINE> --tacticSources=-cublasLt,+cublas --fp16 --workspace=<WORKSPACE_SIZE> --verbose
- fp32:
-
Tensorlfow v2.5: AttributeError: module 'keras.utils' has no attribute 'get_file'
-
Possible cause: the influence of keras-nightly automatically suggested with tensorflow installation.
-
Possible workaround:
Open
__init__.py
in<ANACONDA_PATH>/envs/tf2.5/lib/python3.8/site-packages/classification_models
Modify file:
import keras_applications as ka from .__version__ import __version__ import tensorflow.keras.utils as utils def get_submodules_from_kwargs(kwargs): backend = kwargs.get('backend', ka._KERAS_BACKEND) layers = kwargs.get('layers', ka._KERAS_LAYERS) models = kwargs.get('models', ka._KERAS_MODELS) return backend, layers, models, utils
-
-
senet154
,efficientnetb5
,efficientnetb6
,efficientnetb7
backbones are not tested enough for now because of the high GPU memory consumption. Thus, the model withsenet154
backbone may be not supported for ONNX graph modification.
steps_per_epoch
calculation insrc/preprocess/preprocess.py
. Related issue.