小编dbr*_*ane的帖子

如何在类的成员函数上使用numba?

我正在使用稳定版的Numba 0.30.1.

我可以做这个:

import numba as nb
@nb.jit("void(f8[:])",nopython=True)                             
def complicated(x):                                  
    for a in x:
        b = a**2.+a**3.
Run Code Online (Sandbox Code Playgroud)

作为一个测试案例,加速是巨大的.但是如果我需要加速一个类中的函数,我不知道如何继续.

import numba as nb
def myClass(object):
    def __init__(self):
        self.k = 1
    #@nb.jit(???,nopython=True)                             
    def complicated(self,x):                                  
        for a in x:
            b = a**2.+a**3.+self.k
Run Code Online (Sandbox Code Playgroud)

我用什么numba类型的self对象?我需要在类中包含此函数,因为它需要访问成员变量.

python oop numba

15
推荐指数
2
解决办法
7163
查看次数

Python的numpy矩阵列表表现得很奇怪

我正在尝试使用numpy矩阵列表,并遇到一个恼人的问题.

假设我从十个2x2零矩阵的列表开始

para=[numpy.matrix(numpy.zeros((2,2)))]*(10)
Run Code Online (Sandbox Code Playgroud)

我访问这样的单个矩阵

para[0]
para[1]
Run Code Online (Sandbox Code Playgroud)

等等.到现在为止还挺好.

现在,我想仅修改第二个矩阵的第一行,保持所有其他矩阵不变.所以我这样做

para[1][0]=numpy.matrix([[1,1]])
Run Code Online (Sandbox Code Playgroud)

第一个索引指向列表中的第二个矩阵,第二个索引指向该矩阵中的第一行,将其替换为[1,1].

但奇怪的是,这个命令将列表中所有十个矩阵的第一行改为[1,1]而不是像我想要的那样只改变第二行.是什么赋予了?

python arrays numpy list matrix

1
推荐指数
1
解决办法
150
查看次数

标签 统计

python ×2

arrays ×1

list ×1

matrix ×1

numba ×1

numpy ×1

oop ×1