np.stack(np.meshgrid(*[np.arange(i, dtype=dtype) for i in sizes], indexing="ij"), axis=-1).reshape(-1, len(sizes))
< /code>
lesbarer mit guter Leistung: < /p>
np.ascontiguousarray(np.indices(sizes, dtype=dtype).reshape(len(sizes), -1).T)
< /code>
Hier bin ich mir nicht sicher, ob die Kopie von AscontiguousArray tatsächlich erforderlich ist oder ob es einen besseren Weg gibt, um sicherzustellennp.vstack([*np.ndindex(sizes)], dtype=dtype)
< /code>
Die Iteratorumwandlung ist für größere Arrays ziemlich langsam. Sicher ist das Array c-contiNous? < /p>
Beispiel: < /p>
sizes = (3, 1, 2)
idx = np.ascontiguousarray(np.indices(sizes).reshape(len(sizes), -1).T)
print(idx)
print(f"C_CONTIGUOUS: {idx.flags['C_CONTIGUOUS']}")
# [[0 0 0]
# [0 0 1]
# [1 0 0]
# [1 0 1]
# [2 0 0]
# [2 0 1]]
# C_CONTIGUOUS: True
Wenn ich ein n-dimensionales Indexarray in C-Ordnung erzeugen muss, habe ich ein paar verschiedene numpy-Ansätze ausprobiert.[code]np.stack(np.meshgrid(*[np.arange(i, dtype=dtype) for i in sizes], indexing="ij"), axis=-1).reshape(-1, len(sizes)) < /code> lesbarer mit guter Leistung: < /p> np.ascontiguousarray(np.indices(sizes, dtype=dtype).reshape(len(sizes), -1).T) < /code> Hier bin ich mir nicht sicher, ob die Kopie von AscontiguousArray tatsächlich erforderlich ist oder ob es einen besseren Weg gibt, um sicherzustellennp.vstack([*np.ndindex(sizes)], dtype=dtype) < /code> Die Iteratorumwandlung ist für größere Arrays ziemlich langsam. Sicher ist das Array c-contiNous? < /p> Beispiel: < /p> sizes = (3, 1, 2) idx = np.ascontiguousarray(np.indices(sizes).reshape(len(sizes), -1).T) print(idx) print(f"C_CONTIGUOUS: {idx.flags['C_CONTIGUOUS']}") # [[0 0 0] # [0 0 1] # [1 0 0] # [1 0 1] # [2 0 0] # [2 0 1]] # C_CONTIGUOUS: True [/code]
Die Datei results.csv ist schwer zu lesen, da die Variablen, Intermediate usw. in einem Format wie i1000 angezeigt werden, was wahrscheinlich Zwischenstufe 1000 bedeutet. Gibt es eine Möglichkeit,...
Das Problem, das ich löste, ist die Optimierung eines genetischen Algorithmus für das Problem mit reisenden Verkäufern. Die Berechnung des Pfades braucht die meiste Zeit. Hier ist der aktuelle Code,...