Вопрос о dbscan от sklearn и dbscan от RapidsPython

Программы на Python
Anonymous
Вопрос о dbscan от sklearn и dbscan от Rapids

Сообщение Anonymous »

Я тестирую версию Rapids на dbscan, которая работает с графическим процессором.
Я написал короткий код на Python, который находит кластеры в трехмерных случайно сгенерированных точках, и когда я играл с кодом, я понял, что процессор работает неправильно быстрее, чем графический процессор по какой-то причине, с которой я не знаком:
`

Код: Выделить всё

    from sklearn.cluster import DBSCAN
from cuml.cluster import DBSCAN as cuDBSCAN
import cupy as cp

pij_gpu = cp.asarray(pij.astype(np.float32))  # Transfer data to GPU
eps = 0.3
min_samples = 5
start = time.time()
cluster = DBSCAN(eps=eps, min_samples=min_samples, n_jobs=-1)
cluster.fit(pij)
print(f"CPU: {time.time() - start}")

start = time.time()
cluster_gpu = cuDBSCAN(eps=eps, min_samples=min_samples)
cluster_gpu.fit(pij_gpu)
print(f"GPU: {time.time() - start}")
`
журналы:

Код: Выделить всё

size is: (670761, 3)
CPU: 1.508012294769287
[W] [14:24:17.089902] Batch size limited by the chosen integer type (4 bytes). 6007 -> 3201. Using the larger integer type might result in better performance
GPU: 10.168060541152954
я распечатал размер pij.
я что-то упустил?
я поискал в Интернете и использовал чатgpt, чтобы найти ответ, но я не смог найти ответ.
Я заметил одну вещь: когда точки ближе, графический процессор имеет тенденцию работать немного быстрее, чем процессор.
у меня nvidia 3090 и относительно мощный компьютер

Подробнее здесь: https://stackoverflow.com/questions/787 ... rom-rapids

Вернуться в «Python»