gpt4 book ai didi

python - 令人尴尬的是,并行助手对于不同的 'n_jobs' 参数没有返回相同的结果

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:44 24 4
gpt4 key购买 nike

def test_n_jobs_parallel():
# Test to check the functioning of n_jobs parameter.
for kernel in kernels:
gpr1 = GaussianProcessRegressor(kernel=kernel, n_jobs=1,
n_restarts_optimizer=5).fit(X, y)
gpr2 = GaussianProcessRegressor(kernel=kernel, n_jobs=2,
n_restarts_optimizer=5).fit(X, y)
gpr3 = GaussianProcessRegressor(kernel=kernel, n_jobs=-1,
n_restarts_optimizer=5).fit(X, y)
y1, y1_cov = gpr1.predict(X, return_cov=True)
y2, y2_cov = gpr2.predict(X, return_cov=True)
y3, y3_cov = gpr3.predict(X, return_cov=True)

# Successfully passed tests
assert_almost_equal(y1, y2)
assert_almost_equal(y1, y3)
assert_almost_equal(y1_cov, y2_cov)
assert_almost_equal(y1_cov, y3_cov)
# Failing tests
assert_almost_equal(gpr1.alpha_, gpr2.alpha_)
assert_almost_equal(gpr1.alpha_, gpr3.alpha_)
assert_almost_equal(gpr1.log_marginal_likelihood_value_,
gpr2.log_marginal_likelihood_value_)
assert_almost_equal(gpr1.log_marginal_likelihood_value_,
gpr3.log_marginal_likelihood_value_)

我还尝试降低精度值(需要小数位)。仅少数内核会出现此问题。

最佳答案

我能想到的两件事可能会导致您的问题:

  1. 该算法使用随机种子
  2. 拟合期间内核超参数发生变化

我会尝试将随机种子设置为常量,然后重试。如果这不起作用,您介意分享哪些内核未通过测试吗?

(这更多的是评论,但我的权限没有那么高..)

关于python - 令人尴尬的是,并行助手对于不同的 'n_jobs' 参数没有返回相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41121096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com