I have tensorflow .pb frozen model and i would like to retrain this model with new data and in order to do that i would like to convert the tf .pb frozen model to a keras model. i was able to visualise layers and weight values and i wana know if it is possible to convert this .pb model to a keras model in order to retain it or if there is another solution in order to retrain a .pb frozen model ?
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
detection_graph = tf.Graph()
with detection_graph.as_default():
od_graph_def = tf.GraphDef()
with tf.gfile.GFile('weight/saved_model.pb', 'rb') as fid:
serialized_graph = fid.read()
od_graph_def.ParseFromString(serialized_graph)
tf.import_graph_def(od_graph_def, name='')
conf = tf.ConfigProto()
session = tf.Session(graph=detection_graph, config=conf)
#layers name
layers = [op.name for op in detection_graph.get_operations()]
for layer in layers:
print(layer)
Const
ToFloat
Const_1
ToFloat_1
Const_2
ToFloat_2
image_tensor
ToFloat_3
Preprocessor/map/Shape
Preprocessor/map/strided_slice/stack
Preprocessor/map/strided_slice/stack_1
Preprocessor/map/strided_slice/stack_2
Preprocessor/map/strided_slice
Preprocessor/map/TensorArray
Preprocessor/map/TensorArrayUnstack/Shape
Preprocessor/map/TensorArrayUnstack/strided_slice/stack
Preprocessor/map/TensorArrayUnstack/strided_slice/stack_1
Preprocessor/map/TensorArrayUnstack/strided_slice/stack_2
Preprocessor/map/TensorArrayUnstack/strided_slice
Preprocessor/map/TensorArrayUnstack/range/start
Preprocessor/map/TensorArrayUnstack/range/delta
Preprocessor/map/TensorArrayUnstack/range
Preprocessor/map/TensorArrayUnstack/TensorArrayScatter/TensorArrayScatterV3
Preprocessor/map/Const
Preprocessor/map/TensorArray_1
Preprocessor/map/TensorArray_2
Preprocessor/map/while/Enter
Preprocessor/map/while/Enter_1
Preprocessor/map/while/Enter_2
Preprocessor/map/while/Merge
Preprocessor/map/while/Merge_1
Preprocessor/map/while/Merge_2
Preprocessor/map/while/Less/Enter
Preprocessor/map/while/Less
Preprocessor/map/while/LoopCond
Preprocessor/map/while/Switch
Preprocessor/map/while/Switch_1
Preprocessor/map/while/Switch_2
Preprocessor/map/while/Identity
Preprocessor/map/while/Identity_1
Preprocessor/map/while/Identity_2
Preprocessor/map/while/TensorArrayReadV3/Enter
Preprocessor/map/while/TensorArrayReadV3/Enter_1
Preprocessor/map/while/TensorArrayReadV3
Preprocessor/map/while/ResizeImage/stack
Preprocessor/map/while/ResizeImage/resize_images/ExpandDims/dim
Preprocessor/map/while/ResizeImage/resize_images/ExpandDims
Preprocessor/map/while/ResizeImage/resize_images/ResizeBilinear
Preprocessor/map/while/ResizeImage/resize_images/Squeeze
Preprocessor/map/while/ResizeImage/stack_1
Preprocessor/map/while/TensorArrayWrite/TensorArrayWriteV3/Enter
Preprocessor/map/while/TensorArrayWrite/TensorArrayWriteV3
Preprocessor/map/while/TensorArrayWrite_1/TensorArrayWriteV3/Enter
Preprocessor/map/while/TensorArrayWrite_1/TensorArrayWriteV3
Preprocessor/map/while/add/y
Preprocessor/map/while/add
Preprocessor/map/while/NextIteration
Preprocessor/map/while/NextIteration_1
Preprocessor/map/while/NextIteration_2
Preprocessor/map/while/Exit_1
Preprocessor/map/while/Exit_2
Preprocessor/map/TensorArrayStack/TensorArraySizeV3
Preprocessor/map/TensorArrayStack/range/start
Preprocessor/map/TensorArrayStack/range/delta
Preprocessor/map/TensorArrayStack/range
Preprocessor/map/TensorArrayStack/TensorArrayGatherV3
Preprocessor/map/TensorArrayStack_1/TensorArraySizeV3
Preprocessor/map/TensorArrayStack_1/range/start
Preprocessor/map/TensorArrayStack_1/range/delta
Preprocessor/map/TensorArrayStack_1/range
Preprocessor/map/TensorArrayStack_1/TensorArrayGatherV3
Preprocessor/sub/y
Preprocessor/sub
Shape
FirstStageFeatureExtractor/Shape
FirstStageFeatureExtractor/strided_slice/stack
FirstStageFeatureExtractor/strided_slice/stack_1
FirstStageFeatureExtractor/strided_slice/stack_2
FirstStageFeatureExtractor/strided_slice
FirstStageFeatureExtractor/GreaterEqual/y
FirstStageFeatureExtractor/GreaterEqual
FirstStageFeatureExtractor/Shape_1
FirstStageFeatureExtractor/strided_slice_1/stack
FirstStageFeatureExtractor/strided_slice_1/stack_1
FirstStageFeatureExtractor/strided_slice_1/stack_2
FirstStageFeatureExtractor/strided_slice_1
FirstStageFeatureExtractor/GreaterEqual_1/y
FirstStageFeatureExtractor/GreaterEqual_1
FirstStageFeatureExtractor/LogicalAnd
FirstStageFeatureExtractor/Assert/Assert/data_0
FirstStageFeatureExtractor/Assert/Assert
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/Pad/paddings
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/Pad
FirstStageFeatureExtractor/resnet_v1_101/conv1/weights
FirstStageFeatureExtractor/resnet_v1_101/conv1/weights/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/conv1/Conv2D
FirstStageFeatureExtractor/resnet_v1_101/conv1/BatchNorm/gamma
FirstStageFeatureExtractor/resnet_v1_101/conv1/BatchNorm/gamma/read
FirstStageFeatureExtractor/resnet_v1_101/conv1/BatchNorm/beta
FirstStageFeatureExtractor/resnet_v1_101/conv1/BatchNorm/beta/read
FirstStageFeatureExtractor/resnet_v1_101/conv1/BatchNorm/moving_mean
FirstStageFeatureExtractor/resnet_v1_101/conv1/BatchNorm/moving_mean/read
FirstStageFeatureExtractor/resnet_v1_101/conv1/BatchNorm/moving_variance
FirstStageFeatureExtractor/resnet_v1_101/conv1/BatchNorm/moving_variance/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/conv1/BatchNorm/FusedBatchNorm
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/conv1/Relu
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/pool1/MaxPool
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/weights
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/weights/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/Conv2D
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/gamma
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/gamma/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/beta
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/beta/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/moving_mean
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/moving_mean/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/moving_variance
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/moving_variance/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/FusedBatchNorm
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/weights
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/weights/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/Conv2D
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/gamma
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/gamma/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/beta
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/beta/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/moving_mean
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/moving_mean/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/moving_variance
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/moving_variance/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/FusedBatchNorm
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/Relu
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/weights
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/weights/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/Conv2D
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/gamma
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/gamma/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/beta
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/beta/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/moving_mean
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/moving_mean/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/moving_variance
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/moving_variance/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/FusedBatchNorm
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/Relu
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/weights
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/weights/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/Conv2D
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/gamma
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/gamma/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/beta
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/beta/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/moving_mean
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/moving_mean/read
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/moving_variance
FirstStageFeatureExtractor/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/moving_variance/read
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/FusedBatchNorm
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/add
FirstStageFeatureExtractor/resnet_v1_101/resnet_v1_101/block1/unit_1/bottleneck_v1/Relu
#visualise weight
from tensorflow.python.framework import tensor_util
weight_nodes = [n for n in od_graph_def.node if n.op == 'Const']
for n in weight_nodes:
print("Name of the node - %s" % n.name)
print("Value - " )
print(tensor_util.MakeNdarray(n.attr['value'].tensor))
Value -
[-0.4540853 0.32056493 -0.22912885 0.2541284 -0.9532805 -0.25493076
-0.5082643 -0.33983043 -0.22494698 -0.3235537 -0.36385655 -0.28415084
-0.5575271 -0.1910503 -0.49338412 -0.42885196 -0.33558807 -0.6404074
-0.18031892 -0.2801433 -0.34614867 -0.5399439 -0.15712368 -0.2957037
0.15714812 -0.48186925 -0.33291766 -0.48722127 -0.2535558 -0.16819339
-0.43470743 -0.2855552 -0.3963132 -0.42684224 -0.3209245 -0.3658357
-0.30626386 -0.4134465 0.03801734 -0.43680775 -0.29162335 -0.36223125
-0.48077616 -0.43840355 -0.39883605 -0.31524658 -0.47961026 -0.41313347
-0.19943158 -0.9744824 -0.44492397 -0.62325597 -0.4503377 -0.32147056
-0.32696253 -0.3964685 -0.4328564 -0.28047583 -0.10022314 -0.20008062
-0.25767517 -0.32787508 -0.7490349 -0.26016906 -0.1388798 -0.00777247
-0.34971157 -0.37617198 -0.16701727 -0.49006486 0.25721186 -0.2046591
-0.39323628 -0.6523374 -0.5105675 -0.32751757 -0.2652611 -0.00875285
-0.2443423 -0.44029924 -0.37004694 -0.23282264 -0.3413406 -0.35088956
-0.46555945 -0.56252545 -0.5163544 -0.5306529 -0.62014216 -0.24062826
-0.06821899 -0.33485538 -0.4521361 -0.6593677 -0.46554345 -0.40829748
-0.49771288 -0.35069707 -0.0229042 -0.2298909 -0.25005338 -0.32683375
-0.49131876 -0.30173704 -0.29786837 -0.67599934 -0.35004795 -0.20007414
-0.16419795 -0.49680758 -0.42260775 -0.2726915 -0.6200565 -0.35487327
-0.3344669 -0.52208656 -0.4569452 -0.12290002 -0.5652516 -0.31340426
-0.3985747 -0.5281181 -0.7129867 -0.567227 -0.28814644 -0.1302681
-0.2001429 -0.10916138 -0.68222445 -0.29323065 -0.05704954 -0.22789052
-0.61558 -0.07655394 -0.52930903 -0.34198323 -0.24209192 -0.5053026
-0.4004574 -0.15969647 -0.35341594 -0.5591511 -0.40825605 -0.01070203
-0.7428409 -0.45172128 -0.43380788 0.2568167 -0.6722297 -0.35276502
-0.6669023 -0.20694211 -0.20189697 -0.5070727 -0.3972058 -0.00848175
-0.2994657 -0.34944996 -0.3389741 -0.17936742 -0.92425096 -0.05345222
-0.38853544 -0.39970097 -0.3607101 -0.7013903 -0.10112807 -0.2565767
-0.34176925 -0.52231157 -0.476935 -0.45604366 -0.5980594 -0.15625392
-0.42476812 -0.31922927 -0.31709027 -0.28081933 -0.2383788 -0.3822803
-0.58110493 -0.48278278 0.37628186 -0.28682145 -0.36748675 -0.34278873
-0.4303303 -0.31955504 -0.1693851 -0.4306607 -0.30947846 -0.29114336
-0.490207 -0.487192 -0.24403661 -0.30346867 -0.27445573 -0.35093272
-0.22612163 -0.41189626 -0.24778591 -0.31198287 -0.24912828 -0.40960005
-0.35579422 -0.43333185 -0.6709562 -0.844466 -0.14793177 -0.2053809
-0.5682712 -0.23429349 -0.35484084 -0.40705127 -0.16986188 -0.52707803
-0.371436 -0.3203282 -0.548174 -0.2454479 0.14760983 -0.23899662
-0.49904364 -0.5957814 -0.24498118 -0.15208362 -0.38576075 -0.4792993
-0.37565476 -0.48903054 -0.30210334 -0.5700767 -0.21236268 -0.57294637
-0.27853557 -0.46409875 -0.24420401 -0.48441198 -0.64328116 -0.47033066
-0.2866155 -0.24524617 -0.682954 0.22307628 -0.4910605 -0.6759475
-0.5597055 -0.08977205 -0.35018525 -0.326844 -0.407895 -0.4286294
-0.43290117 -0.43665645 -0.03084541 -0.38888484]
Name of the node - FirstStageFeatureExtractor/resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/BatchNorm/moving_mean
Value -
[-0.15717725 0.07592656 0.10988383 -0.0490528 -0.0106115 -0.15786496
-0.11409757 -0.06248363 -0.06544019 -0.14081511 -0.17109169 -0.02211305
-0.03773279 -0.12710223 -0.12394962 -0.09206913 -0.16163616 -0.1723962
-0.20561686 -0.1415835 -0.06350002 -0.16257662 -0.09603897 -0.13460924
-0.02432729 -0.04199889 -0.1696589 -0.13546434 -0.06083817 -0.10085563
-0.09488994 0.04238822 -0.01342436 -0.15949754 -0.17468 -0.17448752
-0.07917193 -0.12688611 -0.22540613 0.0227522 -0.10866571 -0.05292162
-0.09184872 -0.15055841 -0.166075 -0.20481528 -0.0362504 -0.03834244
-0.0642691 0.0847474 -0.05358214 -0.01985169 -0.23435758 -0.14982411
-0.16710722 -0.15368192 -0.09551494 -0.16474426 -0.10215978 -0.16959386
-0.20461345 -0.03911749 -0.14563459 -0.00461106 -0.0700466 -0.0968714
0.00481458 -0.04512146 -0.14357145 -0.19567277 -0.19265638 -0.11200134
-0.07045556 -0.02379003 -0.10341825 -0.03273268 -0.11432283 -0.23813714
-0.02153216 -0.14714707 -0.1272525 -0.16946757 -0.1185687 -0.12256996
-0.10922257 0.11201918 -0.02812816 -0.02523885 0.03150908 -0.15362865
-0.1581234 0.00402692 -0.15670358 -0.04513093 -0.1437301 -0.01758968
-0.05778598 -0.14521386 0.01999546 -0.1154804 -0.19333984 -0.06223019
-0.07321492 -0.07283846 -0.12676379 -0.04754475 -0.12439732 -0.0936267
-0.1395944 -0.10460664 -0.1278241 -0.11326854 -0.08205313 -0.1579616
-0.04214557 -0.13230218 -0.15926664 -0.11025801 -0.17300427 -0.03396817
0.01946657 -0.02238615 -0.1087622 0.05757551 -0.06369423 -0.15768676
-0.24096929 -0.16477783 -0.08505792 -0.1452452 -0.1228498 -0.18778118
-0.10847382 -0.18381962 -0.09624809 -0.11529081 -0.08679712 -0.026652
-0.0709608 -0.13419388 -0.12301534 -0.0762615 -0.1779636 0.0712171
-0.02847089 -0.03589171 -0.16578905 0.06647447 -0.21369869 -0.11737502
-0.09483987 -0.1711197 -0.10486519 -0.13668095 -0.09134877 -0.17883773
-0.09831014 0.00876497 -0.01898824 -0.12447593 -0.11287156 -0.14073113
-0.14082104 -0.20715335 -0.0960372 -0.07659613 -0.05445954 -0.20973818
-0.1988086 -0.07440972 -0.01645763 -0.06222945 -0.10685738 -0.11946698
-0.02095333 -0.22138861 -0.03730138 -0.14171903 -0.2022561 -0.17174341
-0.10660502 -0.04700039 0.21646874 -0.2798932 -0.0933376 -0.15969937
-0.11783579 -0.08365067 -0.15353799 -0.09762033 -0.20146982 -0.10279506
-0.14905539 -0.12379898 -0.12730977 -0.06474843 -0.09232798 -0.07322481
-0.19277479 -0.04613561 -0.13307215 -0.1302453 -0.17341715 -0.07773575
-0.04985441 -0.10355914 -0.1078042 0.00853426 -0.13236587 -0.09865464
-0.00562798 -0.12181614 -0.22204153 -0.05784107 -0.18404393 -0.00629737
-0.10935344 -0.06820714 -0.0653091 -0.10879692 -0.12568252 -0.1386066
-0.10166074 -0.05466842 -0.09380525 -0.20807257 -0.09541806 -0.0593087
-0.12657529 -0.12999491 -0.08768366 -0.11886697 -0.11744718 -0.08663379
-0.1193763 -0.08805308 -0.1727127 -0.00644481 -0.11248584 0.00345422
-0.1572065 -0.07471903 -0.09579102 -0.08642395 -0.08458085 0.09465432
-0.0749066 0.04966704 -0.06954169 -0.05878955 -0.06419392 -0.03276661
-0.12470958 -0.05546655 -0.227529 -0.18447787]
Name of the node - FirstStageFeatureExtractor/resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/BatchNorm/moving_variance
Value -
[0.0246328 0.15109949 0.08894898 0.18027042 0.17676981 0.03751087
0.04503109 0.05276729 0.07223138 0.0510329 0.05425516 0.03137682
0.03304449 0.04246168 0.03573015 0.04623629 0.04350977 0.03313071
0.04221025 0.04383035 0.04444639 0.03855932 0.03536414 0.03979863
0.12287893 0.03251396 0.03785344 0.03404477 0.05788973 0.05000394
0.03611772 0.04200751 0.03447625 0.04483994 0.03660354 0.05133959
0.03763206 0.03538596 0.0754443 0.03522145 0.03955411 0.03173661
0.0307942 0.04629485 0.04174245 0.06112912 0.03868164 0.03610169
0.03457952 0.03306652 0.03208408 0.03130876 0.04425795 0.0543987
0.04187379 0.05363455 0.04050811 0.03573698 0.03850965 0.0455887
0.03908563 0.03638468 0.03675755 0.03934622 0.03829562 0.05719311
0.03649542 0.02670012 0.03625882 0.03489691 0.1415123 0.04595942
0.04740899 0.0362278 0.03886651 0.02929924 0.03411594 0.05056536
0.04927529 0.03879778 0.04310857 0.03617069 0.03727381 0.03174838
0.03664678 0.11009517 0.02481679 0.03278335 0.05939993 0.03593603
0.03523111 0.02616766 0.03424251 0.0344963 0.04709259 0.03183395
0.03848327 0.03769235 0.04920188 0.03951766 0.03903662 0.03408873
0.03334353 0.03571996 0.06089876 0.05937878 0.03344719 0.04584214
0.04397506 0.03307587 0.03318075 0.04908697 0.03105905 0.05623207
0.05571087 0.03729884 0.0459931 0.04489287 0.04131918 0.03771564
0.04307055 0.03846145 0.05100024 0.043197 0.04114237 0.05911661
0.03956391 0.04361542 0.03280107 0.03139602 0.05827128 0.04082137
0.03654662 0.04679587 0.0309209 0.03587716 0.03316435 0.02562451
0.03213744 0.04613245 0.03237009 0.03835384 0.0523162 0.09062187
0.03235107 0.02755782 0.03724603 0.09937367 0.07468802 0.03093713
0.02697526 0.04269885 0.0421169 0.03236708 0.03591317 0.05501648
0.04456919 0.03508786 0.03599152 0.05607978 0.04522029 0.05920529
0.02929832 0.04003889 0.04818926 0.03470782 0.04554065 0.03561359
0.05097282 0.03162495 0.03105365 0.0479041 0.04201244 0.03967372
0.03850067 0.03719724 0.03236697 0.04217942 0.04472516 0.06050858
0.02926525 0.03916026 0.19374044 0.0456128 0.03878816 0.0363459
0.03911297 0.03797501 0.04174663 0.04230652 0.03831306 0.04085784
0.0427238 0.03057992 0.03531543 0.03794312 0.03533817 0.03804426
0.02861266 0.03188168 0.04924265 0.04050563 0.04611768 0.03238661
0.03605983 0.02848955 0.0390384 0.02533518 0.04691761 0.04362593
0.03430253 0.04009234 0.04348955 0.03593319 0.04101577 0.02840054
0.03196882 0.03733175 0.03510671 0.04594112 0.15954044 0.04420807
0.04092796 0.02599568 0.04426222 0.05545853 0.04792674 0.05130733
0.03689643 0.04262947 0.04004824 0.02642712 0.04293796 0.0296522
0.04023833 0.04849512 0.04770563 0.02930979 0.033105 0.03017242
0.03861351 0.03882564 0.03877705 0.10539907 0.03036495 0.0441276
0.02591156 0.07158393 0.03235719 0.04087997 0.02184044 0.03179693
0.04023989 0.03014399 0.06206222 0.06290652]