网络模型参数和计算力

模型的计算力是指训练时所占的GPU内存,与输入的图像大小尺寸和模型结构有关。

模型大小与模型的参数量有关。

模型所需的计算力flops参数parameters是怎么计算的?

flops是浮点运算数量 1 Gflops = 10亿 flops

计算FLOPs的代码或包

tensorflow

1
2
3
4
5
6
7
8
9
10
11
12
13
import tensorflow as tf
def stats_graph(graph):
flops = tf.profiler.profile(graph,\
options=tf.profiler.ProfileOptionBuilder.float_operation())
params = tf.profiler.profile(graph,\
options=tf.profiler.ProfileOptionBuilder.trainable_variables_parameter())
print('FLOPs: {}; Trainable params: {}'.format(flops.total_float_ops, params.total_parameters))

with tf.Graph().as_default() as graph:
A = tf.get_variable(initializer=tf.random_normal_initializer(dtype=tf.float32), shape=(25, 16), name='A')
B = tf.get_variable(initializer=tf.random_normal_initializer(dtype=tf.float32), shape=(16, 9), name='B')
C = tf.matmul(A, B, name='ouput')
stats_graph(graph)

pytorch
upload successful