Wie kann ich Python Curve_fit über ein 2D-Array beschleunigen?
Posted: 15 Jan 2025, 17:43
Ich muss die Numpy-Funktion „curve_fit“ für einen großen Datensatz (5.000.000) verwenden.
Im Grunde habe ich also ein 2D-Array erstellt. Die erste Dimension ist die Anzahl der durchzuführenden Anpassungen, die zweite Dimension ist die Anzahl der für die Anpassung verwendeten Punkte.
Mehrfachverarbeitung kann verwendet werden, um den gesamten Prozess zu beschleunigen, aber es ist immer noch ziemlich langsam.
Gibt es eine Möglichkeit, Curve_fit „vektorisiert“ zu verwenden? ?
Im Grunde habe ich also ein 2D-Array erstellt. Die erste Dimension ist die Anzahl der durchzuführenden Anpassungen, die zweite Dimension ist die Anzahl der für die Anpassung verwendeten Punkte.
Code: Select all
t = np.array([0 1 2 3 4])
for d in np.ndindex(data.shape[0]):
try:
popt, pcov = curve_fit(func, t, np.squeeze(data[d,:]), p0=[1000,100])
except RuntimeError:
print("Error - curve_fit failed")
Gibt es eine Möglichkeit, Curve_fit „vektorisiert“ zu verwenden? ?