Multipliez par «@», qui est disponible dans python3.5 et versions ultérieures.
Quand je le compare:
use_at
import numpy as np
N=1000
LOOP=10
a=np.arange(N*N).reshape(N,N)
for _ in range(LOOP):
b=a@a@a
use_dot
import numpy as np
N=1000
LOOP=10
a=np.arange(N*N).reshape(N,N)
for _ in range(LOOP):
b=a.dot(a).dot(a)
Comment écrire | temps |
---|---|
use_at | user 0m12.344s |
use_dot | user 0m35.812s |
Comment, @
est environ trois fois plus rapide. Je pense que cela dépend de la taille de la matrice, du type de valeur, du système de traitement, etc., mais si vous exécutez le code ci-dessus à portée de main, vous obtiendrez ce résultat.
J'étais un peu surpris.
Recommended Posts