【自用】踩坑记录

GPR核函数

使用sklearn中的GPR模型时,可能会遇到以下问题:
ValueError:Multiple optimizer restarts (n_restarts_optimizer>0) requires that all bounds are finite.

gpr = GaussianProcessRegressor(kernel=kernel, oprimizer='fmin_l_bfgs_b', n_restarts_optimizer=5, random=0)
gpr.fit(x_train, y_train)

这可能时由于上述代码中设置n_restarts_optimizer=5导致的,在设置n_restarts_optimizer时要注意将对应核函数参数的上下限进行设置(若将下限设置为0时,可能会报这个错误)。

三维动图(图框显示未响应)

可能的原因:误将暂停时间调整为0.01,导致图框刷新太快而卡顿,将plt.pause()调整为0.1后图框未响应问题不在出现。

    fig = plt.figure()
    ax = Axes3D(fig)
    plt.ion()  # 将画图模式改为交互模式,程序遇到plt.show不会暂停,而是继续执行
    plot_3d(ax)

    pop = np.random.randint(2, size=(POP_SIZE, DNA_SIZE * 2))  # matrix (POP_SIZE, DNA_SIZE)
    for _ in range(N_GENERATIONS):  # 迭代N代
        x, y = translateDNA(pop)
        if 'sca' in locals():
            sca.remove()
        sca = ax.scatter(x, y, F(x, y), c='black', marker='o')
        plt.show()
        plt.pause(0.1)
        # plt.pause(0.01)	误将暂停时间调成0.01
        pop = np.array(crossover_and_mutation(pop, CROSSOVER_RATE))
        fitness = get_fitness(pop)
        pop = select(pop, fitness)  # 选择生成新的种群
  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值