0% found this document useful (0 votes)
3 views

Object Detection in Scarla

The document outlines the process of implementing object detection in the CARLA simulator using two approaches: Mobilenet v2 SSD FPNlite and Retinanet from METAAI. It details the stages involved in training the Mobilenet v2 SSD, including configuration, dataset checks, tfrecord generation, and installation of necessary libraries. Additionally, it highlights issues encountered during the installation of TensorFlow Object Detection API and compatibility warnings related to various dependencies.

Uploaded by

Mukenze junior
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Object Detection in Scarla

The document outlines the process of implementing object detection in the CARLA simulator using two approaches: Mobilenet v2 SSD FPNlite and Retinanet from METAAI. It details the stages involved in training the Mobilenet v2 SSD, including configuration, dataset checks, tfrecord generation, and installation of necessary libraries. Additionally, it highlights issues encountered during the installation of TensorFlow Object Detection API and compatibility warnings related to various dependencies.

Uploaded by

Mukenze junior
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 68

Object detection in CARLA

Approaches overview

1. Mobilenet v2 SSD FPNlite 640*640 via TFOD API (Transfer learning)


2. Retinanet from METAAI

1. Mobilenet v2 SSD

Approaches overview
A. Configuration stage
B. Dataset sanity check stage.
C. Tfrecord generation stage.
D. Tfrecord sanity check stage.
E. Training stage.
F. Inference stage.

A. Configuration stage

Creating labels.pbtxt which is mandatory for TFOD

In [1]: labels_path = '/kaggle/working/labels.pbtxt'

labels = [
{'name': 'Vehicle', 'id': 1},
{'name': 'Bike', 'id': 2},
{'name': 'Motorbike', 'id': 3},
{'name': 'Traffic Light', 'id': 4},
{'name': 'Traffic Sign', 'id': 5},
]

with open(labels_path, 'w') as f:


for label in labels:
f.write('item {\n')
f.write(f' id: {label["id"]}\n')
f.write(f' name: \'{label["name"]}\'\n')
f.write('}\n')
Cloning tensorflow models directory

In [2]: !git clone https://github.com/tensorflow/models.git

Cloning into 'models'...


remote: Enumerating objects: 90114, done.
remote: Counting objects: 100% (145/145), done.
remote: Compressing objects: 100% (92/92), done.
remote: Total 90114 (delta 80), reused 100 (delta 50), pack-reused 89969
Receiving objects: 100% (90114/90114), 606.64 MiB | 31.85 MiB/s, done.
Resolving deltas: 100% (64913/64913), done.

Building protobuff files

In [3]: import os
os.chdir('/kaggle/working/models/research')

In [4]: !protoc object_detection/protos/*.proto --python_out=.

Cloning cocoapi

In [5]: !git clone https://github.com/cocodataset/cocoapi.git

Cloning into 'cocoapi'...


remote: Enumerating objects: 975, done.
remote: Total 975 (delta 0), reused 0 (delta 0), pack-reused 975
Receiving objects: 100% (975/975), 11.72 MiB | 30.24 MiB/s, done.
Resolving deltas: 100% (576/576), done.

In [6]: os.chdir('cocoapi/PythonAPI')

In [7]: !make

python setup.py build_ext --inplace


Compiling pycocotools/_mask.pyx because it changed.
[1/1] Cythonizing pycocotools/_mask.pyx
/opt/conda/lib/python3.10/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cyth
on directive 'language_level' not set, using '3str' for now (Py3). This has changed from
earlier releases! File: /kaggle/working/models/research/cocoapi/PythonAPI/pycocotools/_m
ask.pyx
tree = Parsing.p_module(s, pxd, full_module_name)
../common/maskApi.c: In function ‘rleDecode’:
../common/maskApi.c:46:7: warning: this ‘for’ clause does not guard... [ ]8;;https://gc
c.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmisleading-indentation -Wmisleading
-indentation ]8;; ]
46 | for( k=0; k<R[i].cnts[j]; k++ ) *(M++)=v; v=!v; }}
| ^~~
../common/maskApi.c:46:49: note: ...this statement, but the latter is misleadingly inden
ted as if it were guarded by the ‘for’
46 | for( k=0; k<R[i].cnts[j]; k++ ) *(M++)=v; v=!v; }}
| ^
../common/maskApi.c: In function ‘rleFrPoly’:
../common/maskApi.c:166:3: warning: this ‘for’ clause does not guard... [ ]8;;https://gc
c.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmisleading-indentation -Wmisleading
-indentation ]8;; ]
166 | for(j=0; j<k; j++) x[j]=(int)(scale*xy[j*2+0]+.5); x[k]=x[0];
| ^~~
../common/maskApi.c:166:54: note: ...this statement, but the latter is misleadingly inde
nted as if it were guarded by the ‘for’
166 | for(j=0; j<k; j++) x[j]=(int)(scale*xy[j*2+0]+.5); x[k]=x[0];
| ^
../common/maskApi.c:167:3: warning: this ‘for’ clause does not guard... [ ]8;;https://gc
c.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmisleading-indentation -Wmisleading
-indentation ]8;; ]
167 | for(j=0; j<k; j++) y[j]=(int)(scale*xy[j*2+1]+.5); y[k]=y[0];
| ^~~
../common/maskApi.c:167:54: note: ...this statement, but the latter is misleadingly inde
nted as if it were guarded by the ‘for’
167 | for(j=0; j<k; j++) y[j]=(int)(scale*xy[j*2+1]+.5); y[k]=y[0];
| ^
../common/maskApi.c: In function ‘rleToString’:
../common/maskApi.c:212:7: warning: this ‘if’ clause does not guard... [ ]8;;https://gc
c.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmisleading-indentation -Wmisleading
-indentation ]8;; ]
212 | if(more) c |= 0x20; c+=48; s[p++]=c;
| ^~
../common/maskApi.c:212:27: note: ...this statement, but the latter is misleadingly inde
nted as if it were guarded by the ‘if’
212 | if(more) c |= 0x20; c+=48; s[p++]=c;
| ^
../common/maskApi.c: In function ‘rleFrString’:
../common/maskApi.c:220:3: warning: this ‘while’ clause does not guard... [ ]8;;https://
gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmisleading-indentation -Wmisleadi
ng-indentation ]8;; ]
220 | while( s[m] ) m++; cnts=malloc(sizeof(uint)*m); m=0;
| ^~~~~
../common/maskApi.c:220:22: note: ...this statement, but the latter is misleadingly inde
nted as if it were guarded by the ‘while’
220 | while( s[m] ) m++; cnts=malloc(sizeof(uint)*m); m=0;
| ^~~~
../common/maskApi.c:228:5: warning: this ‘if’ clause does not guard... [ ]8;;https://gc
c.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmisleading-indentation -Wmisleading
-indentation ]8;; ]
228 | if(m>2) x+=(long) cnts[m-2]; cnts[m++]=(uint) x;
| ^~
../common/maskApi.c:228:34: note: ...this statement, but the latter is misleadingly inde
nted as if it were guarded by the ‘if’
228 | if(m>2) x+=(long) cnts[m-2]; cnts[m++]=(uint) x;
| ^~~~
rm -rf build

Moving cocoapi to research directory

In [8]: cp -r pycocotools /kaggle/working/models/research

Installing tfod via setup.py

In [9]: os.chdir('/kaggle/working/models/research')

In [10]: !cp object_detection/packages/tf2/setup.py .

In [11]: !pip install . --quiet

ERROR: pip's dependency resolver does not currently take into account all the packages t
hat are installed. This behaviour is the source of the following dependency conflicts.
cudf 23.8.0 requires cupy-cuda11x>=12.0.0, which is not installed.
cuml 23.8.0 requires cupy-cuda11x>=12.0.0, which is not installed.
dask-cudf 23.8.0 requires cupy-cuda11x>=12.0.0, which is not installed.
beatrix-jupyterlab 2023.814.150030 requires jupyter-server~=1.16, but you have jupyter-s
erver 2.10.0 which is incompatible.
beatrix-jupyterlab 2023.814.150030 requires jupyterlab~=3.4, but you have jupyterlab 4.
0.5 which is incompatible.
cudf 23.8.0 requires pandas<1.6.0dev0,>=1.3, but you have pandas 2.0.3 which is incompat
ible.
cudf 23.8.0 requires protobuf<5,>=4.21, but you have protobuf 3.20.3 which is incompatib
le.
cudf 23.8.0 requires pyarrow==11.*, but you have pyarrow 9.0.0 which is incompatible.
cuml 23.8.0 requires dask==2023.7.1, but you have dask 2023.11.0 which is incompatible.
cuml 23.8.0 requires distributed==2023.7.1, but you have distributed 2023.11.0 which is
incompatible.
dask-cudf 23.8.0 requires dask==2023.7.1, but you have dask 2023.11.0 which is incompati
ble.
dask-cudf 23.8.0 requires distributed==2023.7.1, but you have distributed 2023.11.0 whic
h is incompatible.
dask-cudf 23.8.0 requires pandas<1.6.0dev0,>=1.3, but you have pandas 2.0.3 which is inc
ompatible.
multiprocess 0.70.15 requires dill>=0.3.7, but you have dill 0.3.1.1 which is incompatib
le.
pathos 0.3.1 requires dill>=0.3.7, but you have dill 0.3.1.1 which is incompatible.
pymc3 3.11.5 requires numpy<1.22.2,>=1.15.0, but you have numpy 1.24.3 which is incompat
ible.
pymc3 3.11.5 requires scipy<1.8.0,>=1.7.3, but you have scipy 1.11.3 which is incompatib
le.
pytoolconfig 1.2.6 requires packaging>=22.0, but you have packaging 21.3 which is incomp
atible.
tensorflow-decision-forests 1.5.0 requires tensorflow~=2.13.0, but you have tensorflow
2.15.0.post1 which is incompatible.
tensorflowjs 4.13.0 requires packaging~=23.1, but you have packaging 21.3 which is incom
patible.
tensorstore 0.1.48 requires ml-dtypes>=0.3.1, but you have ml-dtypes 0.2.0 which is inco
mpatible.
ydata-profiling 4.5.1 requires numpy<1.24,>=1.16.0, but you have numpy 1.24.3 which is i
ncompatible.

Checking if TFOD API is installed or not

In [12]: !python object_detection/builders/model_builder_tf2_test.py

2023-12-06 15:30:45.482885: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:92


61] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN wh
en one has already been registered
2023-12-06 15:30:45.482946: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:60
7] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT whe
n one has already been registered
2023-12-06 15:30:45.484526: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1
515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS
when one has already been registered
/opt/conda/lib/python3.10/site-packages/scipy/__init__.py:146: UserWarning: A NumPy vers
ion >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.3
warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"
Running tests under Python 3.10.12: /opt/conda/bin/python
[ RUN ] ModelBuilderTF2Test.test_create_center_net_deepmac
W1206 15:30:50.421749 132593044195136 batch_normalization.py:1531] `tf.keras.layers.expe
rimental.SyncBatchNormalization` endpoint is deprecated and will be removed in a future
release. Please use `tf.keras.layers.BatchNormalization` with parameter `synchronized` s
et to True.
/opt/conda/lib/python3.10/site-packages/object_detection/builders/model_builder.py:1112:
DeprecationWarning: The 'warn' function is deprecated, use 'warning' instead
logging.warn(('Building experimental DeepMAC meta-arch.'
W1206 15:30:50.776346 132593044195136 model_builder.py:1112] Building experimental DeepM
AC meta-arch. Some features may be omitted.
I1206 15:30:51.171510 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_center_net_deepmac): 0.78s
[ OK ] ModelBuilderTF2Test.test_create_center_net_deepmac
[ RUN ] ModelBuilderTF2Test.test_create_center_net_model0 (customize_head_params=Tr
ue)
I1206 15:30:52.044584 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_center_net_model0 (customize_head_params=True)): 0.87s
[ OK ] ModelBuilderTF2Test.test_create_center_net_model0 (customize_head_params=Tr
ue)
[ RUN ] ModelBuilderTF2Test.test_create_center_net_model1 (customize_head_params=Fa
lse)
I1206 15:30:52.629566 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_center_net_model1 (customize_head_params=False)): 0.58s
[ OK ] ModelBuilderTF2Test.test_create_center_net_model1 (customize_head_params=Fa
lse)
[ RUN ] ModelBuilderTF2Test.test_create_center_net_model_from_keypoints
I1206 15:30:53.017223 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_center_net_model_from_keypoints): 0.39s
[ OK ] ModelBuilderTF2Test.test_create_center_net_model_from_keypoints
[ RUN ] ModelBuilderTF2Test.test_create_center_net_model_mobilenet
I1206 15:30:55.688695 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_center_net_model_mobilenet): 2.67s
[ OK ] ModelBuilderTF2Test.test_create_center_net_model_mobilenet
[ RUN ] ModelBuilderTF2Test.test_create_experimental_model
I1206 15:30:55.701458 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_experimental_model): 0.0s
[ OK ] ModelBuilderTF2Test.test_create_experimental_model
[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_from_config_with_crop_feature0
(True)
I1206 15:30:55.734241 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_faster_rcnn_from_config_with_crop_feature0 (True)): 0.03s
[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_from_config_with_crop_feature0
(True)
[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_from_config_with_crop_feature1
(False)
I1206 15:30:55.756796 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_faster_rcnn_from_config_with_crop_feature1 (False)): 0.02s
[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_from_config_with_crop_feature1
(False)
[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_model_from_config_with_example_
miner
I1206 15:30:55.779231 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_faster_rcnn_model_from_config_with_example_miner): 0.02s
[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_model_from_config_with_example_
miner
[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_faster_rcnn_
with_matmul
I1206 15:30:55.937537 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_faster_rcnn_models_from_config_faster_rcnn_with_matmul): 0.16s
[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_faster_rcnn_
with_matmul
[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_faster_rcnn_
without_matmul
I1206 15:30:56.079972 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_faster_rcnn_models_from_config_faster_rcnn_without_matmul): 0.14s
[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_faster_rcnn_
without_matmul
[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_mask_rcnn_wi
th_matmul
I1206 15:30:56.240513 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_faster_rcnn_models_from_config_mask_rcnn_with_matmul): 0.16s
[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_mask_rcnn_wi
th_matmul
[ RUN ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_mask_rcnn_wi
thout_matmul
I1206 15:30:56.378381 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_faster_rcnn_models_from_config_mask_rcnn_without_matmul): 0.14s
[ OK ] ModelBuilderTF2Test.test_create_faster_rcnn_models_from_config_mask_rcnn_wi
thout_matmul
[ RUN ] ModelBuilderTF2Test.test_create_rfcn_model_from_config
I1206 15:30:56.511117 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_rfcn_model_from_config): 0.13s
[ OK ] ModelBuilderTF2Test.test_create_rfcn_model_from_config
[ RUN ] ModelBuilderTF2Test.test_create_ssd_fpn_model_from_config
I1206 15:30:56.551141 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_ssd_fpn_model_from_config): 0.04s
[ OK ] ModelBuilderTF2Test.test_create_ssd_fpn_model_from_config
[ RUN ] ModelBuilderTF2Test.test_create_ssd_models_from_config
I1206 15:30:56.803620 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:161] E
fficientDet EfficientNet backbone version: efficientnet-b0
I1206 15:30:56.803850 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:163] E
fficientDet BiFPN num filters: 64
I1206 15:30:56.803997 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:164] E
fficientDet BiFPN num iterations: 3
I1206 15:30:56.807743 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=32
I1206 15:30:56.838178 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=32
I1206 15:30:56.838349 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=16
I1206 15:30:56.932679 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=16
I1206 15:30:56.932877 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=24
I1206 15:30:57.168013 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=24
I1206 15:30:57.168199 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=40
I1206 15:30:57.390701 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=40
I1206 15:30:57.390903 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=80
I1206 15:30:57.732402 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=80
I1206 15:30:57.732626 132593044195136 efficientnet_model.py:143] round_filter input=112
output=112
I1206 15:30:58.079139 132593044195136 efficientnet_model.py:143] round_filter input=112
output=112
I1206 15:30:58.079373 132593044195136 efficientnet_model.py:143] round_filter input=192
output=192
I1206 15:30:58.536695 132593044195136 efficientnet_model.py:143] round_filter input=192
output=192
I1206 15:30:58.536923 132593044195136 efficientnet_model.py:143] round_filter input=320
output=320
I1206 15:30:58.651467 132593044195136 efficientnet_model.py:143] round_filter input=1280
output=1280
I1206 15:30:58.710716 132593044195136 efficientnet_model.py:453] Building model efficien
tnet with params ModelConfig(width_coefficient=1.0, depth_coefficient=1.0, resolution=22
4, dropout_rate=0.2, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_siz
e=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_co
nv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kerne
l_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fus
ed_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40,
kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=Tru
e, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filter
s=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_ski
p=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_f
ilters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25,
id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, o
utput_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio
=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters
=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), s
e_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters
=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum
=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min
_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet',
rescale_input=False, data_format='channels_last', dtype='float32')
I1206 15:30:58.788481 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:161] E
fficientDet EfficientNet backbone version: efficientnet-b1
I1206 15:30:58.788705 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:163] E
fficientDet BiFPN num filters: 88
I1206 15:30:58.788830 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:164] E
fficientDet BiFPN num iterations: 4
I1206 15:30:58.791380 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=32
I1206 15:30:58.810536 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=32
I1206 15:30:58.810727 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=16
I1206 15:30:59.214196 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=16
I1206 15:30:59.214493 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=24
I1206 15:30:59.549561 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=24
I1206 15:30:59.549785 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=40
I1206 15:30:59.854387 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=40
I1206 15:30:59.854609 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=80
I1206 15:31:00.258671 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=80
I1206 15:31:00.258896 132593044195136 efficientnet_model.py:143] round_filter input=112
output=112
I1206 15:31:00.660097 132593044195136 efficientnet_model.py:143] round_filter input=112
output=112
I1206 15:31:00.660358 132593044195136 efficientnet_model.py:143] round_filter input=192
output=192
I1206 15:31:01.184133 132593044195136 efficientnet_model.py:143] round_filter input=192
output=192
I1206 15:31:01.184372 132593044195136 efficientnet_model.py:143] round_filter input=320
output=320
I1206 15:31:01.418013 132593044195136 efficientnet_model.py:143] round_filter input=1280
output=1280
I1206 15:31:01.467670 132593044195136 efficientnet_model.py:453] Building model efficien
tnet with params ModelConfig(width_coefficient=1.0, depth_coefficient=1.1, resolution=24
0, dropout_rate=0.2, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_siz
e=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_co
nv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kerne
l_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fus
ed_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40,
kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=Tru
e, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filter
s=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_ski
p=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_f
ilters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25,
id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, o
utput_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio
=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters
=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), s
e_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters
=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum
=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min
_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet',
rescale_input=False, data_format='channels_last', dtype='float32')
I1206 15:31:01.557992 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:161] E
fficientDet EfficientNet backbone version: efficientnet-b2
I1206 15:31:01.558186 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:163] E
fficientDet BiFPN num filters: 112
I1206 15:31:01.558278 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:164] E
fficientDet BiFPN num iterations: 5
I1206 15:31:01.560830 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=32
I1206 15:31:01.580437 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=32
I1206 15:31:01.580587 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=16
I1206 15:31:01.732003 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=16
I1206 15:31:01.732203 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=24
I1206 15:31:02.022842 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=24
I1206 15:31:02.023081 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=48
I1206 15:31:02.359359 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=48
I1206 15:31:02.359591 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=88
I1206 15:31:02.804574 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=88
I1206 15:31:02.804812 132593044195136 efficientnet_model.py:143] round_filter input=112
output=120
I1206 15:31:03.262536 132593044195136 efficientnet_model.py:143] round_filter input=112
output=120
I1206 15:31:03.262755 132593044195136 efficientnet_model.py:143] round_filter input=192
output=208
I1206 15:31:03.885092 132593044195136 efficientnet_model.py:143] round_filter input=192
output=208
I1206 15:31:03.885333 132593044195136 efficientnet_model.py:143] round_filter input=320
output=352
I1206 15:31:04.140045 132593044195136 efficientnet_model.py:143] round_filter input=1280
output=1408
I1206 15:31:04.196051 132593044195136 efficientnet_model.py:453] Building model efficien
tnet with params ModelConfig(width_coefficient=1.1, depth_coefficient=1.2, resolution=26
0, dropout_rate=0.3, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_siz
e=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_co
nv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kerne
l_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fus
ed_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40,
kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=Tru
e, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filter
s=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_ski
p=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_f
ilters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25,
id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, o
utput_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio
=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters
=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), s
e_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters
=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum
=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min
_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet',
rescale_input=False, data_format='channels_last', dtype='float32')
I1206 15:31:04.286451 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:161] E
fficientDet EfficientNet backbone version: efficientnet-b3
I1206 15:31:04.286643 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:163] E
fficientDet BiFPN num filters: 160
I1206 15:31:04.286730 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:164] E
fficientDet BiFPN num iterations: 6
I1206 15:31:04.289329 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=40
I1206 15:31:04.312072 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=40
I1206 15:31:04.312216 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=24
I1206 15:31:04.491741 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=24
I1206 15:31:04.491914 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=32
I1206 15:31:04.820065 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=32
I1206 15:31:04.820296 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=48
I1206 15:31:05.142856 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=48
I1206 15:31:05.143068 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=96
I1206 15:31:05.704180 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=96
I1206 15:31:05.704442 132593044195136 efficientnet_model.py:143] round_filter input=112
output=136
I1206 15:31:06.327230 132593044195136 efficientnet_model.py:143] round_filter input=112
output=136
I1206 15:31:06.327450 132593044195136 efficientnet_model.py:143] round_filter input=192
output=232
I1206 15:31:07.045375 132593044195136 efficientnet_model.py:143] round_filter input=192
output=232
I1206 15:31:07.045613 132593044195136 efficientnet_model.py:143] round_filter input=320
output=384
I1206 15:31:07.306574 132593044195136 efficientnet_model.py:143] round_filter input=1280
output=1536
I1206 15:31:07.365343 132593044195136 efficientnet_model.py:453] Building model efficien
tnet with params ModelConfig(width_coefficient=1.2, depth_coefficient=1.4, resolution=30
0, dropout_rate=0.3, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_siz
e=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_co
nv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kerne
l_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fus
ed_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40,
kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=Tru
e, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filter
s=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_ski
p=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_f
ilters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25,
id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, o
utput_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio
=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters
=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), s
e_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters
=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum
=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min
_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet',
rescale_input=False, data_format='channels_last', dtype='float32')
I1206 15:31:07.461810 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:161] E
fficientDet EfficientNet backbone version: efficientnet-b4
I1206 15:31:07.462063 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:163] E
fficientDet BiFPN num filters: 224
I1206 15:31:07.462190 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:164] E
fficientDet BiFPN num iterations: 7
I1206 15:31:07.464818 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=48
I1206 15:31:07.488912 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=48
I1206 15:31:07.489091 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=24
I1206 15:31:07.651250 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=24
I1206 15:31:07.651462 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=32
I1206 15:31:08.050592 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=32
I1206 15:31:08.050809 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=56
I1206 15:31:08.487865 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=56
I1206 15:31:08.488101 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=112
I1206 15:31:09.528684 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=112
I1206 15:31:09.528914 132593044195136 efficientnet_model.py:143] round_filter input=112
output=160
I1206 15:31:10.227505 132593044195136 efficientnet_model.py:143] round_filter input=112
output=160
I1206 15:31:10.227730 132593044195136 efficientnet_model.py:143] round_filter input=192
output=272
I1206 15:31:11.207184 132593044195136 efficientnet_model.py:143] round_filter input=192
output=272
I1206 15:31:11.207429 132593044195136 efficientnet_model.py:143] round_filter input=320
output=448
I1206 15:31:11.496233 132593044195136 efficientnet_model.py:143] round_filter input=1280
output=1792
I1206 15:31:11.556699 132593044195136 efficientnet_model.py:453] Building model efficien
tnet with params ModelConfig(width_coefficient=1.4, depth_coefficient=1.8, resolution=38
0, dropout_rate=0.4, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_siz
e=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_co
nv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kerne
l_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fus
ed_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40,
kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=Tru
e, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filter
s=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_ski
p=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_f
ilters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25,
id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, o
utput_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio
=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters
=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), s
e_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters
=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum
=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min
_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet',
rescale_input=False, data_format='channels_last', dtype='float32')
I1206 15:31:11.671062 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:161] E
fficientDet EfficientNet backbone version: efficientnet-b5
I1206 15:31:11.671274 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:163] E
fficientDet BiFPN num filters: 288
I1206 15:31:11.671394 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:164] E
fficientDet BiFPN num iterations: 7
I1206 15:31:11.674003 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=48
I1206 15:31:11.693092 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=48
I1206 15:31:11.693242 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=24
I1206 15:31:11.943119 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=24
I1206 15:31:11.943365 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=40
I1206 15:31:12.503245 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=40
I1206 15:31:12.503490 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=64
I1206 15:31:13.079493 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=64
I1206 15:31:13.079720 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=128
I1206 15:31:13.865382 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=128
I1206 15:31:13.865620 132593044195136 efficientnet_model.py:143] round_filter input=112
output=176
I1206 15:31:14.676808 132593044195136 efficientnet_model.py:143] round_filter input=112
output=176
I1206 15:31:14.677049 132593044195136 efficientnet_model.py:143] round_filter input=192
output=304
I1206 15:31:15.798667 132593044195136 efficientnet_model.py:143] round_filter input=192
output=304
I1206 15:31:15.798894 132593044195136 efficientnet_model.py:143] round_filter input=320
output=512
I1206 15:31:16.249909 132593044195136 efficientnet_model.py:143] round_filter input=1280
output=2048
I1206 15:31:16.314661 132593044195136 efficientnet_model.py:453] Building model efficien
tnet with params ModelConfig(width_coefficient=1.6, depth_coefficient=2.2, resolution=45
6, dropout_rate=0.4, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_siz
e=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_co
nv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kerne
l_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fus
ed_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40,
kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=Tru
e, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filter
s=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_ski
p=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_f
ilters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25,
id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, o
utput_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio
=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters
=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), s
e_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters
=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum
=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min
_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet',
rescale_input=False, data_format='channels_last', dtype='float32')
I1206 15:31:16.445335 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:161] E
fficientDet EfficientNet backbone version: efficientnet-b6
I1206 15:31:16.445552 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:163] E
fficientDet BiFPN num filters: 384
I1206 15:31:16.445693 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:164] E
fficientDet BiFPN num iterations: 8
I1206 15:31:16.448309 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=56
I1206 15:31:16.471783 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=56
I1206 15:31:16.471930 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=32
I1206 15:31:16.742321 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=32
I1206 15:31:16.742539 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=40
I1206 15:31:17.352594 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=40
I1206 15:31:17.352832 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=72
I1206 15:31:18.030185 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=72
I1206 15:31:18.030408 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=144
I1206 15:31:18.938996 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=144
I1206 15:31:18.939274 132593044195136 efficientnet_model.py:143] round_filter input=112
output=200
I1206 15:31:20.191938 132593044195136 efficientnet_model.py:143] round_filter input=112
output=200
I1206 15:31:20.192171 132593044195136 efficientnet_model.py:143] round_filter input=192
output=344
I1206 15:31:21.625049 132593044195136 efficientnet_model.py:143] round_filter input=192
output=344
I1206 15:31:21.625298 132593044195136 efficientnet_model.py:143] round_filter input=320
output=576
I1206 15:31:22.106192 132593044195136 efficientnet_model.py:143] round_filter input=1280
output=2304
I1206 15:31:22.178487 132593044195136 efficientnet_model.py:453] Building model efficien
tnet with params ModelConfig(width_coefficient=1.8, depth_coefficient=2.6, resolution=52
8, dropout_rate=0.5, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_siz
e=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_co
nv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kerne
l_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fus
ed_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40,
kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=Tru
e, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filter
s=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_ski
p=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_f
ilters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25,
id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, o
utput_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio
=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters
=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), s
e_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters
=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum
=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min
_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet',
rescale_input=False, data_format='channels_last', dtype='float32')
I1206 15:31:22.327188 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:161] E
fficientDet EfficientNet backbone version: efficientnet-b7
I1206 15:31:22.327403 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:163] E
fficientDet BiFPN num filters: 384
I1206 15:31:22.327500 132593044195136 ssd_efficientnet_bifpn_feature_extractor.py:164] E
fficientDet BiFPN num iterations: 8
I1206 15:31:22.330019 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=64
I1206 15:31:22.354736 132593044195136 efficientnet_model.py:143] round_filter input=32 o
utput=64
I1206 15:31:22.354907 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=32
I1206 15:31:22.681649 132593044195136 efficientnet_model.py:143] round_filter input=16 o
utput=32
I1206 15:31:22.681890 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=48
I1206 15:31:23.432223 132593044195136 efficientnet_model.py:143] round_filter input=24 o
utput=48
I1206 15:31:23.432457 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=80
I1206 15:31:24.197772 132593044195136 efficientnet_model.py:143] round_filter input=40 o
utput=80
I1206 15:31:24.198039 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=160
I1206 15:31:25.415979 132593044195136 efficientnet_model.py:143] round_filter input=80 o
utput=160
I1206 15:31:25.416221 132593044195136 efficientnet_model.py:143] round_filter input=112
output=224
I1206 15:31:26.594645 132593044195136 efficientnet_model.py:143] round_filter input=112
output=224
I1206 15:31:26.594871 132593044195136 efficientnet_model.py:143] round_filter input=192
output=384
I1206 15:31:28.333499 132593044195136 efficientnet_model.py:143] round_filter input=192
output=384
I1206 15:31:28.333728 132593044195136 efficientnet_model.py:143] round_filter input=320
output=640
I1206 15:31:29.006749 132593044195136 efficientnet_model.py:143] round_filter input=1280
output=2560
I1206 15:31:29.083999 132593044195136 efficientnet_model.py:453] Building model efficien
tnet with params ModelConfig(width_coefficient=2.0, depth_coefficient=3.1, resolution=60
0, dropout_rate=0.5, blocks=(BlockConfig(input_filters=32, output_filters=16, kernel_siz
e=3, num_repeat=1, expand_ratio=1, strides=(1, 1), se_ratio=0.25, id_skip=True, fused_co
nv=False, conv_type='depthwise'), BlockConfig(input_filters=16, output_filters=24, kerne
l_size=3, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=True, fus
ed_conv=False, conv_type='depthwise'), BlockConfig(input_filters=24, output_filters=40,
kernel_size=5, num_repeat=2, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_skip=Tru
e, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=40, output_filter
s=80, kernel_size=3, num_repeat=3, expand_ratio=6, strides=(2, 2), se_ratio=0.25, id_ski
p=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=80, output_f
ilters=112, kernel_size=5, num_repeat=3, expand_ratio=6, strides=(1, 1), se_ratio=0.25,
id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters=112, o
utput_filters=192, kernel_size=5, num_repeat=4, expand_ratio=6, strides=(2, 2), se_ratio
=0.25, id_skip=True, fused_conv=False, conv_type='depthwise'), BlockConfig(input_filters
=192, output_filters=320, kernel_size=3, num_repeat=1, expand_ratio=6, strides=(1, 1), s
e_ratio=0.25, id_skip=True, fused_conv=False, conv_type='depthwise')), stem_base_filters
=32, top_base_filters=1280, activation='simple_swish', batch_norm='default', bn_momentum
=0.99, bn_epsilon=0.001, weight_decay=5e-06, drop_connect_rate=0.2, depth_divisor=8, min
_depth=None, use_se=True, input_channels=3, num_classes=1000, model_name='efficientnet',
rescale_input=False, data_format='channels_last', dtype='float32')
I1206 15:31:29.274458 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_create_ssd_models_from_config): 32.72s
[ OK ] ModelBuilderTF2Test.test_create_ssd_models_from_config
[ RUN ] ModelBuilderTF2Test.test_invalid_faster_rcnn_batchnorm_update
I1206 15:31:29.455348 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_invalid_faster_rcnn_batchnorm_update): 0.02s
[ OK ] ModelBuilderTF2Test.test_invalid_faster_rcnn_batchnorm_update
[ RUN ] ModelBuilderTF2Test.test_invalid_first_stage_nms_iou_threshold
I1206 15:31:29.457693 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_invalid_first_stage_nms_iou_threshold): 0.0s
[ OK ] ModelBuilderTF2Test.test_invalid_first_stage_nms_iou_threshold
[ RUN ] ModelBuilderTF2Test.test_invalid_model_config_proto
I1206 15:31:29.458252 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_invalid_model_config_proto): 0.0s
[ OK ] ModelBuilderTF2Test.test_invalid_model_config_proto
[ RUN ] ModelBuilderTF2Test.test_invalid_second_stage_batch_size
I1206 15:31:29.460177 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_invalid_second_stage_batch_size): 0.0s
[ OK ] ModelBuilderTF2Test.test_invalid_second_stage_batch_size
[ RUN ] ModelBuilderTF2Test.test_session
[ SKIPPED ] ModelBuilderTF2Test.test_session
[ RUN ] ModelBuilderTF2Test.test_unknown_faster_rcnn_feature_extractor
I1206 15:31:29.461853 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_unknown_faster_rcnn_feature_extractor): 0.0s
[ OK ] ModelBuilderTF2Test.test_unknown_faster_rcnn_feature_extractor
[ RUN ] ModelBuilderTF2Test.test_unknown_meta_architecture
I1206 15:31:29.462299 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_unknown_meta_architecture): 0.0s
[ OK ] ModelBuilderTF2Test.test_unknown_meta_architecture
[ RUN ] ModelBuilderTF2Test.test_unknown_ssd_feature_extractor
I1206 15:31:29.463628 132593044195136 test_util.py:2574] time(__main__.ModelBuilderTF2Te
st.test_unknown_ssd_feature_extractor): 0.0s
[ OK ] ModelBuilderTF2Test.test_unknown_ssd_feature_extractor
----------------------------------------------------------------------
Ran 24 tests in 39.076s

OK (skipped=1)

Creating config file for mobilenetv2 SSD along with downloading pretrained model

converts tensorflow 1.x checkpoint to tensorflow 2.x checkpoint


In [13]: !rm -rf /kaggle/working/temp1/

In [14]: !mkdir -p /kaggle/working/temp1


!mkdir -p /kaggle/working

# Downloading the pre-trained model


!wget http://download.tensorflow.org/models/object_detection/tf2/20200711/ssd_mobilenet_v
!tar -zxvf /kaggle/working/temp1/ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8.tar.gz -C

# Updating the paths in the config file


config_content = """
model {
ssd {
inplace_batchnorm_update: true
freeze_batchnorm: false
num_classes: 5
box_coder {
faster_rcnn_box_coder {
y_scale: 10.0
x_scale: 10.0
height_scale: 5.0
width_scale: 5.0
}
}
matcher {
argmax_matcher {
matched_threshold: 0.5
unmatched_threshold: 0.5
ignore_thresholds: false
negatives_lower_than_unmatched: true
force_match_for_each_row: true
use_matmul_gather: true
}
}
similarity_calculator {
iou_similarity {
}
}
encode_background_as_zeros: true
anchor_generator {
multiscale_anchor_generator {
min_level: 3
max_level: 7
anchor_scale: 4.0
aspect_ratios: [1.0, 2.0, 0.5]
scales_per_octave: 2
}
}
image_resizer {
fixed_shape_resizer {
height: 640
width: 640
}
}
box_predictor {
weight_shared_convolutional_box_predictor {
depth: 128
class_prediction_bias_init: -4.6
conv_hyperparams {
activation: RELU_6,
regularizer {
l2_regularizer {
weight: 0.00004
}
}
initializer {
random_normal_initializer {
stddev: 0.01
mean: 0.0
}
}
batch_norm {
scale: true,
decay: 0.997,
epsilon: 0.001,
}
}
num_layers_before_predictor: 4
share_prediction_tower: true
use_depthwise: true
kernel_size: 3
}
}
feature_extractor {
type: 'ssd_mobilenet_v2_fpn_keras'
use_depthwise: true
fpn {
min_level: 3
max_level: 7
additional_layer_depth: 128
}
min_depth: 16
depth_multiplier: 1.0
conv_hyperparams {
activation: RELU_6,
regularizer {
l2_regularizer {
weight: 0.00004
}
}
initializer {
random_normal_initializer {
stddev: 0.01
mean: 0.0
}
}
batch_norm {
scale: true,
decay: 0.997,
epsilon: 0.001,
}
}
override_base_feature_extractor_hyperparams: true
}
loss {
classification_loss {
weighted_sigmoid_focal {
alpha: 0.25
gamma: 2.0
}
}
localization_loss {
weighted_smooth_l1 {
}
}
classification_weight: 1.0
localization_weight: 1.0
}
normalize_loss_by_num_matches: true
normalize_loc_loss_by_codesize: true
post_processing {
batch_non_max_suppression {
score_threshold: 1e-8
iou_threshold: 0.6
max_detections_per_class: 100
max_total_detections: 100
}
score_converter: SIGMOID
}
}
}

train_config: {
fine_tune_checkpoint_version: V2
fine_tune_checkpoint: "/kaggle/working/temp1/ssd_mobilenet_v2_fpnlite_640x640_coco17_t
fine_tune_checkpoint_type: "detection"
batch_size: 1
sync_replicas: true
startup_delay_steps: 0
replicas_to_aggregate: 8
num_steps: 50000
data_augmentation_options {
random_horizontal_flip {
}
}
data_augmentation_options {
random_crop_image {
min_object_covered: 0.0
min_aspect_ratio: 0.75
max_aspect_ratio: 3.0
min_area: 0.75
max_area: 1.0
overlap_thresh: 0.0
}
}
optimizer {
momentum_optimizer: {
learning_rate: {
cosine_decay_learning_rate {
learning_rate_base: .08
total_steps: 50000
warmup_learning_rate: .026666
warmup_steps: 1000
}
}
momentum_optimizer_value: 0.9
}
use_moving_average: false
}
max_number_of_boxes: 100
unpad_groundtruth_tensors: false
}

train_input_reader: {
label_map_path: "/kaggle/working/labels.pbtxt"
tf_record_input_reader {
input_path: "/kaggle/working/train.record"
}
}

eval_config: {
metrics_set: "coco_detection_metrics"
use_moving_averages: false
}

eval_input_reader: {
label_map_path: "/kaggle/working/labels.pbtxt"
shuffle: false
num_epochs: 1
tf_record_input_reader {
input_path: "/kaggle/working/test.record"
}
}
"""

# Writing the updated config file


config_path = "/kaggle/working/ssd_mobilenet_v2_fpnlite_640_config_updated.config"
with open(config_path, "w") as config_file:
config_file.write(config_content)

config_path

--2023-12-06 15:31:34-- http://download.tensorflow.org/models/object_detection/tf2/2020


0711/ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8.tar.gz
Resolving download.tensorflow.org (download.tensorflow.org)... 74.125.142.207, 74.125.19
5.207, 172.253.117.207, ...
Connecting to download.tensorflow.org (download.tensorflow.org)|74.125.142.207|:80... co
nnected.
HTTP request sent, awaiting response... 200 OK
Length: 20518283 (20M) [application/x-tar]
Saving to: ‘/kaggle/working/temp1/ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8.tar.gz’

ssd_mobilenet_v2_fp 100%[===================>] 19.57M --.-KB/s in 0.1s

2023-12-06 15:31:35 (198 MB/s) - ‘/kaggle/working/temp1/ssd_mobilenet_v2_fpnlite_640x640


_coco17_tpu-8.tar.gz’ saved [20518283/20518283]

ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/checkpoint/
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/checkpoint/ckpt-0.data-00000-of-00001
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/checkpoint/checkpoint
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/checkpoint/ckpt-0.index
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/pipeline.config
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/saved_model/
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/saved_model/saved_model.pb
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/saved_model/variables/
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/saved_model/variables/variables.data-00000
-of-00001
ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/saved_model/variables/variables.index
'/kaggle/working/ssd_mobilenet_v2_fpnlite_640_config_updated.config'
Out[14]:

B. Dataset sanity check stage

We are using yolo annotations to parse the bbox, you can use PASCAL VOC format; too

Sanity check of the dataset i.e images and bounding boxes

In [15]: import os
import cv2
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import random

def read_yolo_labels(label_path, img_width, img_height):


with open(label_path, 'r') as file:
lines = file.readlines()

boxes = []
for line in lines:
class_id, x_center, y_center, width, height = map(float, line.strip().split())

# Convert YOLO format to (x_min, y_min, x_max, y_max)


x_min = int((x_center - width / 2) * img_width)
y_min = int((y_center - height / 2) * img_height)
x_max = int((x_center + width / 2) * img_width)
y_max = int((y_center + height / 2) * img_height)

boxes.append((class_id, x_min, y_min, x_max, y_max))

return boxes

def plot_image_with_boxes(image_path, label_path):


# Read image
img = cv2.imread(image_path)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# Read image dimensions


img_height, img_width, _ = img.shape

# Read bounding boxes from YOLO format


boxes = read_yolo_labels(label_path, img_width, img_height)

# Create figure and axes


fig, ax = plt.subplots(1)

# Plot image
ax.imshow(img)

# Plot bounding boxes


for box in boxes:
class_id, x_min, y_min, x_max, y_max = box
rect = patches.Rectangle((x_min, y_min), x_max - x_min, y_max - y_min, linewidth
ax.add_patch(rect)

# Show plot
plt.show()

# Set paths to the train and test folders


train_folder = '/kaggle/input/carla-object-detection-dataset/carla-object-detection-data
test_folder = '/kaggle/input/carla-object-detection-dataset/carla-object-detection-datas

# Get a list of 10 random images from the train folder


train_images = random.sample(os.listdir(train_folder), 10)

# Get a list of 10 random images from the test folder


test_images = random.sample(os.listdir(test_folder), 10)

# Plot bounding boxes for images in the train folder


for image_name in train_images:
image_path = os.path.join(train_folder, image_name)
label_path = os.path.join('/kaggle/input/carla-object-detection-dataset/carla-object
plot_image_with_boxes(image_path, label_path)

# Plot bounding boxes for images in the test folder


for image_name in test_images:
image_path = os.path.join(test_folder, image_name)
label_path = os.path.join('/kaggle/input/carla-object-detection-dataset/carla-object
plot_image_with_boxes(image_path, label_path)
C. TFrecord generation stage

Importing modules

In [16]: import os
import io
import tensorflow as tf
from PIL import Image
from object_detection.utils import dataset_util
from tqdm import tqdm
import matplotlib.pyplot as plt
import numpy as np

2023-12-06 15:31:44.432146: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:92


61] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN wh
en one has already been registered
2023-12-06 15:31:44.432206: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:60
7] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT whe
n one has already been registered
2023-12-06 15:31:44.433594: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1
515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS
when one has already been registered
/opt/conda/lib/python3.10/site-packages/scipy/__init__.py:146: UserWarning: A NumPy vers
ion >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.3
warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"

Creating tfrecord for train and test split

In [17]: train_labels_folder = '/kaggle/input/carla-object-detection-dataset/carla-object-detecti


test_labels_folder = '/kaggle/input/carla-object-detection-dataset/carla-object-detectio
train_folder = '/kaggle/input/carla-object-detection-dataset/carla-object-detection-data
test_folder = '/kaggle/input/carla-object-detection-dataset/carla-object-detection-datas

In [18]: def create_tf_example(image_path, label_path):


with tf.io.gfile.GFile(image_path, 'rb') as fid:
encoded_image_data = fid.read()

image = Image.open(image_path)
width, height = image.size

xmins = []
xmaxs = []
ymins = []
ymaxs = []
classes = []
classes_text = []

with open(label_path, 'r') as file:


lines = file.readlines()
for line in lines:
class_id, x_center, y_center, box_width, box_height = map(float, line.strip(
x_min = max(0, (x_center - box_width / 2))
y_min = max(0, (y_center - box_height / 2))
x_max = min(1, (x_center + box_width / 2))
y_max = min(1, (y_center + box_height / 2))

xmins.append(x_min)
xmaxs.append(x_max)
ymins.append(y_min)
ymaxs.append(y_max)
classes.append(int(class_id))
classes_text.append(str.encode(str(int(class_id))))

tf_example = tf.train.Example(features=tf.train.Features(feature={
'image/height': dataset_util.int64_feature(height),
'image/width': dataset_util.int64_feature(width),
'image/filename': dataset_util.bytes_feature(str.encode(os.path.basename(image_p
'image/source_id': dataset_util.bytes_feature(str.encode(os.path.basename(image_
'image/encoded': dataset_util.bytes_feature(encoded_image_data),
'image/format': dataset_util.bytes_feature(b'png'),
'image/object/bbox/xmin': dataset_util.float_list_feature(xmins),
'image/object/bbox/xmax': dataset_util.float_list_feature(xmaxs),
'image/object/bbox/ymin': dataset_util.float_list_feature(ymins),
'image/object/bbox/ymax': dataset_util.float_list_feature(ymaxs),
'image/object/class/text': dataset_util.bytes_list_feature(classes_text),
'image/object/class/label': dataset_util.int64_list_feature(classes),
}))
return tf_example
def create_tf_record(output_file, image_folder, labels_folder):
writer = tf.io.TFRecordWriter(output_file)
image_files = os.listdir(image_folder)

for image_file in tqdm(image_files):


image_path = os.path.join(image_folder, image_file)
label_path = os.path.join(labels_folder, image_file.replace('.png', '.txt'))
tf_example = create_tf_example(image_path, label_path)
writer.write(tf_example.SerializeToString())

writer.close()

# Paths
output_train_record = '/kaggle/working/train.record'
output_test_record = '/kaggle/working/test.record'

# Creating TFRecord files


create_tf_record(output_train_record, train_folder, train_labels_folder)
create_tf_record(output_test_record, test_folder, test_labels_folder)

100%|██████████| 779/779 [00:13<00:00, 58.81it/s]


100%|██████████| 249/249 [00:04<00:00, 54.22it/s]

D. Tfrecord sanity check stage

Sanity check of the tfrecord files

In [19]: # Function to decode TFRecord examples


def decode_tfrecord(serialized_example):
feature_description = {
'image/height': tf.io.FixedLenFeature([], tf.int64),
'image/width': tf.io.FixedLenFeature([], tf.int64),
'image/filename': tf.io.FixedLenFeature([], tf.string),
'image/source_id': tf.io.FixedLenFeature([], tf.string),
'image/encoded': tf.io.FixedLenFeature([], tf.string),
'image/format': tf.io.FixedLenFeature([], tf.string),
'image/object/bbox/xmin': tf.io.VarLenFeature(tf.float32),
'image/object/bbox/xmax': tf.io.VarLenFeature(tf.float32),
'image/object/bbox/ymin': tf.io.VarLenFeature(tf.float32),
'image/object/bbox/ymax': tf.io.VarLenFeature(tf.float32),
}

example = tf.io.parse_single_example(serialized_example, feature_description)

# Decode image
image = tf.image.decode_image(example['image/encoded'])
image = tf.image.convert_image_dtype(image, tf.uint8)

# Get bounding box coordinates


xmins = tf.sparse.to_dense(example['image/object/bbox/xmin'])
xmaxs = tf.sparse.to_dense(example['image/object/bbox/xmax'])
ymins = tf.sparse.to_dense(example['image/object/bbox/ymin'])
ymaxs = tf.sparse.to_dense(example['image/object/bbox/ymax'])

return image, xmins, xmaxs, ymins, ymaxs

# Function to visualize bounding boxes on images


def visualize_tfrecord(image, xmins, xmaxs, ymins, ymaxs):
image = np.array(image)
plt.imshow(image)

num_boxes = min(xmins.shape[0], 100) # Limit visualization to the first 100 boxes f

for i in range(num_boxes):
xmin, xmax, ymin, ymax = xmins[i].numpy(), xmaxs[i].numpy(), ymins[i].numpy(), ym
# Convert normalized coordinates to image coordinates
xmin, xmax, ymin, ymax = int(xmin * image.shape[1]), int(xmax * image.shape[1]),
rect = plt.Rectangle((xmin, ymin), xmax - xmin, ymax - ymin,
linewidth=1, edgecolor='r', facecolor='none')
plt.gca().add_patch(rect)

plt.show()

# TFRecord files
train_record_path = '/kaggle/working/train.record'
test_record_path = '/kaggle/working/test.record'

# Creating datasets
train_dataset = tf.data.TFRecordDataset(train_record_path)
test_dataset = tf.data.TFRecordDataset(test_record_path)

print("Train Dataset")

# Visualizing examples from train dataset


for raw_record in train_dataset.take(5): # Visualize the first 5 examples
image, xmins, xmaxs, ymins, ymaxs = decode_tfrecord(raw_record)
visualize_tfrecord(image, xmins, xmaxs, ymins, ymaxs)
print("*********************************************")
print("Test Dataset")
# Visualizing examples from test dataset
for raw_record in test_dataset.take(5): # Visualize the first 5 examples
image, xmins, xmaxs, ymins, ymaxs = decode_tfrecord(raw_record)
visualize_tfrecord(image, xmins, xmaxs, ymins, ymaxs)
print("*********************************************")

Train Dataset
*********************************************
Test Dataset
*********************************************

E. Training stage

Training the model for 10000 steps

In [20]: !pip uninstall tensorflow -y

!pip install tensorflow[and-cuda]==2.13.0


#!pip install tensorflow==2.13.0
import tensorflow as tf

print(tf.__version__)

Found existing installation: tensorflow 2.15.0.post1


Uninstalling tensorflow-2.15.0.post1:
Successfully uninstalled tensorflow-2.15.0.post1
Collecting tensorflow[and-cuda]==2.13.0
Obtaining dependency information for tensorflow[and-cuda]==2.13.0 from https://files.p
ythonhosted.org/packages/5a/f2/5c2f878c62c8b79c629b11b33516bb55054d7677eba6f56f3a20296b5
6bd/tensorflow-2.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadat
a
Downloading tensorflow-2.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.w
hl.metadata (3.4 kB)
WARNING: tensorflow 2.13.0 does not provide the extra 'and-cuda'
Requirement already satisfied: absl-py>=1.0.0 in /opt/conda/lib/python3.10/site-packages
(from tensorflow[and-cuda]==2.13.0) (1.4.0)
Requirement already satisfied: astunparse>=1.6.0 in /opt/conda/lib/python3.10/site-packa
ges (from tensorflow[and-cuda]==2.13.0) (1.6.3)
Requirement already satisfied: flatbuffers>=23.1.21 in /opt/conda/lib/python3.10/site-pa
ckages (from tensorflow[and-cuda]==2.13.0) (23.5.26)
Requirement already satisfied: gast<=0.4.0,>=0.2.1 in /opt/conda/lib/python3.10/site-pac
kages (from tensorflow[and-cuda]==2.13.0) (0.4.0)
Requirement already satisfied: google-pasta>=0.1.1 in /opt/conda/lib/python3.10/site-pac
kages (from tensorflow[and-cuda]==2.13.0) (0.2.0)
Requirement already satisfied: grpcio<2.0,>=1.24.3 in /opt/conda/lib/python3.10/site-pac
kages (from tensorflow[and-cuda]==2.13.0) (1.51.1)
Requirement already satisfied: h5py>=2.9.0 in /opt/conda/lib/python3.10/site-packages (f
rom tensorflow[and-cuda]==2.13.0) (3.9.0)
Collecting keras<2.14,>=2.13.1 (from tensorflow[and-cuda]==2.13.0)
Obtaining dependency information for keras<2.14,>=2.13.1 from https://files.pythonhost
ed.org/packages/2e/f3/19da7511b45e80216cbbd9467137b2d28919c58ba1ccb971435cb631e470/keras
-2.13.1-py3-none-any.whl.metadata
Downloading keras-2.13.1-py3-none-any.whl.metadata (2.4 kB)
Requirement already satisfied: libclang>=13.0.0 in /opt/conda/lib/python3.10/site-packag
es (from tensorflow[and-cuda]==2.13.0) (16.0.6)
Requirement already satisfied: numpy<=1.24.3,>=1.22 in /opt/conda/lib/python3.10/site-pa
ckages (from tensorflow[and-cuda]==2.13.0) (1.24.3)
Requirement already satisfied: opt-einsum>=2.3.2 in /opt/conda/lib/python3.10/site-packa
ges (from tensorflow[and-cuda]==2.13.0) (3.3.0)
Requirement already satisfied: packaging in /opt/conda/lib/python3.10/site-packages (fro
m tensorflow[and-cuda]==2.13.0) (21.3)
Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.
21.5,<5.0.0dev,>=3.20.3 in /opt/conda/lib/python3.10/site-packages (from tensorflow[and-
cuda]==2.13.0) (3.20.3)
Requirement already satisfied: setuptools in /opt/conda/lib/python3.10/site-packages (fr
om tensorflow[and-cuda]==2.13.0) (68.1.2)
Requirement already satisfied: six>=1.12.0 in /opt/conda/lib/python3.10/site-packages (f
rom tensorflow[and-cuda]==2.13.0) (1.16.0)
Collecting tensorboard<2.14,>=2.13 (from tensorflow[and-cuda]==2.13.0)
Downloading tensorboard-2.13.0-py3-none-any.whl (5.6 MB)
5.6/5.6 MB 48.5 MB/s eta 0:00:0000:0100:01
Collecting tensorflow-estimator<2.14,>=2.13.0 (from tensorflow[and-cuda]==2.13.0)
Obtaining dependency information for tensorflow-estimator<2.14,>=2.13.0 from https://f
iles.pythonhosted.org/packages/72/5c/c318268d96791c6222ad7df1651bbd1b2409139afeb6f468c0f
327177016/tensorflow_estimator-2.13.0-py2.py3-none-any.whl.metadata
Downloading tensorflow_estimator-2.13.0-py2.py3-none-any.whl.metadata (1.3 kB)
Requirement already satisfied: termcolor>=1.1.0 in /opt/conda/lib/python3.10/site-packag
es (from tensorflow[and-cuda]==2.13.0) (2.3.0)
Requirement already satisfied: typing-extensions<4.6.0,>=3.6.6 in /opt/conda/lib/python
3.10/site-packages (from tensorflow[and-cuda]==2.13.0) (4.5.0)
Requirement already satisfied: wrapt>=1.11.0 in /opt/conda/lib/python3.10/site-packages
(from tensorflow[and-cuda]==2.13.0) (1.14.1)
Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in /opt/conda/lib/py
thon3.10/site-packages (from tensorflow[and-cuda]==2.13.0) (0.34.0)
Requirement already satisfied: wheel<1.0,>=0.23.0 in /opt/conda/lib/python3.10/site-pack
ages (from astunparse>=1.6.0->tensorflow[and-cuda]==2.13.0) (0.41.2)
Requirement already satisfied: google-auth<3,>=1.6.3 in /opt/conda/lib/python3.10/site-p
ackages (from tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (2.22.0)
Requirement already satisfied: google-auth-oauthlib<1.1,>=0.5 in /opt/conda/lib/python3.
10/site-packages (from tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (1.0.0)
Requirement already satisfied: markdown>=2.6.8 in /opt/conda/lib/python3.10/site-package
s (from tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (3.4.4)
Requirement already satisfied: requests<3,>=2.21.0 in /opt/conda/lib/python3.10/site-pac
kages (from tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (2.31.0)
Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /opt/conda/lib/p
ython3.10/site-packages (from tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (0.
7.1)
Requirement already satisfied: werkzeug>=1.0.1 in /opt/conda/lib/python3.10/site-package
s (from tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (3.0.1)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /opt/conda/lib/python3.10/sit
e-packages (from packaging->tensorflow[and-cuda]==2.13.0) (2.4.7)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in /opt/conda/lib/python3.10/site-
packages (from google-auth<3,>=1.6.3->tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.1
3.0) (4.2.4)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /opt/conda/lib/python3.10/site-p
ackages (from google-auth<3,>=1.6.3->tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.1
3.0) (0.2.7)
Requirement already satisfied: rsa<5,>=3.1.4 in /opt/conda/lib/python3.10/site-packages
(from google-auth<3,>=1.6.3->tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (4.
9)
Requirement already satisfied: urllib3<2.0 in /opt/conda/lib/python3.10/site-packages (f
rom google-auth<3,>=1.6.3->tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (1.26.
15)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /opt/conda/lib/python3.10/sit
e-packages (from google-auth-oauthlib<1.1,>=0.5->tensorboard<2.14,>=2.13->tensorflow[and
-cuda]==2.13.0) (1.3.1)
Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.10/sit
e-packages (from requests<3,>=2.21.0->tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.1
3.0) (3.2.0)
Requirement already satisfied: idna<4,>=2.5 in /opt/conda/lib/python3.10/site-packages
(from requests<3,>=2.21.0->tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (3.4)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.10/site-pack
ages (from requests<3,>=2.21.0->tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0)
(2023.7.22)
Requirement already satisfied: MarkupSafe>=2.1.1 in /opt/conda/lib/python3.10/site-packa
ges (from werkzeug>=1.0.1->tensorboard<2.14,>=2.13->tensorflow[and-cuda]==2.13.0) (2.1.
3)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /opt/conda/lib/python3.10/site-pa
ckages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard<2.14,>=2.13->tens
orflow[and-cuda]==2.13.0) (0.4.8)
Requirement already satisfied: oauthlib>=3.0.0 in /opt/conda/lib/python3.10/site-package
s (from requests-oauthlib>=0.7.0->google-auth-oauthlib<1.1,>=0.5->tensorboard<2.14,>=2.1
3->tensorflow[and-cuda]==2.13.0) (3.2.2)
Downloading keras-2.13.1-py3-none-any.whl (1.7 MB)
1.7/1.7 MB 70.2 MB/s eta 0:00:00
Downloading tensorflow_estimator-2.13.0-py2.py3-none-any.whl (440 kB)
440.8/440.8 kB 38.5 MB/s eta 0:00:00
Downloading tensorflow-2.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
(524.1 MB)
524.1/524.1 MB 2.4 MB/s eta 0:00:00:00:0100:01
Installing collected packages: tensorflow-estimator, keras, tensorboard, tensorflow
Attempting uninstall: tensorflow-estimator
Found existing installation: tensorflow-estimator 2.15.0
Uninstalling tensorflow-estimator-2.15.0:
Successfully uninstalled tensorflow-estimator-2.15.0
Attempting uninstall: keras
Found existing installation: keras 2.15.0
Uninstalling keras-2.15.0:
Successfully uninstalled keras-2.15.0
Attempting uninstall: tensorboard
Found existing installation: tensorboard 2.15.1
Uninstalling tensorboard-2.15.1:
Successfully uninstalled tensorboard-2.15.1
ERROR: pip's dependency resolver does not currently take into account all the packages t
hat are installed. This behaviour is the source of the following dependency conflicts.
tensorflow-text 2.15.0 requires tensorflow<2.16,>=2.15.0; platform_machine != "arm64" or
platform_system != "Darwin", but you have tensorflow 2.13.0 which is incompatible.
tensorflowjs 4.13.0 requires packaging~=23.1, but you have packaging 21.3 which is incom
patible.
tf-models-official 2.15.0 requires tensorflow~=2.15.0, but you have tensorflow 2.13.0 wh
ich is incompatible.
Successfully installed keras-2.13.1 tensorboard-2.13.0 tensorflow-2.13.0 tensorflow-esti
mator-2.13.0
2.15.0

In [ ]: os.chdir('/kaggle/working/models/research')
!python object_detection/model_main_tf2.py --num_train_steps=100000 --model_dir=/kaggle

/opt/conda/lib/python3.10/site-packages/scipy/__init__.py:146: UserWarning: A NumPy vers


ion >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.3
warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"
I1206 15:57:05.520723 133089751570240 mirrored_strategy.py:419] Using MirroredStrategy w
ith devices ('/job:localhost/replica:0/task:0/device:GPU:0',)
I1206 15:57:05.853356 133089751570240 config_util.py:552] Maybe overwriting train_steps:
100000
I1206 15:57:05.853580 133089751570240 config_util.py:552] Maybe overwriting use_bfloat1
6: False
W1206 15:57:05.886639 133089751570240 deprecation.py:364] From /opt/conda/lib/python3.1
0/site-packages/object_detection/model_lib_v2.py:563: StrategyBase.experimental_distribu
te_datasets_from_function (from tensorflow.python.distribute.distribute_lib) is deprecat
ed and will be removed in a future version.
Instructions for updating:
rename to distribute_datasets_from_function
I1206 15:57:05.894201 133089751570240 dataset_builder.py:162] Reading unweighted dataset
s: ['/kaggle/working/train.record']
I1206 15:57:05.894392 133089751570240 dataset_builder.py:79] Reading record datasets for
input file: ['/kaggle/working/train.record']
I1206 15:57:05.894495 133089751570240 dataset_builder.py:80] Number of filenames to rea
d: 1
W1206 15:57:05.894596 133089751570240 dataset_builder.py:86] num_readers has been reduce
d to 1 to match input file shards.
W1206 15:57:05.901490 133089751570240 deprecation.py:364] From /opt/conda/lib/python3.1
0/site-packages/object_detection/builders/dataset_builder.py:100: parallel_interleave (f
rom tensorflow.python.data.experimental.ops.interleave_ops) is deprecated and will be re
moved in a future version.
Instructions for updating:
Use `tf.data.Dataset.interleave(map_func, cycle_length, block_length, num_parallel_calls
=tf.data.AUTOTUNE)` instead. If sloppy execution is desired, use `tf.data.Options.determ
inistic`.
W1206 15:57:05.922215 133089751570240 deprecation.py:364] From /opt/conda/lib/python3.1
0/site-packages/object_detection/builders/dataset_builder.py:235: DatasetV1.map_with_leg
acy_function (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be rem
oved in a future version.
Instructions for updating:
Use `tf.data.Dataset.map()
W1206 15:57:15.402300 133089751570240 deprecation.py:364] From /opt/conda/lib/python3.1
0/site-packages/tensorflow/python/util/dispatch.py:1176: sparse_to_dense (from tensorflo
w.python.ops.sparse_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Create a `tf.sparse.SparseTensor` and use `tf.sparse.to_dense` instead.
W1206 15:57:19.405526 133089751570240 deprecation.py:364] From /opt/conda/lib/python3.1
0/site-packages/tensorflow/python/util/dispatch.py:1176: sample_distorted_bounding_box
(from tensorflow.python.ops.image_ops_impl) is deprecated and will be removed in a futur
e version.
Instructions for updating:
`seed2` arg is deprecated.Use sample_distorted_bounding_box_v2 instead.
W1206 15:57:21.786473 133089751570240 deprecation.py:364] From /opt/conda/lib/python3.1
0/site-packages/tensorflow/python/util/dispatch.py:1176: to_float (from tensorflow.pytho
n.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.cast` instead.
/opt/conda/lib/python3.10/site-packages/keras/src/backend.py:452: UserWarning: `tf.kera
s.backend.set_learning_phase` is deprecated and will be removed after 2020-10-11. To upd
ate it, simply pass a True/False value to the `training` argument of the `__call__` meth
od of your layer or model.
warnings.warn(
I1206 15:57:31.892859 133066253723200 api.py:460] feature_map_spatial_dims: [(80, 80),
(40, 40), (20, 20), (10, 10), (5, 5)]
I1206 15:57:41.623563 133066253723200 api.py:460] feature_map_spatial_dims: [(80, 80),
(40, 40), (20, 20), (10, 10), (5, 5)]
W1206 15:57:48.928303 133083547502144 deprecation.py:569] From /opt/conda/lib/python3.1
0/site-packages/tensorflow/python/util/deprecation.py:648: calling map_fn_v2 (from tenso
rflow.python.ops.map_fn) with dtype is deprecated and will be removed in a future versio
n.
Instructions for updating:
Use fn_output_signature instead
I1206 15:57:50.091495 133083547502144 api.py:460] feature_map_spatial_dims: [(80, 80),
(40, 40), (20, 20), (10, 10), (5, 5)]
I1206 15:57:55.309725 133083547502144 api.py:460] feature_map_spatial_dims: [(80, 80),
(40, 40), (20, 20), (10, 10), (5, 5)]
I1206 15:57:59.717314 133083547502144 api.py:460] feature_map_spatial_dims: [(80, 80),
(40, 40), (20, 20), (10, 10), (5, 5)]
I1206 15:58:04.726455 133083547502144 api.py:460] feature_map_spatial_dims: [(80, 80),
(40, 40), (20, 20), (10, 10), (5, 5)]
I1206 15:58:20.443031 133089751570240 model_lib_v2.py:705] Step 10100 per-step time 0.32
1s
I1206 15:58:20.443430 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.3518144e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.08243552,
'Loss/total_loss': 0.082449034,
'learning_rate': 0.07338293}
I1206 15:58:26.130460 133089751570240 model_lib_v2.py:705] Step 10200 per-step time 0.05
7s
I1206 15:58:26.130852 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.425759e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.08195326,
'Loss/total_loss': 0.08196752,
'learning_rate': 0.073240966}
I1206 15:58:31.804273 133089751570240 model_lib_v2.py:705] Step 10300 per-step time 0.05
7s
I1206 15:58:31.804706 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.3679404e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.081474744,
'Loss/total_loss': 0.08148842,
'learning_rate': 0.07309763}
I1206 15:58:37.444337 133089751570240 model_lib_v2.py:705] Step 10400 per-step time 0.05
6s
I1206 15:58:37.444726 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.279422e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.08099995,
'Loss/total_loss': 0.08101274,
'learning_rate': 0.07295293}
I1206 15:58:43.101295 133089751570240 model_lib_v2.py:705] Step 10500 per-step time 0.05
7s
I1206 15:58:43.102016 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.5638178e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.08052886,
'Loss/total_loss': 0.0805445,
'learning_rate': 0.07280689}
I1206 15:58:48.749262 133089751570240 model_lib_v2.py:705] Step 10600 per-step time 0.05
6s
I1206 15:58:48.749653 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.3112432e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.08006145,
'Loss/total_loss': 0.08007456,
'learning_rate': 0.07265949}
I1206 15:58:54.406809 133089751570240 model_lib_v2.py:705] Step 10700 per-step time 0.05
7s
I1206 15:58:54.407180 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.2464174e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.0795977,
'Loss/total_loss': 0.07961016,
'learning_rate': 0.07251076}
I1206 15:59:00.167487 133089751570240 model_lib_v2.py:705] Step 10800 per-step time 0.05
8s
I1206 15:59:00.167873 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.2532044e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07913758,
'Loss/total_loss': 0.07915011,
'learning_rate': 0.07236068}
I1206 15:59:05.874780 133089751570240 model_lib_v2.py:705] Step 10900 per-step time 0.05
7s
I1206 15:59:05.875168 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.2995417e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07868107,
'Loss/total_loss': 0.07869406,
'learning_rate': 0.07220927}
I1206 15:59:11.553215 133089751570240 model_lib_v2.py:705] Step 11000 per-step time 0.05
7s
I1206 15:59:11.553567 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.2041197e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07822813,
'Loss/total_loss': 0.07824017,
'learning_rate': 0.07205655}
I1206 15:59:11.699242 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:11.701491 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:11.702634 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:11.703647 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:11.708019 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:11.709017 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:11.710090 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:11.711069 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:11.715834 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:11.716820 133089751570240 cross_device_ops.py:617] Reduce to /job:localhost/
replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/devic
e:CPU:0',).
I1206 15:59:18.518108 133089751570240 model_lib_v2.py:705] Step 11100 per-step time 0.07
0s
I1206 15:59:18.518495 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.2677777e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07777877,
'Loss/total_loss': 0.07779145,
'learning_rate': 0.07190249}
I1206 15:59:24.186089 133089751570240 model_lib_v2.py:705] Step 11200 per-step time 0.05
7s
I1206 15:59:24.186503 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.2451028e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.077332936,
'Loss/total_loss': 0.077345386,
'learning_rate': 0.07174714}
I1206 15:59:29.881121 133089751570240 model_lib_v2.py:705] Step 11300 per-step time 0.05
7s
I1206 15:59:29.881500 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.2155647e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07689063,
'Loss/total_loss': 0.07690279,
'learning_rate': 0.071590476}
I1206 15:59:35.519914 133089751570240 model_lib_v2.py:705] Step 11400 per-step time 0.05
6s
I1206 15:59:35.520302 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.2083457e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07645181,
'Loss/total_loss': 0.07646389,
'learning_rate': 0.071432516}
I1206 15:59:41.163283 133089751570240 model_lib_v2.py:705] Step 11500 per-step time 0.05
6s
I1206 15:59:41.163694 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.18649305e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.076016456,
'Loss/total_loss': 0.07602832,
'learning_rate': 0.07127326}
I1206 15:59:46.825744 133089751570240 model_lib_v2.py:705] Step 11600 per-step time 0.05
7s
I1206 15:59:46.826128 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1444556e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.075584546,
'Loss/total_loss': 0.07559599,
'learning_rate': 0.071112715}
I1206 15:59:52.467050 133089751570240 model_lib_v2.py:705] Step 11700 per-step time 0.05
6s
I1206 15:59:52.467410 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1274875e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07515606,
'Loss/total_loss': 0.075167336,
'learning_rate': 0.070950896}
I1206 15:59:58.153777 133089751570240 model_lib_v2.py:705] Step 11800 per-step time 0.05
7s
I1206 15:59:58.154174 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1482636e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07473097,
'Loss/total_loss': 0.07474245,
'learning_rate': 0.07078781}
I1206 16:00:03.797350 133089751570240 model_lib_v2.py:705] Step 11900 per-step time 0.05
6s
I1206 16:00:03.797738 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1322919e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.074309275,
'Loss/total_loss': 0.0743206,
'learning_rate': 0.07062345}
I1206 16:00:09.626064 133089751570240 model_lib_v2.py:705] Step 12000 per-step time 0.05
8s
I1206 16:00:09.626425 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1500242e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07389091,
'Loss/total_loss': 0.07390241,
'learning_rate': 0.07045784}
I1206 16:00:16.570411 133089751570240 model_lib_v2.py:705] Step 12100 per-step time 0.06
9s
I1206 16:00:16.570780 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1846847e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07347589,
'Loss/total_loss': 0.07348774,
'learning_rate': 0.07029097}
I1206 16:00:22.263904 133089751570240 model_lib_v2.py:705] Step 12200 per-step time 0.05
7s
I1206 16:00:22.264326 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.3966901e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.073064186,
'Loss/total_loss': 0.073078156,
'learning_rate': 0.07012285}
I1206 16:00:27.966950 133089751570240 model_lib_v2.py:705] Step 12300 per-step time 0.05
7s
I1206 16:00:27.967410 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0901958e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07265575,
'Loss/total_loss': 0.07266665,
'learning_rate': 0.06995351}
I1206 16:00:33.712026 133089751570240 model_lib_v2.py:705] Step 12400 per-step time 0.05
7s
I1206 16:00:33.712413 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.10100755e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.0722506,
'Loss/total_loss': 0.07226161,
'learning_rate': 0.06978292}
I1206 16:00:39.485508 133089751570240 model_lib_v2.py:705] Step 12500 per-step time 0.05
8s
I1206 16:00:39.485897 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1256572e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07184868,
'Loss/total_loss': 0.07185994,
'learning_rate': 0.06961112}
I1206 16:00:45.169760 133089751570240 model_lib_v2.py:705] Step 12600 per-step time 0.05
7s
I1206 16:00:45.170141 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0851769e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07144998,
'Loss/total_loss': 0.07146083,
'learning_rate': 0.06943809}
I1206 16:00:50.861895 133089751570240 model_lib_v2.py:705] Step 12700 per-step time 0.05
7s
I1206 16:00:50.862285 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1283719e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07105449,
'Loss/total_loss': 0.07106577,
'learning_rate': 0.06926386}
I1206 16:00:56.484821 133089751570240 model_lib_v2.py:705] Step 12800 per-step time 0.05
6s
I1206 16:00:56.485233 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1520884e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07066217,
'Loss/total_loss': 0.07067369,
'learning_rate': 0.06908842}
I1206 16:01:02.144020 133089751570240 model_lib_v2.py:705] Step 12900 per-step time 0.05
7s
I1206 16:01:02.144387 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1764529e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.07027301,
'Loss/total_loss': 0.07028478,
'learning_rate': 0.06891179}
I1206 16:01:07.780194 133089751570240 model_lib_v2.py:705] Step 13000 per-step time 0.05
6s
I1206 16:01:07.780560 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0306472e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06988698,
'Loss/total_loss': 0.06989729,
'learning_rate': 0.068733975}
I1206 16:01:14.681467 133089751570240 model_lib_v2.py:705] Step 13100 per-step time 0.06
9s
I1206 16:01:14.681864 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0785624e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06950407,
'Loss/total_loss': 0.069514856,
'learning_rate': 0.068554975}
I1206 16:01:20.378256 133089751570240 model_lib_v2.py:705] Step 13200 per-step time 0.05
7s
I1206 16:01:20.378605 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.06433e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06912425,
'Loss/total_loss': 0.0691349,
'learning_rate': 0.0683748}
I1206 16:01:26.013966 133089751570240 model_lib_v2.py:705] Step 13300 per-step time 0.05
6s
I1206 16:01:26.014391 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1717582e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.0687475,
'Loss/total_loss': 0.06875922,
'learning_rate': 0.06819345}
I1206 16:01:31.695324 133089751570240 model_lib_v2.py:705] Step 13400 per-step time 0.05
7s
I1206 16:01:31.695762 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0570018e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.068373784,
'Loss/total_loss': 0.06838436,
'learning_rate': 0.06801095}
I1206 16:01:37.419607 133089751570240 model_lib_v2.py:705] Step 13500 per-step time 0.05
7s
I1206 16:01:37.419965 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0679964e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06800311,
'Loss/total_loss': 0.06801379,
'learning_rate': 0.0678273}
I1206 16:01:43.038830 133089751570240 model_lib_v2.py:705] Step 13600 per-step time 0.05
6s
I1206 16:01:43.039234 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.2287173e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06763543,
'Loss/total_loss': 0.06764772,
'learning_rate': 0.0676425}
I1206 16:01:48.717360 133089751570240 model_lib_v2.py:705] Step 13700 per-step time 0.05
7s
I1206 16:01:48.717729 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0702035e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.067270756,
'Loss/total_loss': 0.067281455,
'learning_rate': 0.06745657}
I1206 16:01:54.359023 133089751570240 model_lib_v2.py:705] Step 13800 per-step time 0.05
6s
I1206 16:01:54.359367 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.965342e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06690904,
'Loss/total_loss': 0.06691901,
'learning_rate': 0.06726951}
I1206 16:02:00.012191 133089751570240 model_lib_v2.py:705] Step 13900 per-step time 0.05
7s
I1206 16:02:00.012580 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0352861e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06655026,
'Loss/total_loss': 0.06656062,
'learning_rate': 0.067081325}
I1206 16:02:05.679233 133089751570240 model_lib_v2.py:705] Step 14000 per-step time 0.05
7s
I1206 16:02:05.679577 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0011192e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.0661944,
'Loss/total_loss': 0.066204414,
'learning_rate': 0.06689203}
I1206 16:02:12.543862 133089751570240 model_lib_v2.py:705] Step 14100 per-step time 0.06
9s
I1206 16:02:12.544218 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0417178e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06584145,
'Loss/total_loss': 0.06585187,
'learning_rate': 0.06670163}
I1206 16:02:18.221654 133089751570240 model_lib_v2.py:705] Step 14200 per-step time 0.05
7s
I1206 16:02:18.222044 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.13996475e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06549138,
'Loss/total_loss': 0.06550278,
'learning_rate': 0.06651013}
I1206 16:02:23.851334 133089751570240 model_lib_v2.py:705] Step 14300 per-step time 0.05
6s
I1206 16:02:23.851731 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.1269514e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06514417,
'Loss/total_loss': 0.06515544,
'learning_rate': 0.06631755}
I1206 16:02:29.493441 133089751570240 model_lib_v2.py:705] Step 14400 per-step time 0.05
6s
I1206 16:02:29.493831 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.6326785e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.0647998,
'Loss/total_loss': 0.064809434,
'learning_rate': 0.06612387}
I1206 16:02:35.146946 133089751570240 model_lib_v2.py:705] Step 14500 per-step time 0.05
7s
I1206 16:02:35.147327 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.902627e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06445826,
'Loss/total_loss': 0.06446816,
'learning_rate': 0.06592914}
I1206 16:02:40.768730 133089751570240 model_lib_v2.py:705] Step 14600 per-step time 0.05
6s
I1206 16:02:40.769126 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0873915e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.064119525,
'Loss/total_loss': 0.064130396,
'learning_rate': 0.06573333}
I1206 16:02:46.421128 133089751570240 model_lib_v2.py:705] Step 14700 per-step time 0.05
7s
I1206 16:02:46.421482 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.5569685e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06378356,
'Loss/total_loss': 0.06379312,
'learning_rate': 0.06553646}
I1206 16:02:52.100282 133089751570240 model_lib_v2.py:705] Step 14800 per-step time 0.05
7s
I1206 16:02:52.100664 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.90837e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.063450366,
'Loss/total_loss': 0.063460276,
'learning_rate': 0.065338545}
I1206 16:02:57.739553 133089751570240 model_lib_v2.py:705] Step 14900 per-step time 0.05
6s
I1206 16:02:57.739923 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.676629e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.0631199,
'Loss/total_loss': 0.06312958,
'learning_rate': 0.06513958}
I1206 16:03:03.360250 133089751570240 model_lib_v2.py:705] Step 15000 per-step time 0.05
6s
I1206 16:03:03.360636 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.317002e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06279217,
'Loss/total_loss': 0.06280149,
'learning_rate': 0.064939596}
I1206 16:03:10.311300 133089751570240 model_lib_v2.py:705] Step 15100 per-step time 0.07
0s
I1206 16:03:10.311659 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.502218e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06246714,
'Loss/total_loss': 0.062476642,
'learning_rate': 0.06473857}
I1206 16:03:16.050773 133089751570240 model_lib_v2.py:705] Step 15200 per-step time 0.05
7s
I1206 16:03:16.051181 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.814612e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.062144794,
'Loss/total_loss': 0.06215461,
'learning_rate': 0.06453654}
I1206 16:03:21.759820 133089751570240 model_lib_v2.py:705] Step 15300 per-step time 0.05
7s
I1206 16:03:21.760348 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.606538e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06182511,
'Loss/total_loss': 0.06183472,
'learning_rate': 0.06433349}
I1206 16:03:27.412730 133089751570240 model_lib_v2.py:705] Step 15400 per-step time 0.05
7s
I1206 16:03:27.413110 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.51511e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06150808,
'Loss/total_loss': 0.061517596,
'learning_rate': 0.06412946}
I1206 16:03:33.078879 133089751570240 model_lib_v2.py:705] Step 15500 per-step time 0.05
7s
I1206 16:03:33.079297 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.584767e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.061193664,
'Loss/total_loss': 0.06120325,
'learning_rate': 0.063924424}
I1206 16:03:38.826749 133089751570240 model_lib_v2.py:705] Step 15600 per-step time 0.05
7s
I1206 16:03:38.827168 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.466845e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.060881868,
'Loss/total_loss': 0.060891334,
'learning_rate': 0.0637184}
I1206 16:03:44.519492 133089751570240 model_lib_v2.py:705] Step 15700 per-step time 0.05
7s
I1206 16:03:44.520034 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.6860485e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06057266,
'Loss/total_loss': 0.060582347,
'learning_rate': 0.06351141}
I1206 16:03:50.235929 133089751570240 model_lib_v2.py:705] Step 15800 per-step time 0.05
7s
I1206 16:03:50.236310 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.820724e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.06026602,
'Loss/total_loss': 0.06027584,
'learning_rate': 0.06330345}
I1206 16:03:55.931994 133089751570240 model_lib_v2.py:705] Step 15900 per-step time 0.05
7s
I1206 16:03:55.932370 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.955616e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05996194,
'Loss/total_loss': 0.059970897,
'learning_rate': 0.06309453}
I1206 16:04:01.581078 133089751570240 model_lib_v2.py:705] Step 16000 per-step time 0.05
6s
I1206 16:04:01.581449 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.132353e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05966039,
'Loss/total_loss': 0.05966952,
'learning_rate': 0.062884666}
I1206 16:04:08.423825 133089751570240 model_lib_v2.py:705] Step 16100 per-step time 0.06
8s
I1206 16:04:08.424230 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.893378e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05936135,
'Loss/total_loss': 0.059370242,
'learning_rate': 0.06267385}
I1206 16:04:14.061730 133089751570240 model_lib_v2.py:705] Step 16200 per-step time 0.05
6s
I1206 16:04:14.062133 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.135996e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.059064813,
'Loss/total_loss': 0.059073947,
'learning_rate': 0.062462118}
I1206 16:04:19.746173 133089751570240 model_lib_v2.py:705] Step 16300 per-step time 0.05
7s
I1206 16:04:19.746575 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.5610545e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.058770757,
'Loss/total_loss': 0.058779318,
'learning_rate': 0.06224946}
I1206 16:04:25.394531 133089751570240 model_lib_v2.py:705] Step 16400 per-step time 0.05
6s
I1206 16:04:25.394880 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.877069e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05847916,
'Loss/total_loss': 0.058489036,
'learning_rate': 0.062035877}
I1206 16:04:31.023871 133089751570240 model_lib_v2.py:705] Step 16500 per-step time 0.05
6s
I1206 16:04:31.024338 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.598022e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05819,
'Loss/total_loss': 0.058198597,
'learning_rate': 0.061821394}
I1206 16:04:36.746566 133089751570240 model_lib_v2.py:705] Step 16600 per-step time 0.05
7s
I1206 16:04:36.747027 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.590446e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05790327,
'Loss/total_loss': 0.05791186,
'learning_rate': 0.061606016}
I1206 16:04:42.503744 133089751570240 model_lib_v2.py:705] Step 16700 per-step time 0.05
8s
I1206 16:04:42.504145 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.233695e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05761895,
'Loss/total_loss': 0.057628185,
'learning_rate': 0.06138974}
I1206 16:04:48.134999 133089751570240 model_lib_v2.py:705] Step 16800 per-step time 0.05
6s
I1206 16:04:48.135341 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.093257e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.057337012,
'Loss/total_loss': 0.057346106,
'learning_rate': 0.061172597}
I1206 16:04:53.789146 133089751570240 model_lib_v2.py:705] Step 16900 per-step time 0.05
7s
I1206 16:04:53.789531 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.645584e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.057057455,
'Loss/total_loss': 0.0570661,
'learning_rate': 0.06095458}
I1206 16:04:59.475115 133089751570240 model_lib_v2.py:705] Step 17000 per-step time 0.05
7s
I1206 16:04:59.475493 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.708065e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05678025,
'Loss/total_loss': 0.05678896,
'learning_rate': 0.060735703}
I1206 16:05:06.353511 133089751570240 model_lib_v2.py:705] Step 17100 per-step time 0.06
9s
I1206 16:05:06.353890 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.826539e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.056505386,
'Loss/total_loss': 0.056515213,
'learning_rate': 0.060515966}
I1206 16:05:12.085500 133089751570240 model_lib_v2.py:705] Step 17200 per-step time 0.05
7s
I1206 16:05:12.085833 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
1.0174678e-05,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05623284,
'Loss/total_loss': 0.056243014,
'learning_rate': 0.060295396}
I1206 16:05:17.762559 133089751570240 model_lib_v2.py:705] Step 17300 per-step time 0.05
7s
I1206 16:05:17.762920 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.2731385e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.055962604,
'Loss/total_loss': 0.055970877,
'learning_rate': 0.060073983}
I1206 16:05:23.419783 133089751570240 model_lib_v2.py:705] Step 17400 per-step time 0.05
7s
I1206 16:05:23.420137 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.215744e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.055694647,
'Loss/total_loss': 0.05570286,
'learning_rate': 0.05985175}
I1206 16:05:29.048245 133089751570240 model_lib_v2.py:705] Step 17500 per-step time 0.05
6s
I1206 16:05:29.048635 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.565777e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.055428963,
'Loss/total_loss': 0.055437528,
'learning_rate': 0.0596287}
I1206 16:05:35.014388 133089751570240 model_lib_v2.py:705] Step 17600 per-step time 0.05
6s
I1206 16:05:35.014771 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.456105e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.055165537,
'Loss/total_loss': 0.055173993,
'learning_rate': 0.05940484}
I1206 16:05:40.683321 133089751570240 model_lib_v2.py:705] Step 17700 per-step time 0.06
0s
I1206 16:05:40.683687 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.218648e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05490434,
'Loss/total_loss': 0.05491256,
'learning_rate': 0.059180185}
I1206 16:05:46.377219 133089751570240 model_lib_v2.py:705] Step 17800 per-step time 0.05
7s
I1206 16:05:46.377552 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.134988e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05464537,
'Loss/total_loss': 0.054653507,
'learning_rate': 0.05895474}
I1206 16:05:52.039450 133089751570240 model_lib_v2.py:705] Step 17900 per-step time 0.05
7s
I1206 16:05:52.039801 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.632918e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.054388598,
'Loss/total_loss': 0.05439723,
'learning_rate': 0.058728524}
I1206 16:05:57.688626 133089751570240 model_lib_v2.py:705] Step 18000 per-step time 0.05
7s
I1206 16:05:57.689085 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.37082e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05413403,
'Loss/total_loss': 0.0541424,
'learning_rate': 0.058501527}
I1206 16:06:04.581948 133089751570240 model_lib_v2.py:705] Step 18100 per-step time 0.06
9s
I1206 16:06:04.582358 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.5154525e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05388161,
'Loss/total_loss': 0.053890128,
'learning_rate': 0.058273777}
I1206 16:06:10.261625 133089751570240 model_lib_v2.py:705] Step 18200 per-step time 0.05
7s
I1206 16:06:10.262028 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.307955e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.053631354,
'Loss/total_loss': 0.05363966,
'learning_rate': 0.05804527}
I1206 16:06:15.958304 133089751570240 model_lib_v2.py:705] Step 18300 per-step time 0.05
7s
I1206 16:06:15.958698 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.401514e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.053383246,
'Loss/total_loss': 0.053391647,
'learning_rate': 0.05781603}
I1206 16:06:21.621402 133089751570240 model_lib_v2.py:705] Step 18400 per-step time 0.05
7s
I1206 16:06:21.621771 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.968116e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.053137258,
'Loss/total_loss': 0.053145226,
'learning_rate': 0.057586048}
I1206 16:06:27.282091 133089751570240 model_lib_v2.py:705] Step 18500 per-step time 0.05
7s
I1206 16:06:27.282465 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.247139e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.052893378,
'Loss/total_loss': 0.052901626,
'learning_rate': 0.05735535}
I1206 16:06:32.913781 133089751570240 model_lib_v2.py:705] Step 18600 per-step time 0.05
6s
I1206 16:06:32.914179 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
9.008749e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.052651588,
'Loss/total_loss': 0.052660596,
'learning_rate': 0.057123937}
I1206 16:06:38.558002 133089751570240 model_lib_v2.py:705] Step 18700 per-step time 0.05
6s
I1206 16:06:38.558367 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.829884e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.052411877,
'Loss/total_loss': 0.052419707,
'learning_rate': 0.056891818}
I1206 16:06:44.187354 133089751570240 model_lib_v2.py:705] Step 18800 per-step time 0.05
6s
I1206 16:06:44.187899 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.9657715e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.052174233,
'Loss/total_loss': 0.0521832,
'learning_rate': 0.056659}
I1206 16:06:49.860157 133089751570240 model_lib_v2.py:705] Step 18900 per-step time 0.05
7s
I1206 16:06:49.860535 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.117559e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05193863,
'Loss/total_loss': 0.051946748,
'learning_rate': 0.056425504}
I1206 16:06:55.538929 133089751570240 model_lib_v2.py:705] Step 19000 per-step time 0.05
7s
I1206 16:06:55.539314 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.733097e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05170505,
'Loss/total_loss': 0.051712785,
'learning_rate': 0.056191333}
I1206 16:07:02.410550 133089751570240 model_lib_v2.py:705] Step 19100 per-step time 0.06
9s
I1206 16:07:02.410942 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.2097895e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.051473506,
'Loss/total_loss': 0.051481716,
'learning_rate': 0.055956498}
I1206 16:07:08.047026 133089751570240 model_lib_v2.py:705] Step 19200 per-step time 0.05
6s
I1206 16:07:08.047442 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.813125e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.051243953,
'Loss/total_loss': 0.051251765,
'learning_rate': 0.055721}
I1206 16:07:13.694123 133089751570240 model_lib_v2.py:705] Step 19300 per-step time 0.05
6s
I1206 16:07:13.694526 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.681352e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.051016383,
'Loss/total_loss': 0.051024064,
'learning_rate': 0.05548486}
I1206 16:07:19.352868 133089751570240 model_lib_v2.py:705] Step 19400 per-step time 0.05
7s
I1206 16:07:19.353224 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.866764e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.050790787,
'Loss/total_loss': 0.050798655,
'learning_rate': 0.05524808}
I1206 16:07:24.982607 133089751570240 model_lib_v2.py:705] Step 19500 per-step time 0.05
6s
I1206 16:07:24.982999 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.939861e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05056715,
'Loss/total_loss': 0.05057509,
'learning_rate': 0.05501068}
I1206 16:07:30.656479 133089751570240 model_lib_v2.py:705] Step 19600 per-step time 0.05
7s
I1206 16:07:30.656854 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.854109e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05034545,
'Loss/total_loss': 0.050353304,
'learning_rate': 0.054772656}
I1206 16:07:36.310858 133089751570240 model_lib_v2.py:705] Step 19700 per-step time 0.05
7s
I1206 16:07:36.311291 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.5354433e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.05012568,
'Loss/total_loss': 0.050133217,
'learning_rate': 0.05453403}
I1206 16:07:41.979282 133089751570240 model_lib_v2.py:705] Step 19800 per-step time 0.05
7s
I1206 16:07:41.979649 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.741581e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04990783,
'Loss/total_loss': 0.04991557,
'learning_rate': 0.0542948}
I1206 16:07:47.678913 133089751570240 model_lib_v2.py:705] Step 19900 per-step time 0.05
7s
I1206 16:07:47.679299 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.115963e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04969187,
'Loss/total_loss': 0.04969999,
'learning_rate': 0.054054994}
I1206 16:07:53.320525 133089751570240 model_lib_v2.py:705] Step 20000 per-step time 0.05
6s
I1206 16:07:53.320907 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.665064e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.0494778,
'Loss/total_loss': 0.049485467,
'learning_rate': 0.0538146}
I1206 16:08:00.165077 133089751570240 model_lib_v2.py:705] Step 20100 per-step time 0.06
8s
I1206 16:08:00.165457 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.903917e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.049265604,
'Loss/total_loss': 0.049274508,
'learning_rate': 0.053573642}
I1206 16:08:05.785017 133089751570240 model_lib_v2.py:705] Step 20200 per-step time 0.05
6s
I1206 16:08:05.785407 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.865587e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04905526,
'Loss/total_loss': 0.049063124,
'learning_rate': 0.053332124}
I1206 16:08:11.425300 133089751570240 model_lib_v2.py:705] Step 20300 per-step time 0.05
6s
I1206 16:08:11.425659 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.537818e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04884675,
'Loss/total_loss': 0.04885529,
'learning_rate': 0.053090062}
I1206 16:08:17.041098 133089751570240 model_lib_v2.py:705] Step 20400 per-step time 0.05
6s
I1206 16:08:17.041498 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.744e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.048640087,
'Loss/total_loss': 0.048647832,
'learning_rate': 0.05284746}
I1206 16:08:22.756852 133089751570240 model_lib_v2.py:705] Step 20500 per-step time 0.05
7s
I1206 16:08:22.757238 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.974245e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04843523,
'Loss/total_loss': 0.048443206,
'learning_rate': 0.052604325}
I1206 16:08:28.451782 133089751570240 model_lib_v2.py:705] Step 20600 per-step time 0.05
7s
I1206 16:08:28.452130 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.672434e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.048232175,
'Loss/total_loss': 0.04823985,
'learning_rate': 0.052360676}
I1206 16:08:34.094692 133089751570240 model_lib_v2.py:705] Step 20700 per-step time 0.05
6s
I1206 16:08:34.095201 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.4878085e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.048030913,
'Loss/total_loss': 0.0480384,
'learning_rate': 0.05211652}
I1206 16:08:39.912363 133089751570240 model_lib_v2.py:705] Step 20800 per-step time 0.05
8s
I1206 16:08:39.912861 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
8.129957e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04783142,
'Loss/total_loss': 0.04783955,
'learning_rate': 0.05187187}
I1206 16:08:45.636887 133089751570240 model_lib_v2.py:705] Step 20900 per-step time 0.05
7s
I1206 16:08:45.637274 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.1974723e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.047633693,
'Loss/total_loss': 0.04764089,
'learning_rate': 0.051626723}
I1206 16:08:51.403010 133089751570240 model_lib_v2.py:705] Step 21000 per-step time 0.05
8s
I1206 16:08:51.403399 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.75843e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.047437713,
'Loss/total_loss': 0.047445472,
'learning_rate': 0.0513811}
I1206 16:08:58.304183 133089751570240 model_lib_v2.py:705] Step 21100 per-step time 0.06
9s
I1206 16:08:58.304582 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.392706e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.047243465,
'Loss/total_loss': 0.047250856,
'learning_rate': 0.051135015}
I1206 16:09:03.967796 133089751570240 model_lib_v2.py:705] Step 21200 per-step time 0.05
7s
I1206 16:09:03.968201 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.1889126e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.047050945,
'Loss/total_loss': 0.047058135,
'learning_rate': 0.050888464}
I1206 16:09:09.678514 133089751570240 model_lib_v2.py:705] Step 21300 per-step time 0.05
7s
I1206 16:09:09.678901 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.2105568e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04686014,
'Loss/total_loss': 0.046867352,
'learning_rate': 0.05064147}
I1206 16:09:15.323626 133089751570240 model_lib_v2.py:705] Step 21400 per-step time 0.05
6s
I1206 16:09:15.323994 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.5279004e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.046671025,
'Loss/total_loss': 0.046678554,
'learning_rate': 0.05039404}
I1206 16:09:21.017975 133089751570240 model_lib_v2.py:705] Step 21500 per-step time 0.05
7s
I1206 16:09:21.018404 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.45696e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.046483602,
'Loss/total_loss': 0.04649106,
'learning_rate': 0.050146177}
I1206 16:09:26.666466 133089751570240 model_lib_v2.py:705] Step 21600 per-step time 0.05
7s
I1206 16:09:26.666866 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.466231e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.046297837,
'Loss/total_loss': 0.046305303,
'learning_rate': 0.04989791}
I1206 16:09:32.348292 133089751570240 model_lib_v2.py:705] Step 21700 per-step time 0.05
7s
I1206 16:09:32.348668 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.652978e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04611374,
'Loss/total_loss': 0.046121392,
'learning_rate': 0.049649224}
I1206 16:09:37.992979 133089751570240 model_lib_v2.py:705] Step 21800 per-step time 0.05
6s
I1206 16:09:37.993334 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.1243517e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.045931295,
'Loss/total_loss': 0.045938417,
'learning_rate': 0.049400143}
I1206 16:09:43.634218 133089751570240 model_lib_v2.py:705] Step 21900 per-step time 0.05
6s
I1206 16:09:43.634607 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.117961e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.045750476,
'Loss/total_loss': 0.045757595,
'learning_rate': 0.049150676}
I1206 16:09:49.255288 133089751570240 model_lib_v2.py:705] Step 22000 per-step time 0.05
6s
I1206 16:09:49.255782 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.142865e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.045571283,
'Loss/total_loss': 0.045578424,
'learning_rate': 0.048900835}
I1206 16:09:56.115633 133089751570240 model_lib_v2.py:705] Step 22100 per-step time 0.06
9s
I1206 16:09:56.116044 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.0564292e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04539369,
'Loss/total_loss': 0.045400746,
'learning_rate': 0.048650626}
I1206 16:10:01.799925 133089751570240 model_lib_v2.py:705] Step 22200 per-step time 0.05
7s
I1206 16:10:01.800370 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.01968e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.045217704,
'Loss/total_loss': 0.045224722,
'learning_rate': 0.048400067}
I1206 16:10:07.476435 133089751570240 model_lib_v2.py:705] Step 22300 per-step time 0.05
7s
I1206 16:10:07.476806 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.5012913e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.045043312,
'Loss/total_loss': 0.045050815,
'learning_rate': 0.048149157}
I1206 16:10:13.121284 133089751570240 model_lib_v2.py:705] Step 22400 per-step time 0.05
6s
I1206 16:10:13.121616 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.161921e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.044870477,
'Loss/total_loss': 0.04487764,
'learning_rate': 0.04789791}
I1206 16:10:18.778616 133089751570240 model_lib_v2.py:705] Step 22500 per-step time 0.05
7s
I1206 16:10:18.779008 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.033183e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.044699207,
'Loss/total_loss': 0.04470624,
'learning_rate': 0.04764634}
I1206 16:10:24.436167 133089751570240 model_lib_v2.py:705] Step 22600 per-step time 0.05
7s
I1206 16:10:24.436529 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.4828017e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.0445295,
'Loss/total_loss': 0.044536985,
'learning_rate': 0.047394462}
I1206 16:10:30.110576 133089751570240 model_lib_v2.py:705] Step 22700 per-step time 0.05
7s
I1206 16:10:30.110919 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
6.934907e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.044361323,
'Loss/total_loss': 0.04436826,
'learning_rate': 0.04714227}
I1206 16:10:35.782549 133089751570240 model_lib_v2.py:705] Step 22800 per-step time 0.05
7s
I1206 16:10:35.782928 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.0980286e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.044194672,
'Loss/total_loss': 0.04420177,
'learning_rate': 0.046889797}
I1206 16:10:41.461564 133089751570240 model_lib_v2.py:705] Step 22900 per-step time 0.05
7s
I1206 16:10:41.461971 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.1912737e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04402954,
'Loss/total_loss': 0.04403673,
'learning_rate': 0.046637025}
I1206 16:10:47.163820 133089751570240 model_lib_v2.py:705] Step 23000 per-step time 0.05
7s
I1206 16:10:47.164188 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.691284e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04386592,
'Loss/total_loss': 0.04387361,
'learning_rate': 0.046383996}
I1206 16:10:54.069622 133089751570240 model_lib_v2.py:705] Step 23100 per-step time 0.06
9s
I1206 16:10:54.070099 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.405083e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04370378,
'Loss/total_loss': 0.043711185,
'learning_rate': 0.04613069}
I1206 16:10:59.772354 133089751570240 model_lib_v2.py:705] Step 23200 per-step time 0.05
7s
I1206 16:10:59.772767 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.3275105e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04354313,
'Loss/total_loss': 0.043550458,
'learning_rate': 0.04587714}
I1206 16:11:05.393621 133089751570240 model_lib_v2.py:705] Step 23300 per-step time 0.05
6s
I1206 16:11:05.393985 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.582997e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04338395,
'Loss/total_loss': 0.043391533,
'learning_rate': 0.045623355}
I1206 16:11:11.080929 133089751570240 model_lib_v2.py:705] Step 23400 per-step time 0.05
7s
I1206 16:11:11.081320 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.8660405e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04322623,
'Loss/total_loss': 0.0432341,
'learning_rate': 0.045369323}
I1206 16:11:16.756931 133089751570240 model_lib_v2.py:705] Step 23500 per-step time 0.05
7s
I1206 16:11:16.757340 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.570744e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04306996,
'Loss/total_loss': 0.04307753,
'learning_rate': 0.045115083}
I1206 16:11:22.405556 133089751570240 model_lib_v2.py:705] Step 23600 per-step time 0.05
6s
I1206 16:11:22.405912 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
7.2969856e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.042915132,
'Loss/total_loss': 0.04292243,
'learning_rate': 0.044860635}
I1206 16:11:28.037119 133089751570240 model_lib_v2.py:705] Step 23700 per-step time 0.05
6s
I1206 16:11:28.037536 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
6.762271e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.04276172,
'Loss/total_loss': 0.042768482,
'learning_rate': 0.044605974}
I1206 16:11:33.681777 133089751570240 model_lib_v2.py:705] Step 23800 per-step time 0.05
6s
I1206 16:11:33.682207 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
6.886291e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.042609733,
'Loss/total_loss': 0.04261662,
'learning_rate': 0.044351134}
I1206 16:11:39.340689 133089751570240 model_lib_v2.py:705] Step 23900 per-step time 0.05
7s
I1206 16:11:39.341082 133089751570240 model_lib_v2.py:708] {'Loss/classification_loss':
6.800933e-06,
'Loss/localization_loss': 0.0,
'Loss/regularization_loss': 0.042459153,
'Loss/total_loss': 0.042465955,
'learning_rate': 0.044096105}

Exporting the trained model for inference

In [29]: !python object_detection/exporter_main_v2.py \


--input_type=image_tensor \
--pipeline_config_path=/kaggle/working/ssd_mobilenet_v2_fpnlite_640_config_updated.c
--trained_checkpoint_dir=/kaggle/working \
--output_directory=/kaggle/working/exported_model

/opt/conda/lib/python3.10/site-packages/scipy/__init__.py:146: UserWarning: A NumPy vers


ion >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.3
warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"
W1206 15:54:05.164984 138083710216000 deprecation.py:641] From /opt/conda/lib/python3.1
0/site-packages/tensorflow/python/autograph/impl/api.py:459: calling map_fn_v2 (from ten
sorflow.python.ops.map_fn) with back_prop=False is deprecated and will be removed in a f
uture version.
Instructions for updating:
back_prop=False is deprecated. Consider using tf.stop_gradient instead.
Instead of:
results = tf.map_fn(fn, elems, back_prop=False)
Use:
results = tf.nest.map_structure(tf.stop_gradient, tf.map_fn(fn, elems))
I1206 15:54:10.306389 138083710216000 api.py:460] feature_map_spatial_dims: [(80, 80),
(40, 40), (20, 20), (10, 10), (5, 5)]
I1206 15:54:23.053980 138083710216000 api.py:460] feature_map_spatial_dims: [(80, 80),
(40, 40), (20, 20), (10, 10), (5, 5)]
I1206 15:54:26.553395 138083710216000 signature_serialization.py:148] Function `call_fun
c` contains input name(s) resource with unsupported characters which will be renamed to
weightsharedconvolutionalboxpredictor_predictiontower_conv2d_3_batchnorm_feature_4_fused
batchnormv3_readvariableop_1_resource in the SavedModel.
I1206 15:54:28.061713 138083710216000 api.py:460] feature_map_spatial_dims: [(80, 80),
(40, 40), (20, 20), (10, 10), (5, 5)]
W1206 15:54:30.911427 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.meta_architectures.ssd_meta_arch.SSDMetaArch object at 0x7d9
56bbb5ea0>, because it is not built.
W1206 15:54:31.482090 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.convolutional.separable_conv2d.SeparableConv2D object at 0x7
d950cb6b3a0>, because it is not built.
W1206 15:54:31.482317 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
50cbba4d0>, because it is not built.
W1206 15:54:31.482414 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d950cbb9d20>, because
it is not built.
W1206 15:54:31.482501 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.convolutional.separable_conv2d.SeparableConv2D object at 0x7
d94e17f7b80>, because it is not built.
W1206 15:54:31.482584 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e177f1f0>, because it is not built.
W1206 15:54:31.482665 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e177fd60>, because
it is not built.
W1206 15:54:31.482749 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.convolutional.separable_conv2d.SeparableConv2D object at 0x7
d94e177f760>, because it is not built.
W1206 15:54:31.482826 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e177f040>, because it is not built.
W1206 15:54:31.482902 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e177eb60>, because
it is not built.
W1206 15:54:31.483002 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.convolutional.separable_conv2d.SeparableConv2D object at 0x7
d94e16893c0>, because it is not built.
W1206 15:54:31.483100 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e168a920>, because it is not built.
W1206 15:54:31.483176 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e168b490>, because
it is not built.
W1206 15:54:31.483254 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e16cdcf0>, because it is not built.
W1206 15:54:31.483328 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e16f2170>, because
it is not built.
W1206 15:54:31.483416 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e16f2a40>, because it is not built.
W1206 15:54:31.483491 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e16128c0>, because
it is not built.
W1206 15:54:31.483564 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e1611060>, because it is not built.
W1206 15:54:31.483638 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e16139a0>, because
it is not built.
W1206 15:54:31.483717 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e1610eb0>, because it is not built.
W1206 15:54:31.483792 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e1613ac0>, because
it is not built.
W1206 15:54:31.483867 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
50cb25870>, because it is not built.
W1206 15:54:31.483941 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d9547f9e020>, because
it is not built.
W1206 15:54:31.484034 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
547f9cb50>, because it is not built.
W1206 15:54:31.484110 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d9547f9e9b0>, because
it is not built.
W1206 15:54:31.484184 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
547f9f610>, because it is not built.
W1206 15:54:31.484266 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d9547f9df90>, because
it is not built.
W1206 15:54:31.484339 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
547f9d330>, because it is not built.
W1206 15:54:31.484413 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d9547f9caf0>, because
it is not built.
W1206 15:54:31.484488 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e17540d0>, because it is not built.
W1206 15:54:31.484562 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e17549d0>, because
it is not built.
W1206 15:54:31.484636 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e17571f0>, because it is not built.
W1206 15:54:31.484732 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e1756f20>, because
it is not built.
W1206 15:54:31.484811 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e1757670>, because it is not built.
W1206 15:54:31.484885 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e17570a0>, because
it is not built.
W1206 15:54:31.484969 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e1757e50>, because it is not built.
W1206 15:54:31.485055 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e1756650>, because
it is not built.
W1206 15:54:31.485131 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
50cb51000>, because it is not built.
W1206 15:54:31.485204 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e166ae90>, because
it is not built.
W1206 15:54:31.485279 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e1669930>, because it is not built.
W1206 15:54:31.485352 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e166afe0>, because
it is not built.
W1206 15:54:31.485426 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e16690f0>, because it is not built.
W1206 15:54:31.485499 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e166a8f0>, because
it is not built.
W1206 15:54:31.485574 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <object_detection.core.freezable_batch_norm.FreezableBatchNorm object at 0x7d9
4e1669ba0>, because it is not built.
W1206 15:54:31.485653 138083710216000 save_impl.py:66] Skipping full serialization of Ke
ras layer <keras.src.layers.core.lambda_layer.Lambda object at 0x7d94e1669bd0>, because
it is not built.
I1206 15:54:44.268255 138083710216000 save.py:274] Found untraced functions such as Weig
htSharedConvolutionalBoxPredictor_layer_call_fn, WeightSharedConvolutionalBoxPredictor_l
ayer_call_and_return_conditional_losses, WeightSharedConvolutionalBoxHead_layer_call_fn,
WeightSharedConvolutionalBoxHead_layer_call_and_return_conditional_losses, WeightSharedC
onvolutionalClassHead_layer_call_fn while saving (showing 5 of 173). These functions wil
l not be directly callable after loading.
I1206 15:54:51.215150 138083710216000 builder_impl.py:804] Assets written to: /kaggle/wo
rking/exported_model/saved_model/assets
I1206 15:54:51.461112 138083710216000 fingerprinting_utils.py:48] Writing fingerprint to
/kaggle/working/exported_model/saved_model/fingerprint.pb
I1206 15:54:51.870024 138083710216000 config_util.py:253] Writing pipeline config file t
o /kaggle/working/exported_model/pipeline.config

F. Inference stage

Importing modules

In [30]: import numpy as np


import tensorflow as tf
from object_detection.utils import label_map_util
from object_detection.utils import visualization_utils as vis_util
import cv2
from matplotlib import pyplot as plt
import os
import random

Loading the exported model

In [31]: model_dir = '/kaggle/working/exported_model/saved_model'


model = tf.saved_model.load(model_dir)

Loading label map

In [32]: label_map_path = '/kaggle/working/labels.pbtxt'


category_index = label_map_util.create_category_index_from_labelmap(label_map_path, use_

Loading and preprocessing a random input test image

In [33]: test_images_path = '/kaggle/input/carla-object-detection-dataset/carla-object-detection-


train_images_path = '/kaggle/input/carla-object-detection-dataset/carla-object-detection
#fetching a list of 10 random test images
test_image_files = random.sample(os.listdir(test_images_path), 10)

# fetching a list of 10 random train images


train_image_files = random.sample(os.listdir(train_images_path), 10)

In [34]: all_image_files = test_image_files + train_image_files

Inferring and Visualizing the results

In [35]: for image_file in all_image_files:


image_path = os.path.join(test_images_path, image_file) if image_file in test_image_

# Read and preprocess the image


image_np = cv2.imread(image_path)
image_np = cv2.cvtColor(image_np, cv2.COLOR_BGR2RGB)
image_np_expanded = np.expand_dims(image_np, axis=0)
image_np_expanded = image_np_expanded.astype(np.uint8)
input_tensor = tf.convert_to_tensor(image_np_expanded, dtype=tf.uint8)

# Perform inference
infer = model.signatures["serving_default"]
output_dict = infer(input_tensor)

num_boxes = output_dict['detection_boxes'][0].shape[0]
if num_boxes > 0:
print(f"Number of bounding boxes detected in {image_file}: {num_boxes}")
else:
print(f"No bounding boxes detected in {image_file}.")

boxes = output_dict['detection_boxes'][0].numpy()
classes = output_dict['detection_classes'][0].numpy().astype(np.int32)
scores = output_dict['detection_scores'][0].numpy()

for i in range(len(boxes)):
box = boxes[i]
class_id = classes[i]
score = scores[i]

# Converting normalized coordinates to pixel values


h, w, _ = image_np.shape
ymin, xmin, ymax, xmax = box
xmin = int(xmin * w)
xmax = int(xmax * w)
ymin = int(ymin * h)
ymax = int(ymax * h)

# Drawing rectangle
color = (0, 255, 0) # Green color for the rectangle
thickness = 2
cv2.rectangle(image_np, (xmin, ymin), (xmax, ymax), color, thickness)

# Displaying class and score


label = f"{category_index[class_id]['name']} ({int(class_id)}) : {round(score *
cv2.putText(image_np, label, (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, c

# Displaying the image with bounding boxes using PIL


image_pil = Image.fromarray(image_np)
display(image_pil)

Number of bounding boxes detected in Town05_003900.png: 100


Number of bounding boxes detected in Town05_016200.png: 100

Number of bounding boxes detected in Town05_017520.png: 100


Number of bounding boxes detected in Town05_009780.png: 100

Number of bounding boxes detected in Town05_015720.png: 100


Number of bounding boxes detected in Town05_006720.png: 100

Number of bounding boxes detected in Town05_016920.png: 100


Number of bounding boxes detected in Town05_010140.png: 100

Number of bounding boxes detected in Town05_014880.png: 100


Number of bounding boxes detected in Town05_004560.png: 100

Number of bounding boxes detected in Town03_014620.png: 100


Number of bounding boxes detected in Town03_016840.png: 100

Number of bounding boxes detected in Town01_008880.png: 100


Number of bounding boxes detected in Town02_009300.png: 100

Number of bounding boxes detected in Town01_009780.png: 100


Number of bounding boxes detected in Town01_001080.png: 100

Number of bounding boxes detected in Town03_018840.png: 100


Number of bounding boxes detected in Town02_010620.png: 100

Number of bounding boxes detected in Town03_015200.png: 100


Number of bounding boxes detected in Town03_016960.png: 100

Conclusion
1. Training for more steps are desired as we train for only 100000 steps
2. Only 779 training images and 249 testing images from CARLA for 5 classes are used. Feel free to
increase more
3. The challenge of getting desired inference is more since the bounding boxes are small in ground
truth and it's a synthetic dataset on which the pretrained model has never been trained esp. the
distilled mobilenet versions
4. Non Maximum suppression needs to be added to the inferencing code to filter out Bbox
predictions beyond an IOU and threshold
2. Retinanet from METAAI

In [ ]:

In [ ]:

In [ ]:

In [ ]:

You might also like