python - numpy 测量时间 - 语法错误

标签 python numpy time

我想通过 numpy 来测量时间,但我不确定我的参数是否正确。

import numpy as np
import timeit

def svdsolve(a,b):
    u,s,v = np.linalg.svd(a)
    c = np.dot(u.T,b)
    w = np.linalg.solve(np.diag(s),c)
    x = np.dot(v.T,w)
    return x


A_=np.fromfile('dataA.bin',count=-1,dtype=np.float32)
B_=np.fromfile('dataB.bin',count=-1,dtype=np.float32)


s='svdsolve({0},{1})'.format(A,B)

mytime= timeit.Timer(stmt=s,setup='import numpy').timeit(100)

print mytime

现在它给了我:

File "/usr/lib64/python2.7/timeit.py", line 136, in init code = compile(src, dummy_src_name, "exec") File "", line 6 svdsolve([[ 1.86248358e+09 1.54404045e+09] ^ SyntaxError: invalid syntax

此外,我不明白(我也没有找到引用)在计时器上传递哪些参数。 我不知道如何使用重复 timeit(100)

最佳答案

NumPy 数组的 strrepr 都不能保证产生可用于重建原始数组的输出。 (format 使用 str,但 repr 没有帮助。)相反,将数组导入到定时代码的命名空间。假设此代码作为脚本运行,那就是

mytime = timeit.Timer(stmt='svdsolve(A, B)',
                      setup='from __main__ import A, B, svdsolve'
                      ).timeit(100)

关于python - numpy 测量时间 - 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21748935/

相关文章:

python - 在Python中计算分类变量和连续变量的条件概率? P(分类|连续)

Python:没有依赖项的卡住选项?

python - 沿第一维轴按列缩放 3d numpy 数组

numpy - 如何按列的降序对二维数组进行排序?

python - 如何向 3D Pandas DataFrame 添加嵌套列?

javascript - 根据小时数隐藏按钮

python - 为什么在并行写入文件时看不到交错行?

python - celery - 链中的组

go - N小时后如何调用函数X

Java,使用日期确定是一周还是一个月等的最简单方法