Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: local variable 'eps_gp' referenced before assignment #1

Open
david-cortes opened this issue Sep 25, 2022 · 0 comments
Open

Error: local variable 'eps_gp' referenced before assignment #1

david-cortes opened this issue Sep 25, 2022 · 0 comments

Comments

@david-cortes
Copy link

I am sometimes getting this error when I pass scalars for eps_f and eps_g:

UnboundLocalError                         Traceback (most recent call last)
~/Projects/multinomial_probit/safe/asan2.py in <module>
      9 idx = rng.choice(X.shape[0], size=10_000)
     10 model = MultinomialProbitRegression(lambda_=1e-4, presolve_logistic=False)
---> 11 model.fit(X[:10_000], y[:10_000])
     12 np.mean(model.predict(X[:10_000]) == y[:10_000])

~/Projects/multinomial_probit/multinomial_probit/__init__.py in fit(self, X, y, sample_weights)
    196         maxferr = X.shape[0] * 0.1
    197         import ntqn
--> 198         x_opt, f_opt, iters, f_evals, g_evals, flag, results = ntqn.bfgs_e(
    199             _mnp_fun_glob, _mnp_grad_glob, optvars, eps_f=maxferr,
    200             eps_g=maxferr

~/Projects/noise-tolerant-bfgs-master/ntqn.py in bfgs_e(func, grad, x0, eps_f, eps_g, callback, options)
    331         f_old = f_k
    332         alpha, beta, mu_hat, f_k, g_new, eps_fk, eps_gk, ls_fevals, ls_gevals, armijo_flag, wolfe_flag, split_flag = \
--> 333             _line_search_nt_wolfe(func, grad, x_k, p_k, eps_f=eps_f, eps_g=eps_g, f_k=f_k, g_k=g_k,
    334                                   alpha_init=options['alpha_init'], beta_init=options['beta_init'], mu=mu,
    335                                   c1=options['c1'], c2=options['c2'], c3=options['c3'],

~/Projects/noise-tolerant-bfgs-master/ntqn.py in _line_search_nt_wolfe(func, grad, x_k, p_k, eps_f, eps_g, f_k, g_k, alpha_init, beta_init, mu, c1, c2, c3, split_iter, max_ls_iter, verbose)
    860         if not wolfe_flag:
    861             beta, g_new, gtp_new, eps_gp, fevals_length, gevals_length, wolfe_flag = \
...
--> 862                 _lengthening(grad, x_k, p_k, beta=beta, eps_g=eps_g, g_k=g_k, eps_gk=eps_gk, eps_gp=eps_gp, gtp=gtp,
    863                              g_new=g_new, gtp_new=gtp_new, norm_pk=norm_pk, c3=c3, max_ls_iter=max_ls_iter,
    864                              verbose=verbose)

UnboundLocalError: local variable 'eps_gp' referenced before assignment

Can provide a long example file if needed for reproducibility.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant