FLOP y parámetros para probar modelos de red

concepto

FLOPS: Tenga en cuenta todas las letras mayúsculas, es la abreviatura de operaciones de punto flotante por segundo, que significa el número de operaciones de punto flotante por segundo, entendida como velocidad de cálculo. Es una medida del rendimiento del hardware.

FLOP: tenga en cuenta que s está en minúscula, que es la abreviatura de operaciones de punto flotante (s representa un número plural), que significa operandos de punto flotante y se entiende como la cantidad de cálculo. Se puede utilizar para medir la complejidad del algoritmo/modelo.

Conversión de unidades

1 MFLOP (mega) = 10 ^ 6 FLOP, es decir: 1 millón de operaciones de punto flotante

1 GFLOP (giga) = 10 ^ 9 FLOP, es decir: mil millones de operaciones de punto flotante

1 TFLOP (tera) = 10 ^ 12 FLOP, es decir: 1 billón de operaciones de punto flotante

Enlace de referencia:
https://zhuanlan.zhihu.com/p/541165764

Código:

import torch
from Net.MyNet import MyNet as net
from thop import profile
from thop import clever_format


model = net()
input = torch.rand(1,3,352,352)
input = input.cuda()
flops, params = profile(model, inputs=(input,))
flops, params = clever_format([flops, params], '%.3f')

print('模型参数:'params)
print('每一个样本浮点运算量:',flops)

Supongo que te gusta

Origin blog.csdn.net/holly_Z_P_F/article/details/132178080
Recomendado
Clasificación