cuMLGPU機(jī)器學(xué)習(xí)算法
cuML是一套用于實現(xiàn)與其他RAPIDS項目共享兼容API的機(jī)器學(xué)習(xí)算法和數(shù)學(xué)原語函數(shù)。
cuML使數(shù)據(jù)科學(xué)家、研究人員和軟件工程師能夠在GPU上運(yùn)行傳統(tǒng)的表格ML任務(wù),而無需深入了解CUDA編程的細(xì)節(jié)。 在大多數(shù)情況下,cuML的Python API與來自scikit-learn的API相匹配。
對于大型數(shù)據(jù)集,這些基于GPU的實現(xiàn)可以比其CPU等效完成10-50倍。 有關(guān)性能的詳細(xì)信息,請參閱cuML基準(zhǔn)測試筆記本。
例如,以下Python代碼段加載輸入并計算DBSCAN集群,所有這些都在GPU上:
import cudf from cuml.cluster import DBSCAN # Create and populate a GPU DataFrame gdf_float = cudf.DataFrame() gdf_float['0'] = [1.0, 2.0, 5.0] gdf_float['1'] = [4.0, 2.0, 1.0] gdf_float['2'] = [4.0, 2.0, 1.0] # Setup and fit clusters dbscan_float = DBSCAN(eps=1.0, min_samples=1) dbscan_float.fit(gdf_float) print(dbscan_float.labels_)
輸出:
0 0
1 1
2 2
dtype: int32
cuML還具有多GPU和多節(jié)點多GPU操作,使用Dask,用于越來越多的算法。 以下Python代碼段從CSV文件中讀取輸入,并在單個節(jié)點上使用多個GPU在Dask工作器集群中執(zhí)行NearestNeighbors查詢:
# Create a Dask CUDA cluster w/ one worker per device
from dask_cuda import LocalCUDACluster
cluster = LocalCUDACluster()
# Read CSV file in parallel across workers
import dask_cudf
df = dask_cudf.read_csv("/path/to/csv")
# Fit a NearestNeighbors model and query it
from cuml.dask.neighbors import NearestNeighbors
nn = NearestNeighbors(n_neighbors = 10)
nn.fit(df)
neighbors = nn.kneighbors(df)
評論
圖片
表情
