安装 docker 镜像环境
pull 镜像:
docker pull zepan/zhouyi
run 容器:
docker run -it zepan/zhouyi /bin/bash
#如果要 vscode 远程开发的话,可以加端口:
docker run -it -p 9999:22 -v /path/to/container:/path/to/host zepan/zhouyi /bin/bash
验证 docker 环境:
cd ~/demos/tflite
./run_sim.sh
输出:
WARNING:tensorflow:
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
* https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
* https://github.com/tensorflow/addons
* https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.
[I] Parsing model....
[I] [Parser]: Begin to parse tflite model mobilenet_v2...
[W] [Parser]: Meets too high Onnx version! Please downgrade to 1.07!
2022-05-17 09:00:42.173564: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2022-05-17 09:00:42.177599: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2995195000 Hz
2022-05-17 09:00:42.178046: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0xab3c1a0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2022-05-17 09:00:42.178190: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version
[I] [Parser]: Parser done!
[I] Parse model complete
[I] Quantizing model....
[I] AQT start: model_name:mobilenet_v2, calibration_method:MEAN, batch_size:1
[I] ==== read ir ================
[I] float32 ir txt: /tmp/AIPUBuilder_1652778041.4436517/mobilenet_v2.txt
[I] float32 ir bin2: /tmp/AIPUBuilder_1652778041.4436517/mobilenet_v2.bin
[I] ==== read ir DONE.===========
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.nn.avg_pool is deprecated. Please use tf.nn.avg_pool2d instead.
[I] ==== auto-quantization ======
[I] step1: get max/min statistic value DONE
[I] step2: quantization each op DONE
[I] step3: build quantization forward DONE
[I] step4: show output scale of end node:
[I] layer_id: 66, layer_top:MobilenetV2/Predictions/Softmax, output_scale:[255.99994]
[I] ==== auto-quantization DONE =
[I] Quantize model complete
[I] Building ...
[I] [common_options.h: 276] BuildTool version: 4.0.175. Build for target Z1_0701 at frequency 800MHz
[I] [common_options.h: 297] using default profile events to profile AIFF
[I] [IRChecker] Start to check IR: /tmp/AIPUBuilder_1652778041.4436517/mobilenet_v2_int8.txt
[I] [IRChecker] model_name: mobilenet_v2
[I] [IRChecker] IRChecker: All IR pass
[I] [graph.cpp : 846] loading graph weight: /tmp/AIPUBuilder_1652778041.4436517/mobilenet_v2_int8.bin size: 0x364ee8
[I] [builder.cpp:1059] Total memory for this graph: 0xa7e930 Bytes
[I] [builder.cpp:1060] Text section: 0x00029130 Bytes
[I] [builder.cpp:1061] RO section: 0x00003900 Bytes
[I] [builder.cpp:1062] Desc section: 0x00022a00 Bytes
[I] [builder.cpp:1063] Data section: 0x0044a600 Bytes
[I] [builder.cpp:1064] BSS section: 0x005a4b00 Bytes
[I] [builder.cpp:1065] Stack : 0x00040400 Bytes
[I] [builder.cpp:1066] Workspace(BSS): 0x0000f500 Bytes
[I] [main.cpp : 467] # autogenrated by aipurun, do NOT modify!
LOG_FILE=log_default
FAST_FWD_INST=0
INPUT_INST_CNT=1
INPUT_DATA_CNT=2
CONFIG=Z1-0701
LOG_LEVEL=0
INPUT_INST_FILE0=/tmp/temp_42d671ad10966f895df3160520ff1.text
INPUT_INST_BASE0=0x0
INPUT_INST_STARTPC0=0x0
INPUT_DATA_FILE0=/tmp/temp_42d671ad10966f895df3160520ff1.ro
INPUT_DATA_BASE0=0x10000000
INPUT_DATA_FILE1=/tmp/temp_42d671ad10966f895df3160520ff1.data
INPUT_DATA_BASE1=0x20000000
OUTPUT_DATA_CNT=2
OUTPUT_DATA_FILE0=output_mobilenet_v2.bin
OUTPUT_DATA_BASE0=0x20c6e400
OUTPUT_DATA_SIZE0=0x3e9
OUTPUT_DATA_FILE1=profile_data.bin
OUTPUT_DATA_BASE1=0x2048aa00
OUTPUT_DATA_SIZE1=0x700
RUN_DESCRIPTOR=BIN[0]
[I] [main.cpp : 118] run simulator:
aipu_simulator_z1 /tmp/temp_42d671ad10966f895df3160520ff1.cfg
[INFO]:SIMULATOR START!
[INFO]:========================================================================
[INFO]: STATIC CHECK
[INFO]:========================================================================
[INFO]: INST START ADDR : 0x0(0)
[INFO]: INST END ADDR : 0x2912f(168239)
[INFO]: INST SIZE : 0x29130(168240)
[INFO]: PACKET CNT : 0x2913(10515)
[INFO]: INST CNT : 0xa44c(42060)
[INFO]:------------------------------------------------------------------------
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x44e: 0x472021b(POP R27,Rc7) vs 0x5f00000(MVI R0,0x0,Rc7), PACKET:0x44e(1102) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x45b: 0x472021b(POP R27,Rc7) vs 0x5f00000(MVI R0,0x0,Rc7), PACKET:0x45b(1115) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x5c0: 0x472021b(POP R27,Rc7) vs 0x9f80020(ADD.S R0,R0,0x1,Rc7), PACKET:0x5c0(1472) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x7fd: 0x4520180(BRL R0) vs 0x47a03e4(ADD R4,R0,R31,Rc7), PACKET:0x7fd(2045) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x996: 0x4720204(POP R4,Rc7) vs 0x9f80020(ADD.S R0,R0,0x1,Rc7), PACKET:0x996(2454) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0xe40: 0x4720204(POP R4,Rc7) vs 0x47a1be0(ADD R0,R6,R31,Rc7), PACKET:0xe40(3648) SLOT:0 vs 3
[INFO]:========================================================================
[INFO]: STATIC CHECK END
[INFO]:========================================================================
[INFO]:AIPU START RUNNING: BIN[0]
[INFO]:TOTAL TIME: 7.333716s.
[INFO]:SIMULATOR EXIT!
[I] [main.cpp : 135] Simulator finished.
Total errors: 0, warnings: 0
验证结果:
python3 quant_predict.py
环境和模型准备
apt-get update
apt-get install git
pip3 install tf_slim
下载工具预训练的模型:
git clone https://github.com/tensorflow/models.git # 下载工具
wget http://download.tensorflow.org/models/resnet_v1_101_2016_08_28.tar.gz
# 解压
tar zxvf resnet_v1_101_2016_08_28.tar.gz
mkdir tmp # 存放一些临时文件
mv resnet_v1_101.ckpt tmp
export graph:
python3 ./models/research/slim/export_inference_graph.py \
--alsologtostderr \
--model_name=resnet_v1_101 \
--image_size=224 \
--labels_offset=1 \
--output_file=tmp/resnet_v1_101_inf.pb
freeze graph:
python3 /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/tools/freeze_graph.py \
--input_graph=tmp/resnet_v1_101_inf.pb \
--input_checkpoint=tmp/resnet_v1_101.ckpt \
--input_binary=true --output_graph=tmp/resnet_v1_101_frozen.pb \
--output_node_names=resnet_v1_101/predictions/Reshape_1
此时 tmp 目录下存放的文件:
制作校准数据集:
cd ~/demos/tflite/dataset
python3 preprocess_dataset.py
NN Compiler 配置
在 config 目录下创建:resnet_101_build.cfg
和 resnet_101_run.cfg
。
resnet_101_build.cfg
内容如下:
[Common]
mode=build
[Parser]
model_name = resnet_101
detection_postprocess =
model_domain = image_classification
output = resnet_v1_101/predictions/Reshape
input_model = ./tmp/resnet_v1_101_frozen.pb
input = input
input_shape = [1,224,224,3]
[AutoQuantizationTool]
model_name = resnet_101
quantize_method = SYMMETRIC
ops_per_channel = DepthwiseConv
calibration_data = ./dataset/dataset.npy
calibration_label = ./dataset/label.npy
preprocess_mode = normalize
quant_precision=int8
reverse_rgb = False
label_id_offset = 0
[GBuilder]
outputs=./aipu.bin
profile= True
target=Z1_0701
resnet_101_run.cfg
内容如下:
[Common]
mode=run
[Parser]
model_name = resnet_101
detection_postprocess =
model_domain = image_classification
output = resnet_v1_101/predictions/Reshape
input_model = ./tmp/resnet_v1_101_frozen.pb
input = input
input_shape = [1,224,224,3]
output_dir = ./
[AutoQuantizationTool]
model_name = resnet_101
quantize_method = SYMMETRIC
ops_per_channel = DepthwiseConv
calibration_data = ./dataset/dataset.npy
calibration_label = ./dataset/label.npy
preprocess_mode = normalize
quant_precision=int8
reverse_rgb = False
label_id_offset = 0
[GBuilder]
inputs=./model/input.bin
simulator=aipu_simulator_z1
outputs=output_resnet_101.bin
profile= True
target=Z1_0701
AIPU 仿真
执行 build:
aipubuild confg/resnet_101_build.cfg
输出:
WARNING:tensorflow:
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
* https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
* https://github.com/tensorflow/addons
* https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.
[I] Parsing model....
[I] [Parser]: Begin to parse tensorflow model resnet_101...
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/AIPUBuilder/Parser/passes/tf/__init__.py:73: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/AIPUBuilder/Parser/passes/tf/__init__.py:73: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.
2022-05-17 11:25:56.039837: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2022-05-17 11:25:56.043526: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2995195000 Hz
2022-05-17 11:25:56.043830: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x14e49c90 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2022-05-17 11:25:56.043962: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version
[I] [Parser]: Bias Op (resnet_v1_101/logits/BiasAdd[?,1,1,1000]) is fused into Linear Op (resnet_v1_101/logits/Conv2D[?,1,1,1000])!
[I] [Parser]: BatchNorm Op (resnet_v1_101/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_1/bottleneck_v1/shortcut/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_1/bottleneck_v1/shortcut/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_1/bottleneck_v1/shortcut/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_1/bottleneck_v1/shortcut/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_1/bottleneck_v1/shortcut/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_1/bottleneck_v1/shortcut/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: Relu Op (resnet_v1_101/conv1/Relu[?,112,112,64]) is fused into Op (resnet_v1_101/conv1/Conv2D[?,112,112,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv1/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv1/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv2/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv2/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv1/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv1/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv2/Relu[?,28,28,64]) is fused into Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv2/Conv2D[?,28,28,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv1/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv1/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv2/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv2/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv1/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv1/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv2/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv2/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv1/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv1/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv2/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv2/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv1/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv1/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv2/Relu[?,14,14,128]) is fused into Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv2/Conv2D[?,14,14,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/Relu[?,7,7,256]) is fused into Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/Conv2D[?,7,7,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv1/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv1/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv2/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv2/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv1/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv1/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv2/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv2/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv1/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv1/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv2/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv2/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_1/bottleneck_v1/Relu[?,56,56,256]) is fused into Op (resnet_v1_101/block1/unit_1/bottleneck_v1/add[?,56,56,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_2/bottleneck_v1/Relu[?,56,56,256]) is fused into Op (resnet_v1_101/block1/unit_2/bottleneck_v1/add[?,56,56,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_3/bottleneck_v1/Relu[?,28,28,256]) is fused into Op (resnet_v1_101/block1/unit_3/bottleneck_v1/add[?,28,28,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_1/bottleneck_v1/Relu[?,28,28,512]) is fused into Op (resnet_v1_101/block2/unit_1/bottleneck_v1/add[?,28,28,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_2/bottleneck_v1/Relu[?,28,28,512]) is fused into Op (resnet_v1_101/block2/unit_2/bottleneck_v1/add[?,28,28,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_3/bottleneck_v1/Relu[?,28,28,512]) is fused into Op (resnet_v1_101/block2/unit_3/bottleneck_v1/add[?,28,28,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_4/bottleneck_v1/Relu[?,14,14,512]) is fused into Op (resnet_v1_101/block2/unit_4/bottleneck_v1/add[?,14,14,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_1/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_1/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_2/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_2/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_3/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_3/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_4/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_4/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_5/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_5/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_6/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_6/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_7/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_7/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_8/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_8/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_9/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_9/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_10/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_10/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_11/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_11/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_12/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_12/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_13/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_13/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_14/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_14/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_15/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_15/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_16/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_16/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_17/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_17/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_18/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_18/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_19/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_19/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_20/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_20/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_21/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_21/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_22/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_22/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_23/bottleneck_v1/Relu[?,7,7,1024]) is fused into Op (resnet_v1_101/block3/unit_23/bottleneck_v1/add[?,7,7,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_1/bottleneck_v1/Relu[?,7,7,2048]) is fused into Op (resnet_v1_101/block4/unit_1/bottleneck_v1/add[?,7,7,2048])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_2/bottleneck_v1/Relu[?,7,7,2048]) is fused into Op (resnet_v1_101/block4/unit_2/bottleneck_v1/add[?,7,7,2048])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_3/bottleneck_v1/Relu[?,7,7,2048]) is fused into Op (resnet_v1_101/block4/unit_3/bottleneck_v1/add[?,7,7,2048])!
[I] [Parser]: Parser done!
[I] Parse model complete
[I] Quantizing model....
[I] AQT start: model_name:resnet_101, calibration_method:MEAN, batch_size:1
[I] ==== read ir ================
[I] float32 ir txt: /tmp/AIPUBuilder_1652786754.825407/resnet_101.txt
[I] float32 ir bin2: /tmp/AIPUBuilder_1652786754.825407/resnet_101.bin
[I] ==== read ir DONE.===========
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.nn.max_pool is deprecated. Please use tf.nn.max_pool2d instead.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.nn.avg_pool is deprecated. Please use tf.nn.avg_pool2d instead.
[I] ==== auto-quantization ======
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: tf_record_iterator (from tensorflow.python.lib.io.tf_record) is deprecated and will be removed in a future version.
Instructions for updating:
Use eager execution and:
`tf.data.TFRecordDataset(path)`
WARNING:tensorflow:Entity <bound method ImageNet.data_transform_fn of <AIPUBuilder.AutoQuantizationTool.auto_quantization.data_set.ImageNet object at 0x7ff2d0e04b70>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: <cyfunction ImageNet.data_transform_fn at 0x7ff30af94d38> is not a module, class, method, function, traceback, frame, or code object
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/autograph/impl/api.py:330: The name tf.FixedLenFeature is deprecated. Please use tf.io.FixedLenFeature instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/autograph/impl/api.py:330: The name tf.parse_single_example is deprecated. Please use tf.io.parse_single_example instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/framework/func_graph.py:915: The name tf.image.resize_images is deprecated. Please use tf.image.resize instead.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: DatasetV1.make_one_shot_iterator (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `for ... in dataset:` to iterate over a dataset. If using `tf.estimator`, return the `Dataset` object directly from your input function. As a last resort, you can use `tf.compat.v1.data.make_one_shot_iterator(dataset)`.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.global_variables_initializer is deprecated. Please use tf.compat.v1.global_variables_initializer instead.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.local_variables_initializer is deprecated. Please use tf.compat.v1.local_variables_initializer instead.
[I] step1: get max/min statistic value DONE
[I] step2: quantization each op DONE
[I] step3: build quantization forward DONE
[I] step4: show output scale of end node:
[I] layer_id:146, layer_top:resnet_v1_101/predictions/Reshape_1_0, output_scale:[375.57022]
[I] ==== auto-quantization DONE =
[I] Quantize model complete
[I] Building ...
[I] [common_options.h: 276] BuildTool version: 4.0.175. Build for target Z1_0701 at frequency 800MHz
[I] [common_options.h: 297] using default profile events to profile AIFF
[I] [IRChecker] Start to check IR: /tmp/AIPUBuilder_1652786754.825407/resnet_101_int8.txt
[I] [IRChecker] model_name: resnet_101
[I] [IRChecker] IRChecker: All IR pass
[I] [graph.cpp : 846] loading graph weight: /tmp/AIPUBuilder_1652786754.825407/resnet_101_int8.bin size: 0x2a971a4
[I] [builder.cpp:1059] Total memory for this graph: 0x3148da0 Bytes
[I] [builder.cpp:1060] Text section: 0x00046f20 Bytes
[I] [builder.cpp:1061] RO section: 0x00007100 Bytes
[I] [builder.cpp:1062] Desc section: 0x0000d200 Bytes
[I] [builder.cpp:1063] Data section: 0x02a80380 Bytes
[I] [builder.cpp:1064] BSS section: 0x0062d400 Bytes
[I] [builder.cpp:1065] Stack : 0x00040400 Bytes
[I] [builder.cpp:1066] Workspace(BSS): 0x000c4000 Bytes
Total errors: 0, warnings: 0
执行 run:
aipubuild confg/resnet_101_run.cfg
输出:
WARNING:tensorflow:
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
* https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
* https://github.com/tensorflow/addons
* https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.
[I] Parsing model....
[I] [Parser]: Begin to parse tensorflow model resnet_101...
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/AIPUBuilder/Parser/passes/tf/__init__.py:73: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/AIPUBuilder/Parser/passes/tf/__init__.py:73: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.
2022-05-17 11:26:49.793162: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2022-05-17 11:26:49.796597: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2995195000 Hz
2022-05-17 11:26:49.796857: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x159465e0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2022-05-17 11:26:49.796985: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version
[I] [Parser]: Bias Op (resnet_v1_101/logits/BiasAdd[?,1,1,1000]) is fused into Linear Op (resnet_v1_101/logits/Conv2D[?,1,1,1000])!
[I] [Parser]: BatchNorm Op (resnet_v1_101/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_1/bottleneck_v1/shortcut/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_1/bottleneck_v1/shortcut/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_1/bottleneck_v1/shortcut/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_1/bottleneck_v1/shortcut/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_1/bottleneck_v1/shortcut/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_1/bottleneck_v1/shortcut/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_1/bottleneck_v1/shortcut/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv1/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv1/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv2/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv2/Conv2D)!
[I] [Parser]: BatchNorm Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv3/BatchNorm/FusedBatchNormV3) is fused into Linear Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv3/Conv2D)!
[I] [Parser]: Relu Op (resnet_v1_101/conv1/Relu[?,112,112,64]) is fused into Op (resnet_v1_101/conv1/Conv2D[?,112,112,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv1/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_1/bottleneck_v1/conv2/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv1/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv1/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv2/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_2/bottleneck_v1/conv2/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv1/Relu[?,56,56,64]) is fused into Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv1/Conv2D[?,56,56,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv2/Relu[?,28,28,64]) is fused into Op (resnet_v1_101/block1/unit_3/bottleneck_v1/conv2/Conv2D[?,28,28,64])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv1/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv1/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv2/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_1/bottleneck_v1/conv2/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv1/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv1/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv2/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_2/bottleneck_v1/conv2/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv1/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv1/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv2/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_3/bottleneck_v1/conv2/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv1/Relu[?,28,28,128]) is fused into Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv1/Conv2D[?,28,28,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv2/Relu[?,14,14,128]) is fused into Op (resnet_v1_101/block2/unit_4/bottleneck_v1/conv2/Conv2D[?,14,14,128])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_1/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_2/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_3/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_4/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_5/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_6/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_7/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_8/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_9/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_10/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_11/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_12/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_13/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_14/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_15/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_16/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_17/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_18/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_19/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_20/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_21/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv2/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_22/bottleneck_v1/conv2/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv1/Relu[?,14,14,256]) is fused into Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv1/Conv2D[?,14,14,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/Relu[?,7,7,256]) is fused into Op (resnet_v1_101/block3/unit_23/bottleneck_v1/conv2/Conv2D[?,7,7,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv1/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv1/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv2/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_1/bottleneck_v1/conv2/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv1/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv1/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv2/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_2/bottleneck_v1/conv2/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv1/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv1/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv2/Relu[?,7,7,512]) is fused into Op (resnet_v1_101/block4/unit_3/bottleneck_v1/conv2/Conv2D[?,7,7,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_1/bottleneck_v1/Relu[?,56,56,256]) is fused into Op (resnet_v1_101/block1/unit_1/bottleneck_v1/add[?,56,56,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_2/bottleneck_v1/Relu[?,56,56,256]) is fused into Op (resnet_v1_101/block1/unit_2/bottleneck_v1/add[?,56,56,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block1/unit_3/bottleneck_v1/Relu[?,28,28,256]) is fused into Op (resnet_v1_101/block1/unit_3/bottleneck_v1/add[?,28,28,256])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_1/bottleneck_v1/Relu[?,28,28,512]) is fused into Op (resnet_v1_101/block2/unit_1/bottleneck_v1/add[?,28,28,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_2/bottleneck_v1/Relu[?,28,28,512]) is fused into Op (resnet_v1_101/block2/unit_2/bottleneck_v1/add[?,28,28,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_3/bottleneck_v1/Relu[?,28,28,512]) is fused into Op (resnet_v1_101/block2/unit_3/bottleneck_v1/add[?,28,28,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block2/unit_4/bottleneck_v1/Relu[?,14,14,512]) is fused into Op (resnet_v1_101/block2/unit_4/bottleneck_v1/add[?,14,14,512])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_1/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_1/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_2/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_2/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_3/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_3/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_4/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_4/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_5/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_5/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_6/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_6/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_7/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_7/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_8/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_8/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_9/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_9/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_10/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_10/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_11/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_11/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_12/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_12/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_13/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_13/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_14/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_14/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_15/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_15/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_16/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_16/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_17/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_17/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_18/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_18/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_19/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_19/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_20/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_20/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_21/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_21/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_22/bottleneck_v1/Relu[?,14,14,1024]) is fused into Op (resnet_v1_101/block3/unit_22/bottleneck_v1/add[?,14,14,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block3/unit_23/bottleneck_v1/Relu[?,7,7,1024]) is fused into Op (resnet_v1_101/block3/unit_23/bottleneck_v1/add[?,7,7,1024])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_1/bottleneck_v1/Relu[?,7,7,2048]) is fused into Op (resnet_v1_101/block4/unit_1/bottleneck_v1/add[?,7,7,2048])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_2/bottleneck_v1/Relu[?,7,7,2048]) is fused into Op (resnet_v1_101/block4/unit_2/bottleneck_v1/add[?,7,7,2048])!
[I] [Parser]: Relu Op (resnet_v1_101/block4/unit_3/bottleneck_v1/Relu[?,7,7,2048]) is fused into Op (resnet_v1_101/block4/unit_3/bottleneck_v1/add[?,7,7,2048])!
[I] [Parser]: Parser done!
[I] Parse model complete
[I] Quantizing model....
[I] AQT start: model_name:resnet_101, calibration_method:MEAN, batch_size:1
[I] ==== read ir ================
[I] float32 ir txt: /tmp/AIPUBuilder_1652786808.484718/resnet_101.txt
[I] float32 ir bin2: /tmp/AIPUBuilder_1652786808.484718/resnet_101.bin
[I] ==== read ir DONE.===========
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.nn.max_pool is deprecated. Please use tf.nn.max_pool2d instead.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.nn.avg_pool is deprecated. Please use tf.nn.avg_pool2d instead.
[I] ==== auto-quantization ======
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: tf_record_iterator (from tensorflow.python.lib.io.tf_record) is deprecated and will be removed in a future version.
Instructions for updating:
Use eager execution and:
`tf.data.TFRecordDataset(path)`
WARNING:tensorflow:Entity <bound method ImageNet.data_transform_fn of <AIPUBuilder.AutoQuantizationTool.auto_quantization.data_set.ImageNet object at 0x7f5550137710>> could not be transformed and will be executed as-is. Please report this to the AutoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: <cyfunction ImageNet.data_transform_fn at 0x7f558a3b9d38> is not a module, class, method, function, traceback, frame, or code object
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/autograph/impl/api.py:330: The name tf.FixedLenFeature is deprecated. Please use tf.io.FixedLenFeature instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/autograph/impl/api.py:330: The name tf.parse_single_example is deprecated. Please use tf.io.parse_single_example instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/framework/func_graph.py:915: The name tf.image.resize_images is deprecated. Please use tf.image.resize instead.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: DatasetV1.make_one_shot_iterator (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use `for ... in dataset:` to iterate over a dataset. If using `tf.estimator`, return the `Dataset` object directly from your input function. As a last resort, you can use `tf.compat.v1.data.make_one_shot_iterator(dataset)`.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.global_variables_initializer is deprecated. Please use tf.compat.v1.global_variables_initializer instead.
WARNING:tensorflow:From /usr/local/bin/aipubuild:8: The name tf.local_variables_initializer is deprecated. Please use tf.compat.v1.local_variables_initializer instead.
[I] step1: get max/min statistic value DONE
[I] step2: quantization each op DONE
[I] step3: build quantization forward DONE
[I] step4: show output scale of end node:
[I] layer_id:146, layer_top:resnet_v1_101/predictions/Reshape_1_0, output_scale:[375.57022]
[I] ==== auto-quantization DONE =
[I] Quantize model complete
[I] Building ...
[I] [common_options.h: 276] BuildTool version: 4.0.175. Build for target Z1_0701 at frequency 800MHz
[I] [common_options.h: 297] using default profile events to profile AIFF
[I] [IRChecker] Start to check IR: /tmp/AIPUBuilder_1652786808.484718/resnet_101_int8.txt
[I] [IRChecker] model_name: resnet_101
[I] [IRChecker] IRChecker: All IR pass
[I] [graph.cpp : 846] loading graph weight: /tmp/AIPUBuilder_1652786808.484718/resnet_101_int8.bin size: 0x2a971a4
[I] [builder.cpp:1059] Total memory for this graph: 0x3148da0 Bytes
[I] [builder.cpp:1060] Text section: 0x00046f20 Bytes
[I] [builder.cpp:1061] RO section: 0x00007100 Bytes
[I] [builder.cpp:1062] Desc section: 0x0000d200 Bytes
[I] [builder.cpp:1063] Data section: 0x02a80380 Bytes
[I] [builder.cpp:1064] BSS section: 0x0062d400 Bytes
[I] [builder.cpp:1065] Stack : 0x00040400 Bytes
[I] [builder.cpp:1066] Workspace(BSS): 0x000c4000 Bytes
[I] [main.cpp : 467] # autogenrated by aipurun, do NOT modify!
LOG_FILE=log_default
FAST_FWD_INST=0
INPUT_INST_CNT=1
INPUT_DATA_CNT=2
CONFIG=Z1-0701
LOG_LEVEL=0
INPUT_INST_FILE0=/tmp/temp_679fe51920d26ea85df336bc307fc.text
INPUT_INST_BASE0=0x0
INPUT_INST_STARTPC0=0x0
INPUT_DATA_FILE0=/tmp/temp_679fe51920d26ea85df336bc307fc.ro
INPUT_DATA_BASE0=0x10000000
INPUT_DATA_FILE1=/tmp/temp_679fe51920d26ea85df336bc307fc.data
INPUT_DATA_BASE1=0x20000000
OUTPUT_DATA_CNT=2
OUTPUT_DATA_FILE0=output_resnet_101.bin
OUTPUT_DATA_BASE0=0x23200000
OUTPUT_DATA_SIZE0=0x3e8
OUTPUT_DATA_FILE1=profile_data.bin
OUTPUT_DATA_BASE1=0x22bc0780
OUTPUT_DATA_SIZE1=0xe00
RUN_DESCRIPTOR=BIN[0]
[I] [main.cpp : 118] run simulator:
aipu_simulator_z1 /tmp/temp_679fe51920d26ea85df336bc307fc.cfg
[INFO]:SIMULATOR START!
[INFO]:========================================================================
[INFO]: STATIC CHECK
[INFO]:========================================================================
[INFO]: INST START ADDR : 0x0(0)
[INFO]: INST END ADDR : 0x46f1f(290591)
[INFO]: INST SIZE : 0x46f20(290592)
[INFO]: PACKET CNT : 0x46f2(18162)
[INFO]: INST CNT : 0x11bc8(72648)
[INFO]:------------------------------------------------------------------------
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x44e: 0x472021b(POP R27,Rc7) vs 0x5f00000(MVI R0,0x0,Rc7), PACKET:0x44e(1102) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x45b: 0x472021b(POP R27,Rc7) vs 0x5f00000(MVI R0,0x0,Rc7), PACKET:0x45b(1115) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x5c0: 0x472021b(POP R27,Rc7) vs 0x9f80020(ADD.S R0,R0,0x1,Rc7), PACKET:0x5c0(1472) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x7fd: 0x4520180(BRL R0) vs 0x47a03e4(ADD R4,R0,R31,Rc7), PACKET:0x7fd(2045) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x996: 0x4720204(POP R4,Rc7) vs 0x9f80020(ADD.S R0,R0,0x1,Rc7), PACKET:0x996(2454) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0xe40: 0x4720204(POP R4,Rc7) vs 0x47a1be0(ADD R0,R6,R31,Rc7), PACKET:0xe40(3648) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x1266: 0x472021b(POP R27,Rc7) vs 0x5f00000(MVI R0,0x0,Rc7), PACKET:0x1266(4710) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x1273: 0x472021b(POP R27,Rc7) vs 0x5f00000(MVI R0,0x0,Rc7), PACKET:0x1273(4723) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x13d8: 0x472021b(POP R27,Rc7) vs 0x9f80020(ADD.S R0,R0,0x1,Rc7), PACKET:0x13d8(5080) SLOT:0 vs 3
[WARN]:[0803] INST WR/RD REG CONFLICT! PACKET 0x1575: 0x4520180(BRL R0) vs 0x47a03e5(ADD R5,R0,R31,Rc7), PACKET:0x1575(5493) SLOT:0 vs 3
[INFO]:========================================================================
[INFO]: STATIC CHECK END
[INFO]:========================================================================
[INFO]:AIPU START RUNNING: BIN[0]
[INFO]:TOTAL TIME: 20.575174s.
[INFO]:SIMULATOR EXIT!
[I] [main.cpp : 135] Simulator finished.
Total errors: 0, warnings: 0
结果分析:
python3 quant_predict.py output_resnet_101.bin
输出: