如何计算 python 程序的 Flops

问题描述 投票:0回答:0

我有以下用于线性搜索算法的 python 程序:

import numpy as np

a, item = [2.6778716682529704, 8.224004328108661, 8.819020166860604, 25.04500044837642, 
114.6788167136755, 147.21744952331062, 109.1213882924877, 123.36405515780437, 10.113059020720906, 
59.01217380179232, 97.07159649653909, 9.010298414811622, 18.749094869496762, 75.27074394937102, 
85.75441597903486, 67.06650469807076, 59.193039503175825, 53.617565239895384, 13.945783254008596, 
130.41570895088282, 47.71407473246193, 51.903813982574384, 102.21910956684476, 106.99206485108651, 
80.95491815609066, 128.1883746500615, 29.40146119124661, 36.67058053312906, 124.22796860099373, 
46.14312646522846, 88.17789802786112, 10.952449565320403, 109.91937529687375, 124.20305335555281, 
12.389516472883905, 123.44886155581098, 17.421503974572637, 56.70857063455636, 71.00168946472502, 
103.07336370249966, 133.12218972160733, 88.57270183072094, 62.44720049852278, 19.689835681780934, 
57.274235858675404, 11.4949075513903, 32.06572223098081, 16.85725643503054, 147.75304767222545, 
73.03273121662845], 73.03273121662845

# Want to compute the Flops for the below 'for' loop
for i in range(50):
    if a[i] == item:
        print("item found")

我有以下问题:

  1. 由于上面的程序没有任何基本的浮点运算(如+、-、*、/),只有比较(关系)运算符(==),所以上面的线性搜索程序是否应该定义任何Flops?
  2. 关于 1),如果 Flops 不应该是 undefined 那么上面程序中写的 'for' 循环的 Flops 应该是多少?

我尝试探索 PyPI 以寻找是否有任何 python 包可用于计算上述程序的 Flops,但没有找到。此外,试图为此找到任何解决方案,但是在这方面没有很好的命运。

谢谢。非常感谢任何帮助...

search linear-search
© www.soinside.com 2019 - 2024. All rights reserved.