Keras | 计算模型的FLOPs、MACCs
FLOPs全称是floating point operations的缩写,翻译过来是浮点运算数,理解为计算量,常用来衡量算法或深度学习模型的计算复杂度。
关于计算FLOPs值的函数,网上相关的博客很多,但是能用的很少,下面这个函数是我实际使用过可行的函数,用来计算keras模型的FLOPs值。
方法一:
# 浮点运行次数
# FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。
# FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。
# In TF 2.x you have to use tf.compat.v1.RunMetadata instead of tf.RunMetadata
# To work your code in TF 2.1.0, i have made all necessary changes that are compliant to TF 2.x# print(tf.__version__)
import tensorflow as tf
# 必须要下面这行代码
tf.compat.v1.disable_eager_execution()
print(tf.__version__)# 我自己使用的函数
def get_flops_params():sess = tf.compat.v1.Session()graph = sess.graphflops = tf.compat.v1.profiler.profile(graph, options=tf.compat.v1.profiler.ProfileOptionBuilder.float_operation())params = tf.compat.v1.profiler.profile(graph, options=tf.compat.v1.profiler.ProfileOptionBuilder.trainable_variables_parameter())print('FLOPs: {}; Trainable params: {}'.format(flops.total_float_ops, params.total_parameters))# 网上推荐的
# sess = tf.compat.v1.Session()
# graph = sess.graph
# stats_graph(graph)
def stats_graph(graph):flops = tf.compat.v1.profiler.profile(graph, options=tf.compat.v1.profiler.ProfileOptionBuilder.float_operation())# print('FLOPs: {}'.format(flops.total_float_ops))params = tf.compat.v1.profiler.profile(graph, options=tf.compat.v1.profiler.ProfileOptionBuilder.trainable_variables_parameter())# print('Trainable params: {}'.format(params.total_parameters))print('FLOPs: {}; Trainable params: {}'.format(flops.total_float_ops, params.total_parameters))def get_flops(model):run_meta = tf.compat.v1.RunMetadata()opts = tf.compat.v1.profiler.ProfileOptionBuilder.float_operation()# We use the Keras session graph in the call to the profiler.flops = tf.compat.v1.profiler.profile(graph=tf.compat.v1.keras.backend.get_session().graph, run_meta=run_meta, cmd='op', options=opts)return flops.total_float_ops # Prints the "flops" of the model.# 必须使用tensorflow中的keras才能够获取到FLOPs, 模型中的各个函数都必须使用tensorflow.keras中的函数,和keras混用会报错
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
from tensorflow.keras.models import Sequentialmodel = Sequential()
model.add(Conv2D(filters=64, kernel_size=(3, 3), input_shape=(28, 28, 1), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(units=100, activation='relu'))
model.add(Dense(units=10, activation='softmax'))
# 获取模型每一层的参数详情
model.summary()
# 获取模型浮点运算总次数和模型的总参数
get_flops_params()
此代码情况下,实测MobileNetv2计算量误差较大:
2021-04-18 21:17:58.053772: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2021-04-18 21:17:58.054691: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:
2021-04-18 21:17:58.054932: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267]
2021-04-18 21:17:58.055070: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
WARNING:tensorflow:From D:\Anaconda3\envs\wen\lib\site-packages\tensorflow\python\profiler\internal\flops_registry.py:142: tensor_shape_from_node_def_name (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.compat.v1.graph_util.tensor_shape_from_node_def_name`
[0418 21:17:58] From D:\Anaconda3\envs\wen\lib\site-packages\tensorflow\python\profiler\internal\flops_registry.py:142: tensor_shape_from_node_def_name (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.compat.v1.graph_util.tensor_shape_from_node_def_name`
62 ops no flops stats due to incomplete shapes.
Incomplete shape.
Incomplete shape.
Incomplete shape.
Incomplete shape.=========================Options=============================
-max_depth 10000
-min_bytes 0
-min_peak_bytes 0
-min_residual_bytes 0
-min_output_bytes 0
-min_micros 0
-min_accelerator_micros 0
-min_cpu_micros 0
-min_params 0
-min_float_ops 1
-min_occurrence 0
-step -1
-order_by float_ops
-account_type_regexes .*
-start_name_regexes .*
-trim_name_regexes
-show_name_regexes .*
-hide_name_regexes
-account_displayed_op_only true
-select float_ops
-output stdout:==================Model Analysis Report======================Doc:
scope: The nodes in the model graph are organized by their names, which is hierarchical like filesystem.
flops: Number of float operations. Note: Please read the implementation for the math behind it.Profile:
node name | # float_ops
_TFProfRoot (--/7.01m flops)predictions/kernel/Initializer/random_uniform (1.28m/2.56m flops)predictions/kernel/Initializer/random_uniform/mul (1.28m/1.28m flops)predictions/kernel/Initializer/random_uniform/sub (1/1 flops)Conv_1/kernel/Initializer/random_uniform (409.60k/819.20k flops)Conv_1/kernel/Initializer/random_uniform/mul (409.60k/409.60k flops)Conv_1/kernel/Initializer/random_uniform/sub (1/1 flops)block_16_project/kernel/Initializer/random_uniform (307.20k/614.40k flops)block_16_project/kernel/Initializer/random_uniform/mul (307.20k/307.20k flops)block_16_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_14_project/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_14_project/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_14_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_14_expand/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_14_expand/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_14_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_15_project/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_15_project/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_15_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_15_expand/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_15_expand/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_15_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_16_expand/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_16_expand/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_16_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_13_project/kernel/Initializer/random_uniform (92.16k/184.32k flops)block_13_project/kernel/Initializer/random_uniform/mul (92.16k/92.16k flops)block_13_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_12_project/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_12_project/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_12_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_13_expand/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_13_expand/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_13_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_12_expand/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_12_expand/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_12_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_11_expand/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_11_expand/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_11_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_11_project/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_11_project/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_11_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_10_project/kernel/Initializer/random_uniform (36.86k/73.73k flops)block_10_project/kernel/Initializer/random_uniform/mul (36.86k/36.86k flops)block_10_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_8_expand/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_8_expand/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_8_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_8_project/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_8_project/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_8_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_9_expand/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_9_expand/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_9_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_7_project/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_7_project/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_7_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_9_project/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_9_project/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_9_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_7_expand/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_7_expand/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_7_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_10_expand/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_10_expand/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_10_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_6_project/kernel/Initializer/random_uniform (12.29k/24.58k flops)block_6_project/kernel/Initializer/random_uniform/mul (12.29k/12.29k flops)block_6_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_15_depthwise/depthwise_kernel/Initializer/random_uniform (8.64k/17.28k flops)block_15_depthwise/depthwise_kernel/Initializer/random_uniform/mul (8.64k/8.64k flops)block_15_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_16_depthwise/depthwise_kernel/Initializer/random_uniform (8.64k/17.28k flops)block_16_depthwise/depthwise_kernel/Initializer/random_uniform/mul (8.64k/8.64k flops)block_16_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_14_depthwise/depthwise_kernel/Initializer/random_uniform (8.64k/17.28k flops)block_14_depthwise/depthwise_kernel/Initializer/random_uniform/mul (8.64k/8.64k flops)block_14_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_6_expand/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_6_expand/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_6_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_4_project/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_4_project/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_4_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_5_expand/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_5_expand/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_5_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_5_project/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_5_project/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_5_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_4_expand/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_4_expand/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_4_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_12_depthwise/depthwise_kernel/Initializer/random_uniform (5.18k/10.37k flops)block_12_depthwise/depthwise_kernel/Initializer/random_uniform/mul (5.18k/5.18k flops)block_12_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_11_depthwise/depthwise_kernel/Initializer/random_uniform (5.18k/10.37k flops)block_11_depthwise/depthwise_kernel/Initializer/random_uniform/mul (5.18k/5.18k flops)block_11_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_13_depthwise/depthwise_kernel/Initializer/random_uniform (5.18k/10.37k flops)block_13_depthwise/depthwise_kernel/Initializer/random_uniform/mul (5.18k/5.18k flops)block_13_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_3_project/kernel/Initializer/random_uniform (4.61k/9.22k flops)block_3_project/kernel/Initializer/random_uniform/mul (4.61k/4.61k flops)block_3_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_2_expand/kernel/Initializer/random_uniform (3.46k/6.91k flops)block_2_expand/kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_2_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_10_depthwise/depthwise_kernel/Initializer/random_uniform (3.46k/6.91k flops)block_10_depthwise/depthwise_kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_10_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_2_project/kernel/Initializer/random_uniform (3.46k/6.91k flops)block_2_project/kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_2_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_7_depthwise/depthwise_kernel/Initializer/random_uniform (3.46k/6.91k flops)block_7_depthwise/depthwise_kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_7_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_8_depthwise/depthwise_kernel/Initializer/random_uniform (3.46k/6.91k flops)block_8_depthwise/depthwise_kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_8_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_3_expand/kernel/Initializer/random_uniform (3.46k/6.91k flops)block_3_expand/kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_3_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_9_depthwise/depthwise_kernel/Initializer/random_uniform (3.46k/6.91k flops)block_9_depthwise/depthwise_kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_9_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_1_project/kernel/Initializer/random_uniform (2.30k/4.61k flops)block_1_project/kernel/Initializer/random_uniform/mul (2.30k/2.30k flops)block_1_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_5_depthwise/depthwise_kernel/Initializer/random_uniform (1.73k/3.46k flops)block_5_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.73k/1.73k flops)block_5_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_4_depthwise/depthwise_kernel/Initializer/random_uniform (1.73k/3.46k flops)block_4_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.73k/1.73k flops)block_4_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_6_depthwise/depthwise_kernel/Initializer/random_uniform (1.73k/3.46k flops)block_6_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.73k/1.73k flops)block_6_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_1_expand/kernel/Initializer/random_uniform (1.54k/3.07k flops)block_1_expand/kernel/Initializer/random_uniform/mul (1.54k/1.54k flops)block_1_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_2_depthwise/depthwise_kernel/Initializer/random_uniform (1.30k/2.59k flops)block_2_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.30k/1.30k flops)block_2_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_3_depthwise/depthwise_kernel/Initializer/random_uniform (1.30k/2.59k flops)block_3_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.30k/1.30k flops)block_3_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)Conv1/kernel/Initializer/random_uniform (864/1.73k flops)Conv1/kernel/Initializer/random_uniform/mul (864/864 flops)Conv1/kernel/Initializer/random_uniform/sub (1/1 flops)block_1_depthwise/depthwise_kernel/Initializer/random_uniform (864/1.73k flops)block_1_depthwise/depthwise_kernel/Initializer/random_uniform/mul (864/864 flops)block_1_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)Conv_1_bn/AssignMovingAvg/mul (1.28k/1.28k flops)Conv_1_bn/AssignMovingAvg/sub_1 (1.28k/1.28k flops)Conv_1_bn/AssignMovingAvg_1/mul (1.28k/1.28k flops)Conv_1_bn/AssignMovingAvg_1/sub_1 (1.28k/1.28k flops)expanded_conv_project/kernel/Initializer/random_uniform (512/1.02k flops)expanded_conv_project/kernel/Initializer/random_uniform/mul (512/512 flops)expanded_conv_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_15_depthwise_BN/AssignMovingAvg_1/mul (960/960 flops)block_15_expand_BN/AssignMovingAvg/sub_1 (960/960 flops)block_15_depthwise_BN/AssignMovingAvg/sub_1 (960/960 flops)block_14_depthwise_BN/AssignMovingAvg/mul (960/960 flops)block_15_expand_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_14_depthwise_BN/AssignMovingAvg/sub_1 (960/960 flops)block_14_depthwise_BN/AssignMovingAvg_1/mul (960/960 flops)block_14_expand_BN/AssignMovingAvg/sub_1 (960/960 flops)block_14_depthwise_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_15_depthwise_BN/AssignMovingAvg/mul (960/960 flops)block_14_expand_BN/AssignMovingAvg_1/mul (960/960 flops)block_14_expand_BN/AssignMovingAvg/mul (960/960 flops)block_15_expand_BN/AssignMovingAvg_1/mul (960/960 flops)block_14_expand_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_15_expand_BN/AssignMovingAvg/mul (960/960 flops)block_15_depthwise_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_16_expand_BN/AssignMovingAvg/sub_1 (960/960 flops)block_16_depthwise_BN/AssignMovingAvg/mul (960/960 flops)block_16_depthwise_BN/AssignMovingAvg/sub_1 (960/960 flops)block_16_depthwise_BN/AssignMovingAvg_1/mul (960/960 flops)block_16_depthwise_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_16_expand_BN/AssignMovingAvg/mul (960/960 flops)block_16_expand_BN/AssignMovingAvg_1/mul (960/960 flops)block_16_expand_BN/AssignMovingAvg_1/sub_1 (960/960 flops)expanded_conv_depthwise/depthwise_kernel/Initializer/random_uniform (288/577 flops)expanded_conv_depthwise/depthwise_kernel/Initializer/random_uniform/mul (288/288 flops)expanded_conv_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_13_expand_BN/AssignMovingAvg_1/mul (576/576 flops)block_13_expand_BN/AssignMovingAvg/sub_1 (576/576 flops)block_13_expand_BN/AssignMovingAvg/mul (576/576 flops)block_12_depthwise_BN/AssignMovingAvg/mul (576/576 flops)block_12_depthwise_BN/AssignMovingAvg/sub_1 (576/576 flops)block_12_depthwise_BN/AssignMovingAvg_1/mul (576/576 flops)block_11_depthwise_BN/AssignMovingAvg/mul (576/576 flops)block_12_depthwise_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_13_depthwise_BN/AssignMovingAvg_1/mul (576/576 flops)block_11_depthwise_BN/AssignMovingAvg/sub_1 (576/576 flops)block_11_depthwise_BN/AssignMovingAvg_1/mul (576/576 flops)block_11_depthwise_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_11_expand_BN/AssignMovingAvg/mul (576/576 flops)block_11_expand_BN/AssignMovingAvg/sub_1 (576/576 flops)block_13_depthwise_BN/AssignMovingAvg/mul (576/576 flops)block_11_expand_BN/AssignMovingAvg_1/mul (576/576 flops)block_13_depthwise_BN/AssignMovingAvg/sub_1 (576/576 flops)block_11_expand_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_13_depthwise_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_13_expand_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_12_expand_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_12_expand_BN/AssignMovingAvg_1/mul (576/576 flops)block_12_expand_BN/AssignMovingAvg/sub_1 (576/576 flops)block_12_expand_BN/AssignMovingAvg/mul (576/576 flops)block_8_expand_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_8_expand_BN/AssignMovingAvg_1/mul (384/384 flops)block_8_expand_BN/AssignMovingAvg/sub_1 (384/384 flops)block_8_expand_BN/AssignMovingAvg/mul (384/384 flops)block_8_depthwise_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_7_depthwise_BN/AssignMovingAvg/mul (384/384 flops)block_7_depthwise_BN/AssignMovingAvg/sub_1 (384/384 flops)block_7_depthwise_BN/AssignMovingAvg_1/mul (384/384 flops)block_9_expand_BN/AssignMovingAvg/sub_1 (384/384 flops)block_7_depthwise_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_10_depthwise_BN/AssignMovingAvg/mul (384/384 flops)block_10_depthwise_BN/AssignMovingAvg/sub_1 (384/384 flops)block_7_expand_BN/AssignMovingAvg/mul (384/384 flops)block_10_depthwise_BN/AssignMovingAvg_1/mul (384/384 flops)block_10_depthwise_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_10_expand_BN/AssignMovingAvg/mul (384/384 flops)block_10_expand_BN/AssignMovingAvg/sub_1 (384/384 flops)block_10_expand_BN/AssignMovingAvg_1/mul (384/384 flops)block_10_expand_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_9_expand_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_9_expand_BN/AssignMovingAvg_1/mul (384/384 flops)block_7_expand_BN/AssignMovingAvg/sub_1 (384/384 flops)block_7_expand_BN/AssignMovingAvg_1/mul (384/384 flops)block_9_expand_BN/AssignMovingAvg/mul (384/384 flops)block_7_expand_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_8_depthwise_BN/AssignMovingAvg/mul (384/384 flops)block_9_depthwise_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_8_depthwise_BN/AssignMovingAvg/sub_1 (384/384 flops)block_9_depthwise_BN/AssignMovingAvg_1/mul (384/384 flops)block_9_depthwise_BN/AssignMovingAvg/sub_1 (384/384 flops)block_8_depthwise_BN/AssignMovingAvg_1/mul (384/384 flops)block_9_depthwise_BN/AssignMovingAvg/mul (384/384 flops)block_16_project_BN/AssignMovingAvg_1/sub_1 (320/320 flops)block_16_project_BN/AssignMovingAvg_1/mul (320/320 flops)block_16_project_BN/AssignMovingAvg/sub_1 (320/320 flops)block_16_project_BN/AssignMovingAvg/mul (320/320 flops)block_4_depthwise_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_5_expand_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_6_expand_BN/AssignMovingAvg/sub_1 (192/192 flops)block_4_depthwise_BN/AssignMovingAvg_1/mul (192/192 flops)block_6_depthwise_BN/AssignMovingAvg_1/mul (192/192 flops)block_5_expand_BN/AssignMovingAvg_1/mul (192/192 flops)block_6_expand_BN/AssignMovingAvg_1/mul (192/192 flops)block_6_expand_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_5_expand_BN/AssignMovingAvg/sub_1 (192/192 flops)block_6_depthwise_BN/AssignMovingAvg/sub_1 (192/192 flops)block_4_depthwise_BN/AssignMovingAvg/sub_1 (192/192 flops)block_5_expand_BN/AssignMovingAvg/mul (192/192 flops)block_4_depthwise_BN/AssignMovingAvg/mul (192/192 flops)block_6_expand_BN/AssignMovingAvg/mul (192/192 flops)block_5_depthwise_BN/AssignMovingAvg_1/mul (192/192 flops)block_5_depthwise_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_6_depthwise_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_5_depthwise_BN/AssignMovingAvg/sub_1 (192/192 flops)block_5_depthwise_BN/AssignMovingAvg/mul (192/192 flops)block_6_depthwise_BN/AssignMovingAvg/mul (192/192 flops)block_4_expand_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_4_expand_BN/AssignMovingAvg_1/mul (192/192 flops)block_4_expand_BN/AssignMovingAvg/sub_1 (192/192 flops)block_4_expand_BN/AssignMovingAvg/mul (192/192 flops)block_14_project_BN/AssignMovingAvg/sub_1 (160/160 flops)block_14_project_BN/AssignMovingAvg/mul (160/160 flops)block_13_project_BN/AssignMovingAvg/mul (160/160 flops)block_13_project_BN/AssignMovingAvg_1/sub_1 (160/160 flops)block_13_project_BN/AssignMovingAvg/sub_1 (160/160 flops)block_15_project_BN/AssignMovingAvg/mul (160/160 flops)block_13_project_BN/AssignMovingAvg_1/mul (160/160 flops)block_15_project_BN/AssignMovingAvg/sub_1 (160/160 flops)block_14_project_BN/AssignMovingAvg_1/sub_1 (160/160 flops)block_15_project_BN/AssignMovingAvg_1/sub_1 (160/160 flops)block_14_project_BN/AssignMovingAvg_1/mul (160/160 flops)block_15_project_BN/AssignMovingAvg_1/mul (160/160 flops)block_3_expand_BN/AssignMovingAvg/sub_1 (144/144 flops)block_3_expand_BN/AssignMovingAvg_1/mul (144/144 flops)block_3_expand_BN/AssignMovingAvg_1/sub_1 (144/144 flops)block_2_depthwise_BN/AssignMovingAvg/mul (144/144 flops)block_2_depthwise_BN/AssignMovingAvg/sub_1 (144/144 flops)block_2_depthwise_BN/AssignMovingAvg_1/mul (144/144 flops)block_2_depthwise_BN/AssignMovingAvg_1/sub_1 (144/144 flops)block_2_expand_BN/AssignMovingAvg/mul (144/144 flops)block_2_expand_BN/AssignMovingAvg/sub_1 (144/144 flops)block_2_expand_BN/AssignMovingAvg_1/mul (144/144 flops)block_2_expand_BN/AssignMovingAvg_1/sub_1 (144/144 flops)block_3_depthwise_BN/AssignMovingAvg/mul (144/144 flops)block_3_depthwise_BN/AssignMovingAvg/sub_1 (144/144 flops)block_3_depthwise_BN/AssignMovingAvg_1/mul (144/144 flops)block_3_depthwise_BN/AssignMovingAvg_1/sub_1 (144/144 flops)block_3_expand_BN/AssignMovingAvg/mul (144/144 flops)block_1_depthwise_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_1_expand_BN/AssignMovingAvg_1/mul (96/96 flops)block_1_depthwise_BN/AssignMovingAvg/mul (96/96 flops)block_11_project_BN/AssignMovingAvg/mul (96/96 flops)block_1_expand_BN/AssignMovingAvg/sub_1 (96/96 flops)block_12_project_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_11_project_BN/AssignMovingAvg/sub_1 (96/96 flops)block_1_expand_BN/AssignMovingAvg/mul (96/96 flops)block_11_project_BN/AssignMovingAvg_1/mul (96/96 flops)block_1_depthwise_BN/AssignMovingAvg/sub_1 (96/96 flops)block_11_project_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_12_project_BN/AssignMovingAvg/sub_1 (96/96 flops)block_12_project_BN/AssignMovingAvg_1/mul (96/96 flops)block_1_expand_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_12_project_BN/AssignMovingAvg/mul (96/96 flops)block_1_depthwise_BN/AssignMovingAvg_1/mul (96/96 flops)block_10_project_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_10_project_BN/AssignMovingAvg_1/mul (96/96 flops)block_10_project_BN/AssignMovingAvg/sub_1 (96/96 flops)block_10_project_BN/AssignMovingAvg/mul (96/96 flops)block_6_project_BN/AssignMovingAvg/mul (64/64 flops)block_6_project_BN/AssignMovingAvg/sub_1 (64/64 flops)block_7_project_BN/AssignMovingAvg/mul (64/64 flops)block_7_project_BN/AssignMovingAvg_1/sub_1 (64/64 flops)block_8_project_BN/AssignMovingAvg/mul (64/64 flops)block_8_project_BN/AssignMovingAvg/sub_1 (64/64 flops)block_8_project_BN/AssignMovingAvg_1/mul (64/64 flops)block_8_project_BN/AssignMovingAvg_1/sub_1 (64/64 flops)block_7_project_BN/AssignMovingAvg_1/mul (64/64 flops)block_7_project_BN/AssignMovingAvg/sub_1 (64/64 flops)block_6_project_BN/AssignMovingAvg_1/sub_1 (64/64 flops)block_6_project_BN/AssignMovingAvg_1/mul (64/64 flops)block_9_project_BN/AssignMovingAvg/mul (64/64 flops)block_9_project_BN/AssignMovingAvg/sub_1 (64/64 flops)block_9_project_BN/AssignMovingAvg_1/mul (64/64 flops)block_9_project_BN/AssignMovingAvg_1/sub_1 (64/64 flops)block_5_project_BN/AssignMovingAvg/mul (32/32 flops)block_4_project_BN/AssignMovingAvg/mul (32/32 flops)block_5_project_BN/AssignMovingAvg/sub_1 (32/32 flops)block_4_project_BN/AssignMovingAvg/sub_1 (32/32 flops)bn_Conv1/AssignMovingAvg/sub_1 (32/32 flops)block_4_project_BN/AssignMovingAvg_1/mul (32/32 flops)block_5_project_BN/AssignMovingAvg_1/mul (32/32 flops)block_4_project_BN/AssignMovingAvg_1/sub_1 (32/32 flops)block_3_project_BN/AssignMovingAvg/mul (32/32 flops)block_3_project_BN/AssignMovingAvg/sub_1 (32/32 flops)block_3_project_BN/AssignMovingAvg_1/sub_1 (32/32 flops)block_3_project_BN/AssignMovingAvg_1/mul (32/32 flops)block_5_project_BN/AssignMovingAvg_1/sub_1 (32/32 flops)bn_Conv1/AssignMovingAvg/mul (32/32 flops)bn_Conv1/AssignMovingAvg_1/mul (32/32 flops)bn_Conv1/AssignMovingAvg_1/sub_1 (32/32 flops)expanded_conv_depthwise_BN/AssignMovingAvg/mul (32/32 flops)expanded_conv_depthwise_BN/AssignMovingAvg/sub_1 (32/32 flops)expanded_conv_depthwise_BN/AssignMovingAvg_1/mul (32/32 flops)expanded_conv_depthwise_BN/AssignMovingAvg_1/sub_1 (32/32 flops)block_1_project_BN/AssignMovingAvg/mul (24/24 flops)block_2_project_BN/AssignMovingAvg/mul (24/24 flops)block_1_project_BN/AssignMovingAvg/sub_1 (24/24 flops)block_2_project_BN/AssignMovingAvg_1/sub_1 (24/24 flops)block_1_project_BN/AssignMovingAvg_1/mul (24/24 flops)block_2_project_BN/AssignMovingAvg_1/mul (24/24 flops)block_2_project_BN/AssignMovingAvg/sub_1 (24/24 flops)block_1_project_BN/AssignMovingAvg_1/sub_1 (24/24 flops)expanded_conv_project_BN/AssignMovingAvg/mul (16/16 flops)expanded_conv_project_BN/AssignMovingAvg/sub_1 (16/16 flops)expanded_conv_project_BN/AssignMovingAvg_1/mul (16/16 flops)expanded_conv_project_BN/AssignMovingAvg_1/sub_1 (16/16 flops)block_16_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_5_project_BN/AssignMovingAvg/sub (1/1 flops)block_5_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_15_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_15_project_BN/AssignMovingAvg/sub (1/1 flops)block_6_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_15_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_15_expand_BN/AssignMovingAvg/sub (1/1 flops)block_6_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_15_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_15_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_14_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_6_expand_BN/AssignMovingAvg/sub (1/1 flops)block_14_project_BN/AssignMovingAvg/sub (1/1 flops)block_14_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_6_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_14_expand_BN/AssignMovingAvg/sub (1/1 flops)block_14_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_14_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_6_project_BN/AssignMovingAvg_1/sub (1/1 flops)Conv_1_bn/AssignMovingAvg/sub (1/1 flops)block_13_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_13_project_BN/AssignMovingAvg/sub (1/1 flops)block_13_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_13_expand_BN/AssignMovingAvg/sub (1/1 flops)block_13_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_13_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_7_expand_BN/AssignMovingAvg/sub (1/1 flops)Conv_1_bn/AssignMovingAvg_1/sub (1/1 flops)block_12_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_10_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_2_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_2_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_project_BN/AssignMovingAvg/sub (1/1 flops)block_3_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_2_expand_BN/AssignMovingAvg/sub (1/1 flops)block_7_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_2_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_12_project_BN/AssignMovingAvg/sub (1/1 flops)block_3_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_8_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_12_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_12_expand_BN/AssignMovingAvg/sub (1/1 flops)block_8_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_12_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_12_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_2_project_BN/AssignMovingAvg/sub (1/1 flops)block_8_expand_BN/AssignMovingAvg/sub (1/1 flops)block_11_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_3_expand_BN/AssignMovingAvg/sub (1/1 flops)block_8_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_11_project_BN/AssignMovingAvg/sub (1/1 flops)block_3_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_2_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_8_project_BN/AssignMovingAvg/sub (1/1 flops)block_1_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_3_project_BN/AssignMovingAvg/sub (1/1 flops)block_8_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_3_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_11_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_4_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_9_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_11_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_11_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_9_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_1_project_BN/AssignMovingAvg/sub (1/1 flops)block_10_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_4_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_9_expand_BN/AssignMovingAvg/sub (1/1 flops)block_1_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_10_project_BN/AssignMovingAvg/sub (1/1 flops)block_9_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_4_expand_BN/AssignMovingAvg/sub (1/1 flops)block_10_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_1_expand_BN/AssignMovingAvg/sub (1/1 flops)block_9_project_BN/AssignMovingAvg/sub (1/1 flops)block_4_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_4_project_BN/AssignMovingAvg/sub (1/1 flops)block_9_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_4_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_1_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)bn_Conv1/AssignMovingAvg/sub (1/1 flops)block_11_expand_BN/AssignMovingAvg/sub (1/1 flops)block_5_depthwise_BN/AssignMovingAvg/sub (1/1 flops)bn_Conv1/AssignMovingAvg_1/sub (1/1 flops)block_1_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_10_expand_BN/AssignMovingAvg/sub (1/1 flops)block_5_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)expanded_conv_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_16_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_16_project_BN/AssignMovingAvg/sub (1/1 flops)expanded_conv_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_5_expand_BN/AssignMovingAvg/sub (1/1 flops)block_10_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_16_expand_BN/AssignMovingAvg_1/sub (1/1 flops)expanded_conv_project_BN/AssignMovingAvg/sub (1/1 flops)block_16_expand_BN/AssignMovingAvg/sub (1/1 flops)block_5_expand_BN/AssignMovingAvg_1/sub (1/1 flops)expanded_conv_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_16_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)loss/mul (1/1 flops)loss/predictions_loss/softmax_cross_entropy_with_logits/Sub (1/1 flops)loss/predictions_loss/softmax_cross_entropy_with_logits/Sub_1 (1/1 flops)loss/predictions_loss/softmax_cross_entropy_with_logits/Sub_2 (1/1 flops)block_6_project_BN/AssignMovingAvg/sub (1/1 flops)======================End of Report==========================
62 ops no flops stats due to incomplete shapes.
Incomplete shape.
Incomplete shape.=========================Options=============================
-max_depth 10000
-min_bytes 0
-min_peak_bytes 0
-min_residual_bytes 0
-min_output_bytes 0
-min_micros 0
-min_accelerator_micros 0
-min_cpu_micros 0
-min_params 0
-min_float_ops 0
-min_occurrence 0
-step -1
-order_by name
-account_type_regexes _trainable_variables
-start_name_regexes .*
-trim_name_regexes
-show_name_regexes .*
-hide_name_regexes
-account_displayed_op_only true
-select params
-output stdout:==================Model Analysis Report======================Doc:
scope: The nodes in the model graph are organized by their names, which is hierarchical like filesystem.
param: Number of parameters (in the Variable).Profile:
node name | # parameters
_TFProfRoot (--/3.50m params)Conv1 (--/864 params)Conv1/kernel (3x3x3x32, 864/864 params)Conv_1 (--/409.60k params)Conv_1/kernel (1x1x320x1280, 409.60k/409.60k params)Conv_1_bn (--/2.56k params)Conv_1_bn/beta (1280, 1.28k/1.28k params)Conv_1_bn/gamma (1280, 1.28k/1.28k params)block_10_depthwise (--/3.46k params)block_10_depthwise/depthwise_kernel (3x3x384x1, 3.46k/3.46k params)block_10_depthwise_BN (--/768 params)block_10_depthwise_BN/beta (384, 384/384 params)block_10_depthwise_BN/gamma (384, 384/384 params)block_10_expand (--/24.58k params)block_10_expand/kernel (1x1x64x384, 24.58k/24.58k params)block_10_expand_BN (--/768 params)block_10_expand_BN/beta (384, 384/384 params)block_10_expand_BN/gamma (384, 384/384 params)block_10_project (--/36.86k params)block_10_project/kernel (1x1x384x96, 36.86k/36.86k params)block_10_project_BN (--/192 params)block_10_project_BN/beta (96, 96/96 params)block_10_project_BN/gamma (96, 96/96 params)block_11_depthwise (--/5.18k params)block_11_depthwise/depthwise_kernel (3x3x576x1, 5.18k/5.18k params)block_11_depthwise_BN (--/1.15k params)block_11_depthwise_BN/beta (576, 576/576 params)block_11_depthwise_BN/gamma (576, 576/576 params)block_11_expand (--/55.30k params)block_11_expand/kernel (1x1x96x576, 55.30k/55.30k params)block_11_expand_BN (--/1.15k params)block_11_expand_BN/beta (576, 576/576 params)block_11_expand_BN/gamma (576, 576/576 params)block_11_project (--/55.30k params)block_11_project/kernel (1x1x576x96, 55.30k/55.30k params)block_11_project_BN (--/192 params)block_11_project_BN/beta (96, 96/96 params)block_11_project_BN/gamma (96, 96/96 params)block_12_depthwise (--/5.18k params)block_12_depthwise/depthwise_kernel (3x3x576x1, 5.18k/5.18k params)block_12_depthwise_BN (--/1.15k params)block_12_depthwise_BN/beta (576, 576/576 params)block_12_depthwise_BN/gamma (576, 576/576 params)block_12_expand (--/55.30k params)block_12_expand/kernel (1x1x96x576, 55.30k/55.30k params)block_12_expand_BN (--/1.15k params)block_12_expand_BN/beta (576, 576/576 params)block_12_expand_BN/gamma (576, 576/576 params)block_12_project (--/55.30k params)block_12_project/kernel (1x1x576x96, 55.30k/55.30k params)block_12_project_BN (--/192 params)block_12_project_BN/beta (96, 96/96 params)block_12_project_BN/gamma (96, 96/96 params)block_13_depthwise (--/5.18k params)block_13_depthwise/depthwise_kernel (3x3x576x1, 5.18k/5.18k params)block_13_depthwise_BN (--/1.15k params)block_13_depthwise_BN/beta (576, 576/576 params)block_13_depthwise_BN/gamma (576, 576/576 params)block_13_expand (--/55.30k params)block_13_expand/kernel (1x1x96x576, 55.30k/55.30k params)block_13_expand_BN (--/1.15k params)block_13_expand_BN/beta (576, 576/576 params)block_13_expand_BN/gamma (576, 576/576 params)block_13_project (--/92.16k params)block_13_project/kernel (1x1x576x160, 92.16k/92.16k params)block_13_project_BN (--/320 params)block_13_project_BN/beta (160, 160/160 params)block_13_project_BN/gamma (160, 160/160 params)block_14_depthwise (--/8.64k params)block_14_depthwise/depthwise_kernel (3x3x960x1, 8.64k/8.64k params)block_14_depthwise_BN (--/1.92k params)block_14_depthwise_BN/beta (960, 960/960 params)block_14_depthwise_BN/gamma (960, 960/960 params)block_14_expand (--/153.60k params)block_14_expand/kernel (1x1x160x960, 153.60k/153.60k params)block_14_expand_BN (--/1.92k params)block_14_expand_BN/beta (960, 960/960 params)block_14_expand_BN/gamma (960, 960/960 params)block_14_project (--/153.60k params)block_14_project/kernel (1x1x960x160, 153.60k/153.60k params)block_14_project_BN (--/320 params)block_14_project_BN/beta (160, 160/160 params)block_14_project_BN/gamma (160, 160/160 params)block_15_depthwise (--/8.64k params)block_15_depthwise/depthwise_kernel (3x3x960x1, 8.64k/8.64k params)block_15_depthwise_BN (--/1.92k params)block_15_depthwise_BN/beta (960, 960/960 params)block_15_depthwise_BN/gamma (960, 960/960 params)block_15_expand (--/153.60k params)block_15_expand/kernel (1x1x160x960, 153.60k/153.60k params)block_15_expand_BN (--/1.92k params)block_15_expand_BN/beta (960, 960/960 params)block_15_expand_BN/gamma (960, 960/960 params)block_15_project (--/153.60k params)block_15_project/kernel (1x1x960x160, 153.60k/153.60k params)block_15_project_BN (--/320 params)block_15_project_BN/beta (160, 160/160 params)block_15_project_BN/gamma (160, 160/160 params)block_16_depthwise (--/8.64k params)block_16_depthwise/depthwise_kernel (3x3x960x1, 8.64k/8.64k params)block_16_depthwise_BN (--/1.92k params)block_16_depthwise_BN/beta (960, 960/960 params)block_16_depthwise_BN/gamma (960, 960/960 params)block_16_expand (--/153.60k params)block_16_expand/kernel (1x1x160x960, 153.60k/153.60k params)block_16_expand_BN (--/1.92k params)block_16_expand_BN/beta (960, 960/960 params)block_16_expand_BN/gamma (960, 960/960 params)block_16_project (--/307.20k params)block_16_project/kernel (1x1x960x320, 307.20k/307.20k params)block_16_project_BN (--/640 params)block_16_project_BN/beta (320, 320/320 params)block_16_project_BN/gamma (320, 320/320 params)block_1_depthwise (--/864 params)block_1_depthwise/depthwise_kernel (3x3x96x1, 864/864 params)block_1_depthwise_BN (--/192 params)block_1_depthwise_BN/beta (96, 96/96 params)block_1_depthwise_BN/gamma (96, 96/96 params)block_1_expand (--/1.54k params)block_1_expand/kernel (1x1x16x96, 1.54k/1.54k params)block_1_expand_BN (--/192 params)block_1_expand_BN/beta (96, 96/96 params)block_1_expand_BN/gamma (96, 96/96 params)block_1_project (--/2.30k params)block_1_project/kernel (1x1x96x24, 2.30k/2.30k params)block_1_project_BN (--/48 params)block_1_project_BN/beta (24, 24/24 params)block_1_project_BN/gamma (24, 24/24 params)block_2_depthwise (--/1.30k params)block_2_depthwise/depthwise_kernel (3x3x144x1, 1.30k/1.30k params)block_2_depthwise_BN (--/288 params)block_2_depthwise_BN/beta (144, 144/144 params)block_2_depthwise_BN/gamma (144, 144/144 params)block_2_expand (--/3.46k params)block_2_expand/kernel (1x1x24x144, 3.46k/3.46k params)block_2_expand_BN (--/288 params)block_2_expand_BN/beta (144, 144/144 params)block_2_expand_BN/gamma (144, 144/144 params)block_2_project (--/3.46k params)block_2_project/kernel (1x1x144x24, 3.46k/3.46k params)block_2_project_BN (--/48 params)block_2_project_BN/beta (24, 24/24 params)block_2_project_BN/gamma (24, 24/24 params)block_3_depthwise (--/1.30k params)block_3_depthwise/depthwise_kernel (3x3x144x1, 1.30k/1.30k params)block_3_depthwise_BN (--/288 params)block_3_depthwise_BN/beta (144, 144/144 params)block_3_depthwise_BN/gamma (144, 144/144 params)block_3_expand (--/3.46k params)block_3_expand/kernel (1x1x24x144, 3.46k/3.46k params)block_3_expand_BN (--/288 params)block_3_expand_BN/beta (144, 144/144 params)block_3_expand_BN/gamma (144, 144/144 params)block_3_project (--/4.61k params)block_3_project/kernel (1x1x144x32, 4.61k/4.61k params)block_3_project_BN (--/64 params)block_3_project_BN/beta (32, 32/32 params)block_3_project_BN/gamma (32, 32/32 params)block_4_depthwise (--/1.73k params)block_4_depthwise/depthwise_kernel (3x3x192x1, 1.73k/1.73k params)block_4_depthwise_BN (--/384 params)block_4_depthwise_BN/beta (192, 192/192 params)block_4_depthwise_BN/gamma (192, 192/192 params)block_4_expand (--/6.14k params)block_4_expand/kernel (1x1x32x192, 6.14k/6.14k params)block_4_expand_BN (--/384 params)block_4_expand_BN/beta (192, 192/192 params)block_4_expand_BN/gamma (192, 192/192 params)block_4_project (--/6.14k params)block_4_project/kernel (1x1x192x32, 6.14k/6.14k params)block_4_project_BN (--/64 params)block_4_project_BN/beta (32, 32/32 params)block_4_project_BN/gamma (32, 32/32 params)block_5_depthwise (--/1.73k params)block_5_depthwise/depthwise_kernel (3x3x192x1, 1.73k/1.73k params)block_5_depthwise_BN (--/384 params)block_5_depthwise_BN/beta (192, 192/192 params)block_5_depthwise_BN/gamma (192, 192/192 params)block_5_expand (--/6.14k params)block_5_expand/kernel (1x1x32x192, 6.14k/6.14k params)block_5_expand_BN (--/384 params)block_5_expand_BN/beta (192, 192/192 params)block_5_expand_BN/gamma (192, 192/192 params)block_5_project (--/6.14k params)block_5_project/kernel (1x1x192x32, 6.14k/6.14k params)block_5_project_BN (--/64 params)block_5_project_BN/beta (32, 32/32 params)block_5_project_BN/gamma (32, 32/32 params)block_6_depthwise (--/1.73k params)block_6_depthwise/depthwise_kernel (3x3x192x1, 1.73k/1.73k params)block_6_depthwise_BN (--/384 params)block_6_depthwise_BN/beta (192, 192/192 params)block_6_depthwise_BN/gamma (192, 192/192 params)block_6_expand (--/6.14k params)block_6_expand/kernel (1x1x32x192, 6.14k/6.14k params)block_6_expand_BN (--/384 params)block_6_expand_BN/beta (192, 192/192 params)block_6_expand_BN/gamma (192, 192/192 params)block_6_project (--/12.29k params)block_6_project/kernel (1x1x192x64, 12.29k/12.29k params)block_6_project_BN (--/128 params)block_6_project_BN/beta (64, 64/64 params)block_6_project_BN/gamma (64, 64/64 params)block_7_depthwise (--/3.46k params)block_7_depthwise/depthwise_kernel (3x3x384x1, 3.46k/3.46k params)block_7_depthwise_BN (--/768 params)block_7_depthwise_BN/beta (384, 384/384 params)block_7_depthwise_BN/gamma (384, 384/384 params)block_7_expand (--/24.58k params)block_7_expand/kernel (1x1x64x384, 24.58k/24.58k params)block_7_expand_BN (--/768 params)block_7_expand_BN/beta (384, 384/384 params)block_7_expand_BN/gamma (384, 384/384 params)block_7_project (--/24.58k params)block_7_project/kernel (1x1x384x64, 24.58k/24.58k params)block_7_project_BN (--/128 params)block_7_project_BN/beta (64, 64/64 params)block_7_project_BN/gamma (64, 64/64 params)block_8_depthwise (--/3.46k params)block_8_depthwise/depthwise_kernel (3x3x384x1, 3.46k/3.46k params)block_8_depthwise_BN (--/768 params)block_8_depthwise_BN/beta (384, 384/384 params)block_8_depthwise_BN/gamma (384, 384/384 params)block_8_expand (--/24.58k params)block_8_expand/kernel (1x1x64x384, 24.58k/24.58k params)block_8_expand_BN (--/768 params)block_8_expand_BN/beta (384, 384/384 params)block_8_expand_BN/gamma (384, 384/384 params)block_8_project (--/24.58k params)block_8_project/kernel (1x1x384x64, 24.58k/24.58k params)block_8_project_BN (--/128 params)block_8_project_BN/beta (64, 64/64 params)block_8_project_BN/gamma (64, 64/64 params)block_9_depthwise (--/3.46k params)block_9_depthwise/depthwise_kernel (3x3x384x1, 3.46k/3.46k params)block_9_depthwise_BN (--/768 params)block_9_depthwise_BN/beta (384, 384/384 params)block_9_depthwise_BN/gamma (384, 384/384 params)block_9_expand (--/24.58k params)block_9_expand/kernel (1x1x64x384, 24.58k/24.58k params)block_9_expand_BN (--/768 params)block_9_expand_BN/beta (384, 384/384 params)block_9_expand_BN/gamma (384, 384/384 params)block_9_project (--/24.58k params)block_9_project/kernel (1x1x384x64, 24.58k/24.58k params)block_9_project_BN (--/128 params)block_9_project_BN/beta (64, 64/64 params)block_9_project_BN/gamma (64, 64/64 params)bn_Conv1 (--/64 params)bn_Conv1/beta (32, 32/32 params)bn_Conv1/gamma (32, 32/32 params)expanded_conv_depthwise (--/288 params)expanded_conv_depthwise/depthwise_kernel (3x3x32x1, 288/288 params)expanded_conv_depthwise_BN (--/64 params)expanded_conv_depthwise_BN/beta (32, 32/32 params)expanded_conv_depthwise_BN/gamma (32, 32/32 params)expanded_conv_project (--/512 params)expanded_conv_project/kernel (1x1x32x16, 512/512 params)expanded_conv_project_BN (--/32 params)expanded_conv_project_BN/beta (16, 16/16 params)expanded_conv_project_BN/gamma (16, 16/16 params)predictions (--/1.28m params)predictions/bias (1000, 1.00k/1.00k params)predictions/kernel (1280x1000, 1.28m/1.28m params)======================End of Report==========================
Incomplete shape.
Incomplete shape.
FLOPs: 7,007,905; Trainable params: 3,504,872
以上是keras的application中给出的代码实现,以下是自实现MobileNet的结果测试:
Use `tf.compat.v1.graph_util.tensor_shape_from_node_def_name`
[0418 21:45:18] From D:\Anaconda3\envs\wen\lib\site-packages\tensorflow\python\profiler\internal\flops_registry.py:142: tensor_shape_from_node_def_name (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.compat.v1.graph_util.tensor_shape_from_node_def_name`
62 ops no flops stats due to incomplete shapes.
Incomplete shape.
Incomplete shape.
Incomplete shape.
Incomplete shape.=========================Options=============================
-max_depth 10000
-min_bytes 0
-min_peak_bytes 0
-min_residual_bytes 0
-min_output_bytes 0
-min_micros 0
-min_accelerator_micros 0
-min_cpu_micros 0
-min_params 0
-min_float_ops 1
-min_occurrence 0
-step -1
-order_by float_ops
-account_type_regexes .*
-start_name_regexes .*
-trim_name_regexes
-show_name_regexes .*
-hide_name_regexes
-account_displayed_op_only true
-select float_ops
-output stdout:==================Model Analysis Report======================Doc:
scope: The nodes in the model graph are organized by their names, which is hierarchical like filesystem.
flops: Number of float operations. Note: Please read the implementation for the math behind it.Profile:
node name | # float_ops
_TFProfRoot (--/4.57m flops)Conv_1/kernel/Initializer/random_uniform (409.60k/819.20k flops)Conv_1/kernel/Initializer/random_uniform/mul (409.60k/409.60k flops)Conv_1/kernel/Initializer/random_uniform/sub (1/1 flops)block_16_project/kernel/Initializer/random_uniform (307.20k/614.40k flops)block_16_project/kernel/Initializer/random_uniform/mul (307.20k/307.20k flops)block_16_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_15_project/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_15_project/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_15_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_16_expand/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_16_expand/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_16_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_14_project/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_14_project/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_14_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_15_expand/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_15_expand/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_15_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_14_expand/kernel/Initializer/random_uniform (153.60k/307.20k flops)block_14_expand/kernel/Initializer/random_uniform/mul (153.60k/153.60k flops)block_14_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_13_project/kernel/Initializer/random_uniform (92.16k/184.32k flops)block_13_project/kernel/Initializer/random_uniform/mul (92.16k/92.16k flops)block_13_project/kernel/Initializer/random_uniform/sub (1/1 flops)Logits/kernel/Initializer/random_uniform (62.72k/125.44k flops)Logits/kernel/Initializer/random_uniform/mul (62.72k/62.72k flops)Logits/kernel/Initializer/random_uniform/sub (1/1 flops)block_12_project/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_12_project/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_12_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_11_expand/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_11_expand/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_11_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_12_expand/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_12_expand/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_12_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_11_project/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_11_project/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_11_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_13_expand/kernel/Initializer/random_uniform (55.30k/110.59k flops)block_13_expand/kernel/Initializer/random_uniform/mul (55.30k/55.30k flops)block_13_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_10_project/kernel/Initializer/random_uniform (36.86k/73.73k flops)block_10_project/kernel/Initializer/random_uniform/mul (36.86k/36.86k flops)block_10_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_9_expand/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_9_expand/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_9_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_8_expand/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_8_expand/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_8_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_10_expand/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_10_expand/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_10_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_7_project/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_7_project/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_7_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_7_expand/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_7_expand/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_7_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_8_project/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_8_project/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_8_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_9_project/kernel/Initializer/random_uniform (24.58k/49.15k flops)block_9_project/kernel/Initializer/random_uniform/mul (24.58k/24.58k flops)block_9_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_6_project/kernel/Initializer/random_uniform (12.29k/24.58k flops)block_6_project/kernel/Initializer/random_uniform/mul (12.29k/12.29k flops)block_6_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_16_depthwise/depthwise_kernel/Initializer/random_uniform (8.64k/17.28k flops)block_16_depthwise/depthwise_kernel/Initializer/random_uniform/mul (8.64k/8.64k flops)block_16_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_15_depthwise/depthwise_kernel/Initializer/random_uniform (8.64k/17.28k flops)block_15_depthwise/depthwise_kernel/Initializer/random_uniform/mul (8.64k/8.64k flops)block_15_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_14_depthwise/depthwise_kernel/Initializer/random_uniform (8.64k/17.28k flops)block_14_depthwise/depthwise_kernel/Initializer/random_uniform/mul (8.64k/8.64k flops)block_14_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_5_expand/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_5_expand/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_5_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_5_project/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_5_project/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_5_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_4_project/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_4_project/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_4_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_6_expand/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_6_expand/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_6_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_4_expand/kernel/Initializer/random_uniform (6.14k/12.29k flops)block_4_expand/kernel/Initializer/random_uniform/mul (6.14k/6.14k flops)block_4_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_11_depthwise/depthwise_kernel/Initializer/random_uniform (5.18k/10.37k flops)block_11_depthwise/depthwise_kernel/Initializer/random_uniform/mul (5.18k/5.18k flops)block_11_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_13_depthwise/depthwise_kernel/Initializer/random_uniform (5.18k/10.37k flops)block_13_depthwise/depthwise_kernel/Initializer/random_uniform/mul (5.18k/5.18k flops)block_13_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_12_depthwise/depthwise_kernel/Initializer/random_uniform (5.18k/10.37k flops)block_12_depthwise/depthwise_kernel/Initializer/random_uniform/mul (5.18k/5.18k flops)block_12_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_3_project/kernel/Initializer/random_uniform (4.61k/9.22k flops)block_3_project/kernel/Initializer/random_uniform/mul (4.61k/4.61k flops)block_3_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_3_expand/kernel/Initializer/random_uniform (3.46k/6.91k flops)block_3_expand/kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_3_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_2_project/kernel/Initializer/random_uniform (3.46k/6.91k flops)block_2_project/kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_2_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_2_expand/kernel/Initializer/random_uniform (3.46k/6.91k flops)block_2_expand/kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_2_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_10_depthwise/depthwise_kernel/Initializer/random_uniform (3.46k/6.91k flops)block_10_depthwise/depthwise_kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_10_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_7_depthwise/depthwise_kernel/Initializer/random_uniform (3.46k/6.91k flops)block_7_depthwise/depthwise_kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_7_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_8_depthwise/depthwise_kernel/Initializer/random_uniform (3.46k/6.91k flops)block_8_depthwise/depthwise_kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_8_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_9_depthwise/depthwise_kernel/Initializer/random_uniform (3.46k/6.91k flops)block_9_depthwise/depthwise_kernel/Initializer/random_uniform/mul (3.46k/3.46k flops)block_9_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_1_project/kernel/Initializer/random_uniform (2.30k/4.61k flops)block_1_project/kernel/Initializer/random_uniform/mul (2.30k/2.30k flops)block_1_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_4_depthwise/depthwise_kernel/Initializer/random_uniform (1.73k/3.46k flops)block_4_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.73k/1.73k flops)block_4_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_6_depthwise/depthwise_kernel/Initializer/random_uniform (1.73k/3.46k flops)block_6_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.73k/1.73k flops)block_6_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_5_depthwise/depthwise_kernel/Initializer/random_uniform (1.73k/3.46k flops)block_5_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.73k/1.73k flops)block_5_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_1_expand/kernel/Initializer/random_uniform (1.54k/3.07k flops)block_1_expand/kernel/Initializer/random_uniform/mul (1.54k/1.54k flops)block_1_expand/kernel/Initializer/random_uniform/sub (1/1 flops)block_2_depthwise/depthwise_kernel/Initializer/random_uniform (1.30k/2.59k flops)block_2_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.30k/1.30k flops)block_2_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_3_depthwise/depthwise_kernel/Initializer/random_uniform (1.30k/2.59k flops)block_3_depthwise/depthwise_kernel/Initializer/random_uniform/mul (1.30k/1.30k flops)block_3_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)block_1_depthwise/depthwise_kernel/Initializer/random_uniform (864/1.73k flops)block_1_depthwise/depthwise_kernel/Initializer/random_uniform/mul (864/864 flops)block_1_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)Conv_1_bn/AssignMovingAvg/mul (1.28k/1.28k flops)Conv_1_bn/AssignMovingAvg/sub_1 (1.28k/1.28k flops)Conv_1_bn/AssignMovingAvg_1/mul (1.28k/1.28k flops)Conv_1_bn/AssignMovingAvg_1/sub_1 (1.28k/1.28k flops)expanded_conv_project/kernel/Initializer/random_uniform (512/1.02k flops)expanded_conv_project/kernel/Initializer/random_uniform/mul (512/512 flops)expanded_conv_project/kernel/Initializer/random_uniform/sub (1/1 flops)block_14_depthwise_BN/AssignMovingAvg/sub_1 (960/960 flops)block_15_depthwise_BN/AssignMovingAvg/mul (960/960 flops)block_15_depthwise_BN/AssignMovingAvg/sub_1 (960/960 flops)block_15_depthwise_BN/AssignMovingAvg_1/mul (960/960 flops)block_15_depthwise_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_15_expand_BN/AssignMovingAvg/mul (960/960 flops)block_15_expand_BN/AssignMovingAvg/sub_1 (960/960 flops)block_14_depthwise_BN/AssignMovingAvg/mul (960/960 flops)block_15_expand_BN/AssignMovingAvg_1/mul (960/960 flops)block_16_depthwise_BN/AssignMovingAvg/mul (960/960 flops)block_14_depthwise_BN/AssignMovingAvg_1/mul (960/960 flops)block_16_depthwise_BN/AssignMovingAvg_1/mul (960/960 flops)block_16_depthwise_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_14_expand_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_16_expand_BN/AssignMovingAvg/mul (960/960 flops)block_16_expand_BN/AssignMovingAvg/sub_1 (960/960 flops)block_16_expand_BN/AssignMovingAvg_1/mul (960/960 flops)block_16_depthwise_BN/AssignMovingAvg/sub_1 (960/960 flops)block_16_expand_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_15_expand_BN/AssignMovingAvg_1/sub_1 (960/960 flops)block_14_expand_BN/AssignMovingAvg_1/mul (960/960 flops)block_14_expand_BN/AssignMovingAvg/sub_1 (960/960 flops)block_14_expand_BN/AssignMovingAvg/mul (960/960 flops)block_14_depthwise_BN/AssignMovingAvg_1/sub_1 (960/960 flops)expanded_conv_depthwise/depthwise_kernel/Initializer/random_uniform (288/577 flops)expanded_conv_depthwise/depthwise_kernel/Initializer/random_uniform/mul (288/288 flops)expanded_conv_depthwise/depthwise_kernel/Initializer/random_uniform/sub (1/1 flops)Conv1/kernel/Initializer/random_uniform (288/577 flops)Conv1/kernel/Initializer/random_uniform/mul (288/288 flops)Conv1/kernel/Initializer/random_uniform/sub (1/1 flops)block_13_expand_BN/AssignMovingAvg/mul (576/576 flops)block_13_expand_BN/AssignMovingAvg/sub_1 (576/576 flops)block_13_expand_BN/AssignMovingAvg_1/mul (576/576 flops)block_13_expand_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_11_expand_BN/AssignMovingAvg/sub_1 (576/576 flops)block_11_depthwise_BN/AssignMovingAvg/mul (576/576 flops)block_11_depthwise_BN/AssignMovingAvg/sub_1 (576/576 flops)block_11_depthwise_BN/AssignMovingAvg_1/mul (576/576 flops)block_11_depthwise_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_11_expand_BN/AssignMovingAvg/mul (576/576 flops)block_11_expand_BN/AssignMovingAvg_1/mul (576/576 flops)block_11_expand_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_12_depthwise_BN/AssignMovingAvg/mul (576/576 flops)block_12_depthwise_BN/AssignMovingAvg/sub_1 (576/576 flops)block_12_depthwise_BN/AssignMovingAvg_1/mul (576/576 flops)block_12_depthwise_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_12_expand_BN/AssignMovingAvg/mul (576/576 flops)block_12_expand_BN/AssignMovingAvg/sub_1 (576/576 flops)block_12_expand_BN/AssignMovingAvg_1/mul (576/576 flops)block_12_expand_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_13_depthwise_BN/AssignMovingAvg/mul (576/576 flops)block_13_depthwise_BN/AssignMovingAvg/sub_1 (576/576 flops)block_13_depthwise_BN/AssignMovingAvg_1/mul (576/576 flops)block_13_depthwise_BN/AssignMovingAvg_1/sub_1 (576/576 flops)block_7_depthwise_BN/AssignMovingAvg/mul (384/384 flops)block_9_depthwise_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_10_expand_BN/AssignMovingAvg_1/mul (384/384 flops)block_8_depthwise_BN/AssignMovingAvg/sub_1 (384/384 flops)block_9_expand_BN/AssignMovingAvg/mul (384/384 flops)block_9_expand_BN/AssignMovingAvg/sub_1 (384/384 flops)block_8_depthwise_BN/AssignMovingAvg_1/mul (384/384 flops)block_9_expand_BN/AssignMovingAvg_1/mul (384/384 flops)block_9_expand_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_7_depthwise_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_8_expand_BN/AssignMovingAvg/mul (384/384 flops)block_8_expand_BN/AssignMovingAvg/sub_1 (384/384 flops)block_10_expand_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_10_expand_BN/AssignMovingAvg/sub_1 (384/384 flops)block_7_depthwise_BN/AssignMovingAvg_1/mul (384/384 flops)block_8_expand_BN/AssignMovingAvg_1/mul (384/384 flops)block_10_expand_BN/AssignMovingAvg/mul (384/384 flops)block_10_depthwise_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_8_expand_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_9_depthwise_BN/AssignMovingAvg/mul (384/384 flops)block_10_depthwise_BN/AssignMovingAvg_1/mul (384/384 flops)block_7_depthwise_BN/AssignMovingAvg/sub_1 (384/384 flops)block_10_depthwise_BN/AssignMovingAvg/sub_1 (384/384 flops)block_10_depthwise_BN/AssignMovingAvg/mul (384/384 flops)block_9_depthwise_BN/AssignMovingAvg/sub_1 (384/384 flops)block_7_expand_BN/AssignMovingAvg_1/mul (384/384 flops)block_7_expand_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_8_depthwise_BN/AssignMovingAvg/mul (384/384 flops)block_9_depthwise_BN/AssignMovingAvg_1/mul (384/384 flops)block_7_expand_BN/AssignMovingAvg/sub_1 (384/384 flops)block_8_depthwise_BN/AssignMovingAvg_1/sub_1 (384/384 flops)block_7_expand_BN/AssignMovingAvg/mul (384/384 flops)block_16_project_BN/AssignMovingAvg/mul (320/320 flops)block_16_project_BN/AssignMovingAvg/sub_1 (320/320 flops)block_16_project_BN/AssignMovingAvg_1/mul (320/320 flops)block_16_project_BN/AssignMovingAvg_1/sub_1 (320/320 flops)block_4_depthwise_BN/AssignMovingAvg/sub_1 (192/192 flops)block_4_depthwise_BN/AssignMovingAvg/mul (192/192 flops)block_4_expand_BN/AssignMovingAvg/mul (192/192 flops)block_4_expand_BN/AssignMovingAvg/sub_1 (192/192 flops)block_6_expand_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_6_expand_BN/AssignMovingAvg_1/mul (192/192 flops)block_4_expand_BN/AssignMovingAvg_1/mul (192/192 flops)block_6_expand_BN/AssignMovingAvg/sub_1 (192/192 flops)block_4_expand_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_6_expand_BN/AssignMovingAvg/mul (192/192 flops)block_5_depthwise_BN/AssignMovingAvg/mul (192/192 flops)block_6_depthwise_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_6_depthwise_BN/AssignMovingAvg/mul (192/192 flops)block_6_depthwise_BN/AssignMovingAvg/sub_1 (192/192 flops)block_5_expand_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_4_depthwise_BN/AssignMovingAvg_1/mul (192/192 flops)block_5_expand_BN/AssignMovingAvg_1/mul (192/192 flops)block_5_expand_BN/AssignMovingAvg/sub_1 (192/192 flops)block_5_expand_BN/AssignMovingAvg/mul (192/192 flops)block_4_depthwise_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_5_depthwise_BN/AssignMovingAvg_1/sub_1 (192/192 flops)block_5_depthwise_BN/AssignMovingAvg_1/mul (192/192 flops)block_6_depthwise_BN/AssignMovingAvg_1/mul (192/192 flops)block_5_depthwise_BN/AssignMovingAvg/sub_1 (192/192 flops)block_14_project_BN/AssignMovingAvg/sub_1 (160/160 flops)block_14_project_BN/AssignMovingAvg_1/mul (160/160 flops)block_14_project_BN/AssignMovingAvg_1/sub_1 (160/160 flops)block_15_project_BN/AssignMovingAvg/mul (160/160 flops)block_15_project_BN/AssignMovingAvg/sub_1 (160/160 flops)block_15_project_BN/AssignMovingAvg_1/mul (160/160 flops)block_15_project_BN/AssignMovingAvg_1/sub_1 (160/160 flops)block_13_project_BN/AssignMovingAvg_1/sub_1 (160/160 flops)block_13_project_BN/AssignMovingAvg/mul (160/160 flops)block_13_project_BN/AssignMovingAvg/sub_1 (160/160 flops)block_13_project_BN/AssignMovingAvg_1/mul (160/160 flops)block_14_project_BN/AssignMovingAvg/mul (160/160 flops)block_3_depthwise_BN/AssignMovingAvg/sub_1 (144/144 flops)block_2_depthwise_BN/AssignMovingAvg_1/mul (144/144 flops)block_2_expand_BN/AssignMovingAvg_1/mul (144/144 flops)block_3_expand_BN/AssignMovingAvg_1/sub_1 (144/144 flops)block_2_expand_BN/AssignMovingAvg_1/sub_1 (144/144 flops)block_2_depthwise_BN/AssignMovingAvg_1/sub_1 (144/144 flops)block_3_expand_BN/AssignMovingAvg/sub_1 (144/144 flops)block_3_expand_BN/AssignMovingAvg/mul (144/144 flops)block_2_expand_BN/AssignMovingAvg/mul (144/144 flops)block_2_depthwise_BN/AssignMovingAvg/mul (144/144 flops)block_2_expand_BN/AssignMovingAvg/sub_1 (144/144 flops)block_3_expand_BN/AssignMovingAvg_1/mul (144/144 flops)block_3_depthwise_BN/AssignMovingAvg/mul (144/144 flops)block_2_depthwise_BN/AssignMovingAvg/sub_1 (144/144 flops)block_3_depthwise_BN/AssignMovingAvg_1/mul (144/144 flops)block_3_depthwise_BN/AssignMovingAvg_1/sub_1 (144/144 flops)block_1_depthwise_BN/AssignMovingAvg/sub_1 (96/96 flops)block_10_project_BN/AssignMovingAvg_1/mul (96/96 flops)block_10_project_BN/AssignMovingAvg/sub_1 (96/96 flops)block_11_project_BN/AssignMovingAvg/sub_1 (96/96 flops)block_12_project_BN/AssignMovingAvg/mul (96/96 flops)block_12_project_BN/AssignMovingAvg/sub_1 (96/96 flops)block_1_depthwise_BN/AssignMovingAvg/mul (96/96 flops)block_12_project_BN/AssignMovingAvg_1/mul (96/96 flops)block_11_project_BN/AssignMovingAvg_1/mul (96/96 flops)block_11_project_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_12_project_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_10_project_BN/AssignMovingAvg/mul (96/96 flops)block_1_expand_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_1_expand_BN/AssignMovingAvg_1/mul (96/96 flops)block_1_expand_BN/AssignMovingAvg/sub_1 (96/96 flops)block_1_expand_BN/AssignMovingAvg/mul (96/96 flops)block_1_depthwise_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_10_project_BN/AssignMovingAvg_1/sub_1 (96/96 flops)block_11_project_BN/AssignMovingAvg/mul (96/96 flops)block_1_depthwise_BN/AssignMovingAvg_1/mul (96/96 flops)block_6_project_BN/AssignMovingAvg_1/mul (64/64 flops)block_7_project_BN/AssignMovingAvg/sub_1 (64/64 flops)block_6_project_BN/AssignMovingAvg_1/sub_1 (64/64 flops)block_6_project_BN/AssignMovingAvg/sub_1 (64/64 flops)block_6_project_BN/AssignMovingAvg/mul (64/64 flops)block_7_project_BN/AssignMovingAvg/mul (64/64 flops)block_8_project_BN/AssignMovingAvg_1/sub_1 (64/64 flops)block_9_project_BN/AssignMovingAvg_1/mul (64/64 flops)block_8_project_BN/AssignMovingAvg_1/mul (64/64 flops)block_9_project_BN/AssignMovingAvg/sub_1 (64/64 flops)block_9_project_BN/AssignMovingAvg/mul (64/64 flops)block_8_project_BN/AssignMovingAvg/sub_1 (64/64 flops)block_8_project_BN/AssignMovingAvg/mul (64/64 flops)block_9_project_BN/AssignMovingAvg_1/sub_1 (64/64 flops)block_7_project_BN/AssignMovingAvg_1/sub_1 (64/64 flops)block_7_project_BN/AssignMovingAvg_1/mul (64/64 flops)block_3_project_BN/AssignMovingAvg/sub_1 (32/32 flops)block_3_project_BN/AssignMovingAvg_1/sub_1 (32/32 flops)bn_Conv1/AssignMovingAvg_1/mul (32/32 flops)bn_Conv1/AssignMovingAvg/sub_1 (32/32 flops)block_5_project_BN/AssignMovingAvg_1/sub_1 (32/32 flops)block_4_project_BN/AssignMovingAvg/mul (32/32 flops)bn_Conv1/AssignMovingAvg/mul (32/32 flops)block_4_project_BN/AssignMovingAvg/sub_1 (32/32 flops)block_4_project_BN/AssignMovingAvg_1/mul (32/32 flops)block_5_project_BN/AssignMovingAvg_1/mul (32/32 flops)block_5_project_BN/AssignMovingAvg/mul (32/32 flops)expanded_conv_depthwise_BN/AssignMovingAvg_1/sub_1 (32/32 flops)block_3_project_BN/AssignMovingAvg/mul (32/32 flops)expanded_conv_depthwise_BN/AssignMovingAvg_1/mul (32/32 flops)expanded_conv_depthwise_BN/AssignMovingAvg/sub_1 (32/32 flops)expanded_conv_depthwise_BN/AssignMovingAvg/mul (32/32 flops)block_3_project_BN/AssignMovingAvg_1/mul (32/32 flops)block_5_project_BN/AssignMovingAvg/sub_1 (32/32 flops)bn_Conv1/AssignMovingAvg_1/sub_1 (32/32 flops)block_4_project_BN/AssignMovingAvg_1/sub_1 (32/32 flops)block_2_project_BN/AssignMovingAvg/mul (24/24 flops)block_1_project_BN/AssignMovingAvg_1/mul (24/24 flops)block_2_project_BN/AssignMovingAvg/sub_1 (24/24 flops)block_2_project_BN/AssignMovingAvg_1/mul (24/24 flops)block_1_project_BN/AssignMovingAvg_1/sub_1 (24/24 flops)block_2_project_BN/AssignMovingAvg_1/sub_1 (24/24 flops)block_1_project_BN/AssignMovingAvg/sub_1 (24/24 flops)block_1_project_BN/AssignMovingAvg/mul (24/24 flops)expanded_conv_project_BN/AssignMovingAvg/mul (16/16 flops)expanded_conv_project_BN/AssignMovingAvg/sub_1 (16/16 flops)expanded_conv_project_BN/AssignMovingAvg_1/mul (16/16 flops)expanded_conv_project_BN/AssignMovingAvg_1/sub_1 (16/16 flops)block_10_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_10_project_BN/AssignMovingAvg/sub (1/1 flops)block_2_expand_BN/AssignMovingAvg/sub (1/1 flops)block_2_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_2_project_BN/AssignMovingAvg/sub (1/1 flops)block_2_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_2_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_3_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_3_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_3_expand_BN/AssignMovingAvg/sub (1/1 flops)block_3_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_3_project_BN/AssignMovingAvg/sub (1/1 flops)block_3_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_15_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_14_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_15_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_6_project_BN/AssignMovingAvg/sub (1/1 flops)block_15_expand_BN/AssignMovingAvg/sub (1/1 flops)block_6_expand_BN/AssignMovingAvg/sub (1/1 flops)block_6_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_15_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_14_project_BN/AssignMovingAvg/sub (1/1 flops)block_14_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_14_expand_BN/AssignMovingAvg/sub (1/1 flops)block_14_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_14_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_11_project_BN/AssignMovingAvg/sub (1/1 flops)block_13_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_expand_BN/AssignMovingAvg/sub (1/1 flops)block_13_project_BN/AssignMovingAvg/sub (1/1 flops)block_13_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_13_expand_BN/AssignMovingAvg/sub (1/1 flops)block_13_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_6_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_project_BN/AssignMovingAvg/sub (1/1 flops)block_15_project_BN/AssignMovingAvg/sub (1/1 flops)block_15_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_7_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_6_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_13_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_16_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_8_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_12_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_16_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_8_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_6_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_12_project_BN/AssignMovingAvg/sub (1/1 flops)block_16_expand_BN/AssignMovingAvg/sub (1/1 flops)block_8_expand_BN/AssignMovingAvg/sub (1/1 flops)block_12_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_12_expand_BN/AssignMovingAvg/sub (1/1 flops)block_8_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_12_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_12_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_16_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_8_project_BN/AssignMovingAvg/sub (1/1 flops)block_5_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_5_project_BN/AssignMovingAvg/sub (1/1 flops)block_8_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_16_project_BN/AssignMovingAvg/sub (1/1 flops)block_16_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_11_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_9_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_5_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_1_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_9_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_1_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_11_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_11_expand_BN/AssignMovingAvg/sub (1/1 flops)block_9_expand_BN/AssignMovingAvg/sub (1/1 flops)block_11_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_11_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_9_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_5_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_10_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_5_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_9_project_BN/AssignMovingAvg/sub (1/1 flops)block_1_expand_BN/AssignMovingAvg/sub (1/1 flops)block_4_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_9_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_5_expand_BN/AssignMovingAvg/sub (1/1 flops)block_4_project_BN/AssignMovingAvg/sub (1/1 flops)bn_Conv1/AssignMovingAvg/sub (1/1 flops)block_1_expand_BN/AssignMovingAvg_1/sub (1/1 flops)block_4_expand_BN/AssignMovingAvg_1/sub (1/1 flops)bn_Conv1/AssignMovingAvg_1/sub (1/1 flops)block_4_expand_BN/AssignMovingAvg/sub (1/1 flops)block_1_project_BN/AssignMovingAvg/sub (1/1 flops)Conv_1_bn/AssignMovingAvg/sub (1/1 flops)expanded_conv_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_4_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_1_project_BN/AssignMovingAvg_1/sub (1/1 flops)expanded_conv_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)block_4_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_2_depthwise_BN/AssignMovingAvg/sub (1/1 flops)Conv_1_bn/AssignMovingAvg_1/sub (1/1 flops)expanded_conv_project_BN/AssignMovingAvg/sub (1/1 flops)block_10_depthwise_BN/AssignMovingAvg/sub (1/1 flops)block_10_depthwise_BN/AssignMovingAvg_1/sub (1/1 flops)expanded_conv_project_BN/AssignMovingAvg_1/sub (1/1 flops)block_10_expand_BN/AssignMovingAvg/sub (1/1 flops)loss/Logits_loss/softmax_cross_entropy_with_logits/Sub (1/1 flops)loss/Logits_loss/softmax_cross_entropy_with_logits/Sub_1 (1/1 flops)loss/Logits_loss/softmax_cross_entropy_with_logits/Sub_2 (1/1 flops)loss/mul (1/1 flops)======================End of Report==========================
62 ops no flops stats due to incomplete shapes.
Incomplete shape.
Incomplete shape.
Incomplete shape.=========================Options=============================
-max_depth 10000
-min_bytes 0
-min_peak_bytes 0
-min_residual_bytes 0
-min_output_bytes 0
-min_micros 0
-min_accelerator_micros 0
-min_cpu_micros 0
-min_params 0
-min_float_ops 0
-min_occurrence 0
-step -1
-order_by name
-account_type_regexes _trainable_variables
-start_name_regexes .*
-trim_name_regexes
-show_name_regexes .*
-hide_name_regexes
-account_displayed_op_only true
-select params
-output stdout:==================Model Analysis Report======================
Incomplete shape.Doc:
scope: The nodes in the model graph are organized by their names, which is hierarchical like filesystem.
param: Number of parameters (in the Variable).Profile:
node name | # parameters
_TFProfRoot (--/2.29m params)Conv1 (--/288 params)Conv1/kernel (3x3x1x32, 288/288 params)Conv_1 (--/409.60k params)Conv_1/kernel (1x1x320x1280, 409.60k/409.60k params)Conv_1_bn (--/2.56k params)Conv_1_bn/beta (1280, 1.28k/1.28k params)Conv_1_bn/gamma (1280, 1.28k/1.28k params)Logits (--/62.77k params)Logits/bias (49, 49/49 params)Logits/kernel (1280x49, 62.72k/62.72k params)block_10_depthwise (--/3.46k params)block_10_depthwise/depthwise_kernel (3x3x384x1, 3.46k/3.46k params)block_10_depthwise_BN (--/768 params)block_10_depthwise_BN/beta (384, 384/384 params)block_10_depthwise_BN/gamma (384, 384/384 params)block_10_expand (--/24.58k params)block_10_expand/kernel (1x1x64x384, 24.58k/24.58k params)block_10_expand_BN (--/768 params)block_10_expand_BN/beta (384, 384/384 params)block_10_expand_BN/gamma (384, 384/384 params)block_10_project (--/36.86k params)block_10_project/kernel (1x1x384x96, 36.86k/36.86k params)block_10_project_BN (--/192 params)block_10_project_BN/beta (96, 96/96 params)block_10_project_BN/gamma (96, 96/96 params)block_11_depthwise (--/5.18k params)block_11_depthwise/depthwise_kernel (3x3x576x1, 5.18k/5.18k params)block_11_depthwise_BN (--/1.15k params)block_11_depthwise_BN/beta (576, 576/576 params)block_11_depthwise_BN/gamma (576, 576/576 params)block_11_expand (--/55.30k params)block_11_expand/kernel (1x1x96x576, 55.30k/55.30k params)block_11_expand_BN (--/1.15k params)block_11_expand_BN/beta (576, 576/576 params)block_11_expand_BN/gamma (576, 576/576 params)block_11_project (--/55.30k params)block_11_project/kernel (1x1x576x96, 55.30k/55.30k params)block_11_project_BN (--/192 params)block_11_project_BN/beta (96, 96/96 params)block_11_project_BN/gamma (96, 96/96 params)block_12_depthwise (--/5.18k params)block_12_depthwise/depthwise_kernel (3x3x576x1, 5.18k/5.18k params)block_12_depthwise_BN (--/1.15k params)block_12_depthwise_BN/beta (576, 576/576 params)block_12_depthwise_BN/gamma (576, 576/576 params)block_12_expand (--/55.30k params)block_12_expand/kernel (1x1x96x576, 55.30k/55.30k params)block_12_expand_BN (--/1.15k params)block_12_expand_BN/beta (576, 576/576 params)block_12_expand_BN/gamma (576, 576/576 params)block_12_project (--/55.30k params)block_12_project/kernel (1x1x576x96, 55.30k/55.30k params)block_12_project_BN (--/192 params)block_12_project_BN/beta (96, 96/96 params)block_12_project_BN/gamma (96, 96/96 params)block_13_depthwise (--/5.18k params)block_13_depthwise/depthwise_kernel (3x3x576x1, 5.18k/5.18k params)block_13_depthwise_BN (--/1.15k params)block_13_depthwise_BN/beta (576, 576/576 params)block_13_depthwise_BN/gamma (576, 576/576 params)block_13_expand (--/55.30k params)block_13_expand/kernel (1x1x96x576, 55.30k/55.30k params)block_13_expand_BN (--/1.15k params)block_13_expand_BN/beta (576, 576/576 params)block_13_expand_BN/gamma (576, 576/576 params)block_13_project (--/92.16k params)block_13_project/kernel (1x1x576x160, 92.16k/92.16k params)block_13_project_BN (--/320 params)block_13_project_BN/beta (160, 160/160 params)block_13_project_BN/gamma (160, 160/160 params)block_14_depthwise (--/8.64k params)block_14_depthwise/depthwise_kernel (3x3x960x1, 8.64k/8.64k params)block_14_depthwise_BN (--/1.92k params)block_14_depthwise_BN/beta (960, 960/960 params)block_14_depthwise_BN/gamma (960, 960/960 params)block_14_expand (--/153.60k params)block_14_expand/kernel (1x1x160x960, 153.60k/153.60k params)block_14_expand_BN (--/1.92k params)block_14_expand_BN/beta (960, 960/960 params)block_14_expand_BN/gamma (960, 960/960 params)block_14_project (--/153.60k params)block_14_project/kernel (1x1x960x160, 153.60k/153.60k params)block_14_project_BN (--/320 params)block_14_project_BN/beta (160, 160/160 params)block_14_project_BN/gamma (160, 160/160 params)block_15_depthwise (--/8.64k params)block_15_depthwise/depthwise_kernel (3x3x960x1, 8.64k/8.64k params)block_15_depthwise_BN (--/1.92k params)block_15_depthwise_BN/beta (960, 960/960 params)block_15_depthwise_BN/gamma (960, 960/960 params)block_15_expand (--/153.60k params)block_15_expand/kernel (1x1x160x960, 153.60k/153.60k params)block_15_expand_BN (--/1.92k params)block_15_expand_BN/beta (960, 960/960 params)block_15_expand_BN/gamma (960, 960/960 params)block_15_project (--/153.60k params)block_15_project/kernel (1x1x960x160, 153.60k/153.60k params)block_15_project_BN (--/320 params)block_15_project_BN/beta (160, 160/160 params)block_15_project_BN/gamma (160, 160/160 params)block_16_depthwise (--/8.64k params)block_16_depthwise/depthwise_kernel (3x3x960x1, 8.64k/8.64k params)block_16_depthwise_BN (--/1.92k params)block_16_depthwise_BN/beta (960, 960/960 params)block_16_depthwise_BN/gamma (960, 960/960 params)block_16_expand (--/153.60k params)block_16_expand/kernel (1x1x160x960, 153.60k/153.60k params)block_16_expand_BN (--/1.92k params)block_16_expand_BN/beta (960, 960/960 params)block_16_expand_BN/gamma (960, 960/960 params)block_16_project (--/307.20k params)block_16_project/kernel (1x1x960x320, 307.20k/307.20k params)block_16_project_BN (--/640 params)block_16_project_BN/beta (320, 320/320 params)block_16_project_BN/gamma (320, 320/320 params)block_1_depthwise (--/864 params)block_1_depthwise/depthwise_kernel (3x3x96x1, 864/864 params)block_1_depthwise_BN (--/192 params)block_1_depthwise_BN/beta (96, 96/96 params)block_1_depthwise_BN/gamma (96, 96/96 params)block_1_expand (--/1.54k params)block_1_expand/kernel (1x1x16x96, 1.54k/1.54k params)block_1_expand_BN (--/192 params)block_1_expand_BN/beta (96, 96/96 params)block_1_expand_BN/gamma (96, 96/96 params)block_1_project (--/2.30k params)block_1_project/kernel (1x1x96x24, 2.30k/2.30k params)block_1_project_BN (--/48 params)block_1_project_BN/beta (24, 24/24 params)block_1_project_BN/gamma (24, 24/24 params)block_2_depthwise (--/1.30k params)block_2_depthwise/depthwise_kernel (3x3x144x1, 1.30k/1.30k params)block_2_depthwise_BN (--/288 params)block_2_depthwise_BN/beta (144, 144/144 params)block_2_depthwise_BN/gamma (144, 144/144 params)block_2_expand (--/3.46k params)block_2_expand/kernel (1x1x24x144, 3.46k/3.46k params)block_2_expand_BN (--/288 params)block_2_expand_BN/beta (144, 144/144 params)block_2_expand_BN/gamma (144, 144/144 params)block_2_project (--/3.46k params)block_2_project/kernel (1x1x144x24, 3.46k/3.46k params)block_2_project_BN (--/48 params)block_2_project_BN/beta (24, 24/24 params)block_2_project_BN/gamma (24, 24/24 params)block_3_depthwise (--/1.30k params)block_3_depthwise/depthwise_kernel (3x3x144x1, 1.30k/1.30k params)block_3_depthwise_BN (--/288 params)block_3_depthwise_BN/beta (144, 144/144 params)block_3_depthwise_BN/gamma (144, 144/144 params)block_3_expand (--/3.46k params)block_3_expand/kernel (1x1x24x144, 3.46k/3.46k params)block_3_expand_BN (--/288 params)block_3_expand_BN/beta (144, 144/144 params)block_3_expand_BN/gamma (144, 144/144 params)block_3_project (--/4.61k params)block_3_project/kernel (1x1x144x32, 4.61k/4.61k params)block_3_project_BN (--/64 params)block_3_project_BN/beta (32, 32/32 params)block_3_project_BN/gamma (32, 32/32 params)block_4_depthwise (--/1.73k params)block_4_depthwise/depthwise_kernel (3x3x192x1, 1.73k/1.73k params)block_4_depthwise_BN (--/384 params)block_4_depthwise_BN/beta (192, 192/192 params)block_4_depthwise_BN/gamma (192, 192/192 params)block_4_expand (--/6.14k params)block_4_expand/kernel (1x1x32x192, 6.14k/6.14k params)block_4_expand_BN (--/384 params)block_4_expand_BN/beta (192, 192/192 params)block_4_expand_BN/gamma (192, 192/192 params)block_4_project (--/6.14k params)block_4_project/kernel (1x1x192x32, 6.14k/6.14k params)block_4_project_BN (--/64 params)block_4_project_BN/beta (32, 32/32 params)block_4_project_BN/gamma (32, 32/32 params)block_5_depthwise (--/1.73k params)block_5_depthwise/depthwise_kernel (3x3x192x1, 1.73k/1.73k params)block_5_depthwise_BN (--/384 params)block_5_depthwise_BN/beta (192, 192/192 params)block_5_depthwise_BN/gamma (192, 192/192 params)block_5_expand (--/6.14k params)block_5_expand/kernel (1x1x32x192, 6.14k/6.14k params)block_5_expand_BN (--/384 params)block_5_expand_BN/beta (192, 192/192 params)block_5_expand_BN/gamma (192, 192/192 params)block_5_project (--/6.14k params)block_5_project/kernel (1x1x192x32, 6.14k/6.14k params)block_5_project_BN (--/64 params)block_5_project_BN/beta (32, 32/32 params)block_5_project_BN/gamma (32, 32/32 params)block_6_depthwise (--/1.73k params)block_6_depthwise/depthwise_kernel (3x3x192x1, 1.73k/1.73k params)block_6_depthwise_BN (--/384 params)block_6_depthwise_BN/beta (192, 192/192 params)block_6_depthwise_BN/gamma (192, 192/192 params)block_6_expand (--/6.14k params)block_6_expand/kernel (1x1x32x192, 6.14k/6.14k params)block_6_expand_BN (--/384 params)block_6_expand_BN/beta (192, 192/192 params)block_6_expand_BN/gamma (192, 192/192 params)block_6_project (--/12.29k params)block_6_project/kernel (1x1x192x64, 12.29k/12.29k params)block_6_project_BN (--/128 params)block_6_project_BN/beta (64, 64/64 params)block_6_project_BN/gamma (64, 64/64 params)block_7_depthwise (--/3.46k params)block_7_depthwise/depthwise_kernel (3x3x384x1, 3.46k/3.46k params)block_7_depthwise_BN (--/768 params)block_7_depthwise_BN/beta (384, 384/384 params)block_7_depthwise_BN/gamma (384, 384/384 params)block_7_expand (--/24.58k params)block_7_expand/kernel (1x1x64x384, 24.58k/24.58k params)block_7_expand_BN (--/768 params)block_7_expand_BN/beta (384, 384/384 params)block_7_expand_BN/gamma (384, 384/384 params)block_7_project (--/24.58k params)block_7_project/kernel (1x1x384x64, 24.58k/24.58k params)block_7_project_BN (--/128 params)block_7_project_BN/beta (64, 64/64 params)block_7_project_BN/gamma (64, 64/64 params)block_8_depthwise (--/3.46k params)block_8_depthwise/depthwise_kernel (3x3x384x1, 3.46k/3.46k params)block_8_depthwise_BN (--/768 params)block_8_depthwise_BN/beta (384, 384/384 params)block_8_depthwise_BN/gamma (384, 384/384 params)block_8_expand (--/24.58k params)block_8_expand/kernel (1x1x64x384, 24.58k/24.58k params)block_8_expand_BN (--/768 params)block_8_expand_BN/beta (384, 384/384 params)block_8_expand_BN/gamma (384, 384/384 params)block_8_project (--/24.58k params)block_8_project/kernel (1x1x384x64, 24.58k/24.58k params)block_8_project_BN (--/128 params)block_8_project_BN/beta (64, 64/64 params)block_8_project_BN/gamma (64, 64/64 params)block_9_depthwise (--/3.46k params)block_9_depthwise/depthwise_kernel (3x3x384x1, 3.46k/3.46k params)block_9_depthwise_BN (--/768 params)block_9_depthwise_BN/beta (384, 384/384 params)block_9_depthwise_BN/gamma (384, 384/384 params)block_9_expand (--/24.58k params)block_9_expand/kernel (1x1x64x384, 24.58k/24.58k params)block_9_expand_BN (--/768 params)block_9_expand_BN/beta (384, 384/384 params)block_9_expand_BN/gamma (384, 384/384 params)block_9_project (--/24.58k params)block_9_project/kernel (1x1x384x64, 24.58k/24.58k params)block_9_project_BN (--/128 params)block_9_project_BN/beta (64, 64/64 params)block_9_project_BN/gamma (64, 64/64 params)bn_Conv1 (--/64 params)bn_Conv1/beta (32, 32/32 params)bn_Conv1/gamma (32, 32/32 params)expanded_conv_depthwise (--/288 params)expanded_conv_depthwise/depthwise_kernel (3x3x32x1, 288/288 params)expanded_conv_depthwise_BN (--/64 params)expanded_conv_depthwise_BN/beta (32, 32/32 params)expanded_conv_depthwise_BN/gamma (32, 32/32 params)expanded_conv_project (--/512 params)expanded_conv_project/kernel (1x1x32x16, 512/512 params)expanded_conv_project_BN (--/32 params)expanded_conv_project_BN/beta (16, 16/16 params)expanded_conv_project_BN/gamma (16, 16/16 params)======================End of Report==========================
FLOPs: 4,572,193; Trainable params: 2,286,065
WARNING:tensorflow:From E:/master_ImRecognition/main.py:99: The name tf.keras.backend.get_session is deprecated. Please use tf.compat.v1.keras.backend.get_session instead.[0418 21:45:19] From E:/master_ImRecognition/main.py:99: The name tf.keras.backend.get_session is deprecated. Please use tf.compat.v1.keras.backend.get_session instead.2021-04-18 21:45:19.082183: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:
2021-04-18 21:45:19.082353: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267]
2021-04-18 21:45:19.082452: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2021-04-18 21:45:19.257091: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:196] None of the MLIR optimization passes are enabled (registered 0 passes)
Incomplete shape.
Incomplete shape.
Incomplete shape.
Incomplete shape.
Incomplete shape.
Incomplete shape.=========================Options=============================
-max_depth 10000
-min_bytes 0
-min_peak_bytes 0
-min_residual_bytes 0
-min_output_bytes 0
-min_micros 0
-min_accelerator_micros 0
-min_cpu_micros 0
-min_params 0
-min_float_ops 1
-min_occurrence 0
-step -1
-order_by float_ops
-account_type_regexes .*
-start_name_regexes .*
-trim_name_regexes
-show_name_regexes .*
-hide_name_regexes
-account_displayed_op_only true
-select float_ops
-output stdout:==================Model Analysis Report======================
Incomplete shape.
Incomplete shape.
Incomplete shape.
Incomplete shape.
Incomplete shape.
Incomplete shape.Doc:
op: The nodes are operation kernel type, such as MatMul, Conv2D. Graph nodes belonging to the same type are aggregated together.
flops: Number of float operations. Note: Please read the implementation for the math behind it.Profile:
node name | # float_ops
Mul 2.29m float_ops (100.00%, 50.00%)
Add 2.25m float_ops (50.00%, 49.25%)
Sub 34.27k float_ops (0.75%, 0.75%)======================End of Report==========================
Model: "mobilenetv2_1.00_200"
方法二:
def get_flops(model):run_meta = tf.RunMetadata()opts = tf.profiler.ProfileOptionBuilder.float_operation()flops = tf.profiler.profile(graph=K.get_session().graph,run_meta=run_meta,cmd='op',options=opts)return flops.total_float_ops
结果与上述方法一基本相同,不同TensorFlow版本的代码差异。
方法三:
使用net_flops()函数的结果,与MobieNetV2论文结果较接近,但仍存在一定的误差:
Layer Name | Input Shape | Output Shape | Kernel Size | Filters | Strides | FLOPS
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------input_1 | [224, 224, 3] | [224, 224, 3] | [0, 0] | [0, 0] | [1, 1] | 0.0000Conv1 | [224, 224, 3] | [112, 112, 32] | (3, 3) | 32 | (2, 2) | 21676032.0000bn_Conv1 | [112, 112, 32] | [112, 112, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000Conv1_relu | [112, 112, 32] | [112, 112, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000expanded_conv_depthwise | [112, 112, 32] | [112, 112, 32] | (3, 3) | 32 | (1, 1) | 7225344.0000
expanded_conv_depthwise_BN | [112, 112, 32] | [112, 112, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000
expanded_conv_depthwise_relu | [112, 112, 32] | [112, 112, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000expanded_conv_project | [112, 112, 32] | [112, 112, 16] | (1, 1) | 16 | (1, 1) | 12845056.0000expanded_conv_project_BN | [112, 112, 16] | [112, 112, 16] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_expand | [112, 112, 16] | [112, 112, 96] | (1, 1) | 96 | (1, 1) | 38535168.0000block_1_expand_BN | [112, 112, 96] | [112, 112, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_expand_relu | [112, 112, 96] | [112, 112, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_pad | ['', '', ''] | ['', '', ''] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_depthwise | [113, 113, 96] | [56, 56, 96] | (3, 3) | 96 | (2, 2) | 5516208.0000block_1_depthwise_BN | [56, 56, 96] | [56, 56, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_depthwise_relu | [56, 56, 96] | [56, 56, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_project | [56, 56, 96] | [56, 56, 24] | (1, 1) | 24 | (1, 1) | 14450688.0000block_1_project_BN | [56, 56, 24] | [56, 56, 24] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_expand | [56, 56, 24] | [56, 56, 144] | (1, 1) | 144 | (1, 1) | 21676032.0000block_2_expand_BN | [56, 56, 144] | [56, 56, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_expand_relu | [56, 56, 144] | [56, 56, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_depthwise | [56, 56, 144] | [56, 56, 144] | (3, 3) | 144 | (1, 1) | 8128512.0000block_2_depthwise_BN | [56, 56, 144] | [56, 56, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_depthwise_relu | [56, 56, 144] | [56, 56, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_project | [56, 56, 144] | [56, 56, 24] | (1, 1) | 24 | (1, 1) | 21676032.0000block_2_project_BN | [56, 56, 24] | [56, 56, 24] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_add | [56, 56, 24, 2] | [56, 56, 24] | [0, 0] | [0, 0] | [1, 1] | 75264.0000block_3_expand | [56, 56, 24] | [56, 56, 144] | (1, 1) | 144 | (1, 1) | 21676032.0000block_3_expand_BN | [56, 56, 144] | [56, 56, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_expand_relu | [56, 56, 144] | [56, 56, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_pad | ['', '', ''] | ['', '', ''] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_depthwise | [57, 57, 144] | [28, 28, 144] | (3, 3) | 144 | (2, 2) | 2105352.0000block_3_depthwise_BN | [28, 28, 144] | [28, 28, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_depthwise_relu | [28, 28, 144] | [28, 28, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_project | [28, 28, 144] | [28, 28, 32] | (1, 1) | 32 | (1, 1) | 7225344.0000block_3_project_BN | [28, 28, 32] | [28, 28, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_expand | [28, 28, 32] | [28, 28, 192] | (1, 1) | 192 | (1, 1) | 9633792.0000block_4_expand_BN | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_expand_relu | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_depthwise | [28, 28, 192] | [28, 28, 192] | (3, 3) | 192 | (1, 1) | 2709504.0000block_4_depthwise_BN | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_depthwise_relu | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_project | [28, 28, 192] | [28, 28, 32] | (1, 1) | 32 | (1, 1) | 9633792.0000block_4_project_BN | [28, 28, 32] | [28, 28, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_add | [28, 28, 32, 2] | [28, 28, 32] | [0, 0] | [0, 0] | [1, 1] | 25088.0000block_5_expand | [28, 28, 32] | [28, 28, 192] | (1, 1) | 192 | (1, 1) | 9633792.0000block_5_expand_BN | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_expand_relu | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_depthwise | [28, 28, 192] | [28, 28, 192] | (3, 3) | 192 | (1, 1) | 2709504.0000block_5_depthwise_BN | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_depthwise_relu | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_project | [28, 28, 192] | [28, 28, 32] | (1, 1) | 32 | (1, 1) | 9633792.0000block_5_project_BN | [28, 28, 32] | [28, 28, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_add | [28, 28, 32, 2] | [28, 28, 32] | [0, 0] | [0, 0] | [1, 1] | 25088.0000block_6_expand | [28, 28, 32] | [28, 28, 192] | (1, 1) | 192 | (1, 1) | 9633792.0000block_6_expand_BN | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_expand_relu | [28, 28, 192] | [28, 28, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_pad | ['', '', ''] | ['', '', ''] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_depthwise | [29, 29, 192] | [14, 14, 192] | (3, 3) | 192 | (2, 2) | 726624.0000block_6_depthwise_BN | [14, 14, 192] | [14, 14, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_depthwise_relu | [14, 14, 192] | [14, 14, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_project | [14, 14, 192] | [14, 14, 64] | (1, 1) | 64 | (1, 1) | 4816896.0000block_6_project_BN | [14, 14, 64] | [14, 14, 64] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_expand | [14, 14, 64] | [14, 14, 384] | (1, 1) | 384 | (1, 1) | 9633792.0000block_7_expand_BN | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_expand_relu | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_depthwise | [14, 14, 384] | [14, 14, 384] | (3, 3) | 384 | (1, 1) | 1354752.0000block_7_depthwise_BN | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_depthwise_relu | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_project | [14, 14, 384] | [14, 14, 64] | (1, 1) | 64 | (1, 1) | 9633792.0000block_7_project_BN | [14, 14, 64] | [14, 14, 64] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_add | [14, 14, 64, 2] | [14, 14, 64] | [0, 0] | [0, 0] | [1, 1] | 12544.0000block_8_expand | [14, 14, 64] | [14, 14, 384] | (1, 1) | 384 | (1, 1) | 9633792.0000block_8_expand_BN | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_expand_relu | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_depthwise | [14, 14, 384] | [14, 14, 384] | (3, 3) | 384 | (1, 1) | 1354752.0000block_8_depthwise_BN | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_depthwise_relu | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_project | [14, 14, 384] | [14, 14, 64] | (1, 1) | 64 | (1, 1) | 9633792.0000block_8_project_BN | [14, 14, 64] | [14, 14, 64] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_add | [14, 14, 64, 2] | [14, 14, 64] | [0, 0] | [0, 0] | [1, 1] | 12544.0000block_9_expand | [14, 14, 64] | [14, 14, 384] | (1, 1) | 384 | (1, 1) | 9633792.0000block_9_expand_BN | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_expand_relu | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_depthwise | [14, 14, 384] | [14, 14, 384] | (3, 3) | 384 | (1, 1) | 1354752.0000block_9_depthwise_BN | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_depthwise_relu | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_project | [14, 14, 384] | [14, 14, 64] | (1, 1) | 64 | (1, 1) | 9633792.0000block_9_project_BN | [14, 14, 64] | [14, 14, 64] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_add | [14, 14, 64, 2] | [14, 14, 64] | [0, 0] | [0, 0] | [1, 1] | 12544.0000block_10_expand | [14, 14, 64] | [14, 14, 384] | (1, 1) | 384 | (1, 1) | 9633792.0000block_10_expand_BN | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_10_expand_relu | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_10_depthwise | [14, 14, 384] | [14, 14, 384] | (3, 3) | 384 | (1, 1) | 1354752.0000block_10_depthwise_BN | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_10_depthwise_relu | [14, 14, 384] | [14, 14, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_10_project | [14, 14, 384] | [14, 14, 96] | (1, 1) | 96 | (1, 1) | 14450688.0000block_10_project_BN | [14, 14, 96] | [14, 14, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_expand | [14, 14, 96] | [14, 14, 576] | (1, 1) | 576 | (1, 1) | 21676032.0000block_11_expand_BN | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_expand_relu | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_depthwise | [14, 14, 576] | [14, 14, 576] | (3, 3) | 576 | (1, 1) | 2032128.0000block_11_depthwise_BN | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_depthwise_relu | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_project | [14, 14, 576] | [14, 14, 96] | (1, 1) | 96 | (1, 1) | 21676032.0000block_11_project_BN | [14, 14, 96] | [14, 14, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_add | [14, 14, 96, 2] | [14, 14, 96] | [0, 0] | [0, 0] | [1, 1] | 18816.0000block_12_expand | [14, 14, 96] | [14, 14, 576] | (1, 1) | 576 | (1, 1) | 21676032.0000block_12_expand_BN | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_expand_relu | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_depthwise | [14, 14, 576] | [14, 14, 576] | (3, 3) | 576 | (1, 1) | 2032128.0000block_12_depthwise_BN | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_depthwise_relu | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_project | [14, 14, 576] | [14, 14, 96] | (1, 1) | 96 | (1, 1) | 21676032.0000block_12_project_BN | [14, 14, 96] | [14, 14, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_add | [14, 14, 96, 2] | [14, 14, 96] | [0, 0] | [0, 0] | [1, 1] | 18816.0000block_13_expand | [14, 14, 96] | [14, 14, 576] | (1, 1) | 576 | (1, 1) | 21676032.0000block_13_expand_BN | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_expand_relu | [14, 14, 576] | [14, 14, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_pad | ['', '', ''] | ['', '', ''] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_depthwise | [15, 15, 576] | [7, 7, 576] | (3, 3) | 576 | (2, 2) | 583200.0000block_13_depthwise_BN | [7, 7, 576] | [7, 7, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_depthwise_relu | [7, 7, 576] | [7, 7, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_project | [7, 7, 576] | [7, 7, 160] | (1, 1) | 160 | (1, 1) | 9031680.0000block_13_project_BN | [7, 7, 160] | [7, 7, 160] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_expand | [7, 7, 160] | [7, 7, 960] | (1, 1) | 960 | (1, 1) | 15052800.0000block_14_expand_BN | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_expand_relu | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_depthwise | [7, 7, 960] | [7, 7, 960] | (3, 3) | 960 | (1, 1) | 846720.0000block_14_depthwise_BN | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_depthwise_relu | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_project | [7, 7, 960] | [7, 7, 160] | (1, 1) | 160 | (1, 1) | 15052800.0000block_14_project_BN | [7, 7, 160] | [7, 7, 160] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_add | [7, 7, 160, 2] | [7, 7, 160] | [0, 0] | [0, 0] | [1, 1] | 7840.0000block_15_expand | [7, 7, 160] | [7, 7, 960] | (1, 1) | 960 | (1, 1) | 15052800.0000block_15_expand_BN | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_expand_relu | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_depthwise | [7, 7, 960] | [7, 7, 960] | (3, 3) | 960 | (1, 1) | 846720.0000block_15_depthwise_BN | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_depthwise_relu | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_project | [7, 7, 960] | [7, 7, 160] | (1, 1) | 160 | (1, 1) | 15052800.0000block_15_project_BN | [7, 7, 160] | [7, 7, 160] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_add | [7, 7, 160, 2] | [7, 7, 160] | [0, 0] | [0, 0] | [1, 1] | 7840.0000block_16_expand | [7, 7, 160] | [7, 7, 960] | (1, 1) | 960 | (1, 1) | 15052800.0000block_16_expand_BN | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_16_expand_relu | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_16_depthwise | [7, 7, 960] | [7, 7, 960] | (3, 3) | 960 | (1, 1) | 846720.0000block_16_depthwise_BN | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_16_depthwise_relu | [7, 7, 960] | [7, 7, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_16_project | [7, 7, 960] | [7, 7, 320] | (1, 1) | 320 | (1, 1) | 30105600.0000block_16_project_BN | [7, 7, 320] | [7, 7, 320] | [0, 0] | [0, 0] | [1, 1] | 0.0000Conv_1 | [7, 7, 320] | [7, 7, 1280] | (1, 1) | 1280 | (1, 1) | 40140800.0000Conv_1_bn | [7, 7, 1280] | [7, 7, 1280] | [0, 0] | [0, 0] | [1, 1] | 0.0000out_relu | [7, 7, 1280] | [7, 7, 1280] | [0, 0] | [0, 0] | [1, 1] | 0.0000global_average_pooling2d | [7, 7, 1280] | [[1280], 1, 1] | [0, 0] | [0, 0] | [1, 1] | 62720.0000
Tensor("global_average_pooling2d/Mean:0", shape=(None, 1280), dtype=float32)predictions | 1280 | [1000] | [0, 0] | [0, 0] | [1, 1] | 2560000.0000Total FLOPs: 602,122,488.000000
Total MACCs: 300,921,692.000000
以上是keras的application中给出的代码实现,以下是自实现MobileNet的结果测试:
2021-04-18 21:45:15.332238: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1757] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...Layer Name | Input Shape | Output Shape | Kernel Size | Filters | Strides | FLOPS
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------input_1 | [200, 12, 1] | [200, 12, 1] | [0, 0] | [0, 0] | [1, 1] | 0.0000Conv1_pad | ['', '', ''] | ['', '', ''] | [0, 0] | [0, 0] | [1, 1] | 0.0000Conv1 | [201, 13, 1] | [100, 6, 32] | (3, 3) | 32 | (2, 2) | 376272.0000bn_Conv1 | [100, 6, 32] | [100, 6, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000Conv1_relu | [100, 6, 32] | [100, 6, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000expanded_conv_depthwise | [100, 6, 32] | [100, 6, 32] | (3, 3) | 32 | (1, 1) | 345600.0000
expanded_conv_depthwise_BN | [100, 6, 32] | [100, 6, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000
expanded_conv_depthwise_relu | [100, 6, 32] | [100, 6, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000expanded_conv_project | [100, 6, 32] | [100, 6, 16] | (1, 1) | 16 | (1, 1) | 614400.0000expanded_conv_project_BN | [100, 6, 16] | [100, 6, 16] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_expand | [100, 6, 16] | [100, 6, 96] | (1, 1) | 96 | (1, 1) | 1843200.0000block_1_expand_BN | [100, 6, 96] | [100, 6, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_expand_relu | [100, 6, 96] | [100, 6, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_pad | ['', '', ''] | ['', '', ''] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_depthwise | [101, 7, 96] | [50, 3, 96] | (3, 3) | 96 | (2, 2) | 305424.0000block_1_depthwise_BN | [50, 3, 96] | [50, 3, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_depthwise_relu | [50, 3, 96] | [50, 3, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_1_project | [50, 3, 96] | [50, 3, 24] | (1, 1) | 24 | (1, 1) | 691200.0000block_1_project_BN | [50, 3, 24] | [50, 3, 24] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_expand | [50, 3, 24] | [50, 3, 144] | (1, 1) | 144 | (1, 1) | 1036800.0000block_2_expand_BN | [50, 3, 144] | [50, 3, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_expand_relu | [50, 3, 144] | [50, 3, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_depthwise | [50, 3, 144] | [50, 3, 144] | (3, 3) | 144 | (1, 1) | 388800.0000block_2_depthwise_BN | [50, 3, 144] | [50, 3, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_depthwise_relu | [50, 3, 144] | [50, 3, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_project | [50, 3, 144] | [50, 3, 24] | (1, 1) | 24 | (1, 1) | 1036800.0000block_2_project_BN | [50, 3, 24] | [50, 3, 24] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_2_add | [50, 3, 24, 2] | [50, 3, 24] | [0, 0] | [0, 0] | [1, 1] | 3600.0000block_3_expand | [50, 3, 24] | [50, 3, 144] | (1, 1) | 144 | (1, 1) | 1036800.0000block_3_expand_BN | [50, 3, 144] | [50, 3, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_expand_relu | [50, 3, 144] | [50, 3, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_pad | ['', '', ''] | ['', '', ''] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_depthwise | [51, 5, 144] | [25, 2, 144] | (3, 3) | 144 | (2, 2) | 165240.0000block_3_depthwise_BN | [25, 2, 144] | [25, 2, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_depthwise_relu | [25, 2, 144] | [25, 2, 144] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_3_project | [25, 2, 144] | [25, 2, 32] | (1, 1) | 32 | (1, 1) | 460800.0000block_3_project_BN | [25, 2, 32] | [25, 2, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_expand | [25, 2, 32] | [25, 2, 192] | (1, 1) | 192 | (1, 1) | 614400.0000block_4_expand_BN | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_expand_relu | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_depthwise | [25, 2, 192] | [25, 2, 192] | (3, 3) | 192 | (1, 1) | 172800.0000block_4_depthwise_BN | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_depthwise_relu | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_project | [25, 2, 192] | [25, 2, 32] | (1, 1) | 32 | (1, 1) | 614400.0000block_4_project_BN | [25, 2, 32] | [25, 2, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_4_add | [25, 2, 32, 2] | [25, 2, 32] | [0, 0] | [0, 0] | [1, 1] | 1600.0000block_5_expand | [25, 2, 32] | [25, 2, 192] | (1, 1) | 192 | (1, 1) | 614400.0000block_5_expand_BN | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_expand_relu | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_depthwise | [25, 2, 192] | [25, 2, 192] | (3, 3) | 192 | (1, 1) | 172800.0000block_5_depthwise_BN | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_depthwise_relu | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_project | [25, 2, 192] | [25, 2, 32] | (1, 1) | 32 | (1, 1) | 614400.0000block_5_project_BN | [25, 2, 32] | [25, 2, 32] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_5_add | [25, 2, 32, 2] | [25, 2, 32] | [0, 0] | [0, 0] | [1, 1] | 1600.0000block_6_expand | [25, 2, 32] | [25, 2, 192] | (1, 1) | 192 | (1, 1) | 614400.0000block_6_expand_BN | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_expand_relu | [25, 2, 192] | [25, 2, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_pad | ['', '', ''] | ['', '', ''] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_depthwise | [27, 3, 192] | [13, 1, 192] | (3, 3) | 192 | (2, 2) | 69984.0000block_6_depthwise_BN | [13, 1, 192] | [13, 1, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_depthwise_relu | [13, 1, 192] | [13, 1, 192] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_6_project | [13, 1, 192] | [13, 1, 64] | (1, 1) | 64 | (1, 1) | 319488.0000block_6_project_BN | [13, 1, 64] | [13, 1, 64] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_expand | [13, 1, 64] | [13, 1, 384] | (1, 1) | 384 | (1, 1) | 638976.0000block_7_expand_BN | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_expand_relu | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_depthwise | [13, 1, 384] | [13, 1, 384] | (3, 3) | 384 | (1, 1) | 89856.0000block_7_depthwise_BN | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_depthwise_relu | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_project | [13, 1, 384] | [13, 1, 64] | (1, 1) | 64 | (1, 1) | 638976.0000block_7_project_BN | [13, 1, 64] | [13, 1, 64] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_7_add | [13, 1, 64, 2] | [13, 1, 64] | [0, 0] | [0, 0] | [1, 1] | 832.0000block_8_expand | [13, 1, 64] | [13, 1, 384] | (1, 1) | 384 | (1, 1) | 638976.0000block_8_expand_BN | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_expand_relu | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_depthwise | [13, 1, 384] | [13, 1, 384] | (3, 3) | 384 | (1, 1) | 89856.0000block_8_depthwise_BN | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_depthwise_relu | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_project | [13, 1, 384] | [13, 1, 64] | (1, 1) | 64 | (1, 1) | 638976.0000block_8_project_BN | [13, 1, 64] | [13, 1, 64] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_8_add | [13, 1, 64, 2] | [13, 1, 64] | [0, 0] | [0, 0] | [1, 1] | 832.0000block_9_expand | [13, 1, 64] | [13, 1, 384] | (1, 1) | 384 | (1, 1) | 638976.0000block_9_expand_BN | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_expand_relu | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_depthwise | [13, 1, 384] | [13, 1, 384] | (3, 3) | 384 | (1, 1) | 89856.0000block_9_depthwise_BN | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_depthwise_relu | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_project | [13, 1, 384] | [13, 1, 64] | (1, 1) | 64 | (1, 1) | 638976.0000block_9_project_BN | [13, 1, 64] | [13, 1, 64] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_9_add | [13, 1, 64, 2] | [13, 1, 64] | [0, 0] | [0, 0] | [1, 1] | 832.0000block_10_expand | [13, 1, 64] | [13, 1, 384] | (1, 1) | 384 | (1, 1) | 638976.0000block_10_expand_BN | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_10_expand_relu | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_10_depthwise | [13, 1, 384] | [13, 1, 384] | (3, 3) | 384 | (1, 1) | 89856.0000block_10_depthwise_BN | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_10_depthwise_relu | [13, 1, 384] | [13, 1, 384] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_10_project | [13, 1, 384] | [13, 1, 96] | (1, 1) | 96 | (1, 1) | 958464.0000block_10_project_BN | [13, 1, 96] | [13, 1, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_expand | [13, 1, 96] | [13, 1, 576] | (1, 1) | 576 | (1, 1) | 1437696.0000block_11_expand_BN | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_expand_relu | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_depthwise | [13, 1, 576] | [13, 1, 576] | (3, 3) | 576 | (1, 1) | 134784.0000block_11_depthwise_BN | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_depthwise_relu | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_project | [13, 1, 576] | [13, 1, 96] | (1, 1) | 96 | (1, 1) | 1437696.0000block_11_project_BN | [13, 1, 96] | [13, 1, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_11_add | [13, 1, 96, 2] | [13, 1, 96] | [0, 0] | [0, 0] | [1, 1] | 1248.0000block_12_expand | [13, 1, 96] | [13, 1, 576] | (1, 1) | 576 | (1, 1) | 1437696.0000block_12_expand_BN | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_expand_relu | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_depthwise | [13, 1, 576] | [13, 1, 576] | (3, 3) | 576 | (1, 1) | 134784.0000block_12_depthwise_BN | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_depthwise_relu | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_project | [13, 1, 576] | [13, 1, 96] | (1, 1) | 96 | (1, 1) | 1437696.0000block_12_project_BN | [13, 1, 96] | [13, 1, 96] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_12_add | [13, 1, 96, 2] | [13, 1, 96] | [0, 0] | [0, 0] | [1, 1] | 1248.0000block_13_expand | [13, 1, 96] | [13, 1, 576] | (1, 1) | 576 | (1, 1) | 1437696.0000block_13_expand_BN | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_expand_relu | [13, 1, 576] | [13, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_pad | ['', '', ''] | ['', '', ''] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_depthwise | [15, 3, 576] | [7, 1, 576] | (3, 3) | 576 | (2, 2) | 116640.0000block_13_depthwise_BN | [7, 1, 576] | [7, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_depthwise_relu | [7, 1, 576] | [7, 1, 576] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_13_project | [7, 1, 576] | [7, 1, 160] | (1, 1) | 160 | (1, 1) | 1290240.0000block_13_project_BN | [7, 1, 160] | [7, 1, 160] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_expand | [7, 1, 160] | [7, 1, 960] | (1, 1) | 960 | (1, 1) | 2150400.0000block_14_expand_BN | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_expand_relu | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_depthwise | [7, 1, 960] | [7, 1, 960] | (3, 3) | 960 | (1, 1) | 120960.0000block_14_depthwise_BN | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_depthwise_relu | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_project | [7, 1, 960] | [7, 1, 160] | (1, 1) | 160 | (1, 1) | 2150400.0000block_14_project_BN | [7, 1, 160] | [7, 1, 160] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_14_add | [7, 1, 160, 2] | [7, 1, 160] | [0, 0] | [0, 0] | [1, 1] | 1120.0000block_15_expand | [7, 1, 160] | [7, 1, 960] | (1, 1) | 960 | (1, 1) | 2150400.0000block_15_expand_BN | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_expand_relu | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_depthwise | [7, 1, 960] | [7, 1, 960] | (3, 3) | 960 | (1, 1) | 120960.0000block_15_depthwise_BN | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_depthwise_relu | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_project | [7, 1, 960] | [7, 1, 160] | (1, 1) | 160 | (1, 1) | 2150400.0000block_15_project_BN | [7, 1, 160] | [7, 1, 160] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_15_add | [7, 1, 160, 2] | [7, 1, 160] | [0, 0] | [0, 0] | [1, 1] | 1120.0000block_16_expand | [7, 1, 160] | [7, 1, 960] | (1, 1) | 960 | (1, 1) | 2150400.0000block_16_expand_BN | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_16_expand_relu | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_16_depthwise | [7, 1, 960] | [7, 1, 960] | (3, 3) | 960 | (1, 1) | 120960.0000block_16_depthwise_BN | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_16_depthwise_relu | [7, 1, 960] | [7, 1, 960] | [0, 0] | [0, 0] | [1, 1] | 0.0000block_16_project | [7, 1, 960] | [7, 1, 320] | (1, 1) | 320 | (1, 1) | 4300800.0000block_16_project_BN | [7, 1, 320] | [7, 1, 320] | [0, 0] | [0, 0] | [1, 1] | 0.0000Conv_1 | [7, 1, 320] | [7, 1, 1280] | (1, 1) | 1280 | (1, 1) | 5734400.0000Conv_1_bn | [7, 1, 1280] | [7, 1, 1280] | [0, 0] | [0, 0] | [1, 1] | 0.0000out_relu | [7, 1, 1280] | [7, 1, 1280] | [0, 0] | [0, 0] | [1, 1] | 0.0000global_average_pooling2d | [7, 1, 1280] | [[1280], 1, 1] | [0, 0] | [0, 0] | [1, 1] | 8960.0000
Tensor("global_average_pooling2d/Mean:0", shape=(None, 1280), dtype=float32)Logits | 1280 | [49] | [0, 0] | [0, 0] | [1, 1] | 125440.0000Total FLOPs: 48,062,568.000000
Total MACCs: 24,019,788.000000
以下是论文原文给出的数据:
Keras | 计算模型的FLOPs、MACCs相关推荐
- pytorch模型参数信息 计算模型的FLOPs
参考链接:https://blog.csdn.net/tsq292978891/article/details/87918244 打印模型参数信息 在python3环境下安装torchsummary ...
- 计算模型的FLOPs
为了探究影响模型运行时间的变量,之前运用了参数量做标准 参数量在TF框架下还是很容易计算的 TF框架下运用 tf.keras.models.Model().summary() 就能一键生成包含模型的l ...
- 使用thop库对yolo等深度学习模型的FLOPS进行计算
据说yolov5原来的FLOPS计算脚本有bug,因此这个大神推荐使用thop库进行计算,代码如下: input = torch.randn(1, 3, 416, 416) flops, params ...
- 华为高级研究员谢凌曦:下一代人工智能计算模型探索
2020-04-30 23:30:04 导读:下一代人工智能计算模型,主要是使用一些自动化技术帮助我们设计更好的深度学习网络结构,并在任务中提升性能.在深度学习如火如荼的当下,如何设计高效的神经网络架 ...
- pytorch计算模型参数量
1. 安装 thop 1.1 常规安装 pip install thop 1.2 若上述安装方式错误,可以参考以下方式: pip install thop-i http://pypi.douban.c ...
- python模型保存save_浅谈keras保存模型中的save()和save_weights()区别
今天做了一个关于keras保存模型的实验,希望有助于大家了解keras保存模型的区别. 我们知道keras的模型一般保存为后缀名为h5的文件,比如final_model.h5.同样是h5文件用save ...
- keras提取模型中的某一层_Tensorflow笔记:高级封装——Keras
前言 之前在<Tensorflow笔记:高级封装--tf.Estimator>中介绍了Tensorflow的一种高级封装,本文介绍另一种高级封装Keras.Keras的特点就是两个字--简 ...
- keras提取模型中的某一层_Keras做图片分类(四):迁移学习--猫狗大战实战
本项目数据集来自kaggle竞赛,地址: https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition/data 数据的训练集放在train文 ...
- 测试方法介绍-计算模型复杂度(GMac)、模型大小(M)、计算速度(FPS)
PRNet-V 计算复杂度为 48.76GMac 参数数量为34.73M (PRNet测试结果)(IEO在12345层) 参数数量为27.57M (PRNet测试结果)(IEO在345层) 计算图片读 ...
最新文章
- java exception用法_JavaException的使用
- java获得项目绝对路径
- dxf转nc代码软件_eCAM高速激光加工软件
- SET QUOTED_IDENTIFIER ON
- 看完这篇文章,跟面试官扯皮就没问题了
- linux mint 时间不对,LinuxMint 20:发布日期和新功能
- C++入门指南及实战 第三步 基本变量
- React开发(240):dva概念5reducer
- python web自动化测试实验报告_Python:web自动化测试
- php 第一次创建文件时延迟4秒 sleep用法
- 如何查看bmp文件头_效率神器:史上最强最小文件搜索软件Everything!
- java枚举类型特点_必须了解的高阶JAVA枚举特性!
- (转)Unity 导出XML配置文件,动态加载场景
- $.ajax提交,后台接受到的值总是乱码?明天再总结
- 翻译:与包括索引列:5级阶梯SQL Server索引
- [转]【基于zxing的编解码实战】精简Barcode Scanner篇
- 消费信贷 开源数据_消费或发布开源软件的6大动机
- android 表情变小了,别羡慕了!安卓微信表情包上限也变成999了!
- 【机器学习笔记1】一元线性回归模型及预测
- 网络视频服务器系统,网络视频直播系统,搭建直播服务器环境