Есть ли общий способ измерить, сколько операций с плавающей запятой включает в себя последовательность команд Numpy? - такие команды, как np.random.randint
, np.sum
, np.argmin
, np.matmul
или @
и т. Д.
Или это единственный способ сделать это вручную, думая с чисто математической точки зрения и / или глядя на то, как Numpy реализует функции, а именно:
- умножение матриц включает (2p - 1) mn FLOP, если мы умножаем матрицу m × p на матрицу p × n
- argmin включает O (n) ≈ cn сравнений для массива длины n, но каким должно быть c? Я попытался посмотреть исходный код Numpy., но я не совсем понимаю, как
_wrapfunc
должен работать или какой код C здесь уместен. - и т.п.
O
вопрос может быть актуальным, stackoverflow.com/q/52201990/901925 - person hpaulj   schedule 19.06.2020