这是我第一次在这里发帖,如果问错了地方或者我遗漏了信息,我深表歉意。基本上我有以下代码用于使用 statsmodels 和 cuml 的线性回归模型,我希望 rapids 版本更快,因为它在 GPU 上,但实际时间更慢。我的驱动程序和库都是最新的,我确认在代码运行时 GPU 正在使用中。有谁知道为什么会这样?任何帮助将不胜感激
这是代码
import numpy as np
import cudf
import cuml
import statsmodels.api as sm
import time
# Generate some sample data
n_samples = 1000
n_features = 1
X = np.random.rand(n_samples, n_features)
y = np.random.rand(n_samples)
X_ = cudf.DataFrame(X)
y_ = cudf.Series(y)
start = time.time()
# Fit OLS model using statsmodels
ols_model = sm.OLS(y, X)
ols_results = ols_model.fit()
end = time.time()
print(f'ols runtime:{end-start}s')
# Fit linear regression model using cuML
reg_model = cuml.LinearRegression(fit_intercept=False)
reg_model.fit(X_, y_)
end2 = time.time()
print(f'cuml runtime:{end2-end}s')
# Print the results
print('OLS coefficients:', ols_results.params)
print('cuML coefficients:', reg_model.coef_)
这是输出
ols runtime:0.001081705093383789s
cuml runtime:1.3555335998535156s
OLS coefficients: [0.75085789]
cuML coefficients: 0 0.750858
dtype: float64