<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Gpr" rel="Chapter" href="Gpr.html"> <link title="Gpr_interfaces" rel="Chapter" href="Gpr_interfaces.html"> <link title="Gpr_utils" rel="Chapter" href="Gpr_utils.html"> <link title="Gpr_block_diag" rel="Chapter" href="Gpr_block_diag.html"> <link title="Gpr_cov_const" rel="Chapter" href="Gpr_cov_const.html"> <link title="Gpr_cov_lin_ard" rel="Chapter" href="Gpr_cov_lin_ard.html"> <link title="Gpr_cov_lin_one" rel="Chapter" href="Gpr_cov_lin_one.html"> <link title="Gpr_cov_se_iso" rel="Chapter" href="Gpr_cov_se_iso.html"> <link title="Gpr_cov_se_fat" rel="Chapter" href="Gpr_cov_se_fat.html"> <link title="Gpr_fitc_gp" rel="Chapter" href="Gpr_fitc_gp.html"> <link title="Gpr_version" rel="Chapter" href="Gpr_version.html"><title>Gpr_interfaces.Sigs.Deriv.Deriv</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Spec</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Eval</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Kernel</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t<br> <span class="keyword">type</span> params = <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.params<br> <span class="keyword">val</span> create : params <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_params : t <span class="keywordsign">-></span> params<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inducing</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> get_n_points : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> calc_upper : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Input</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Input</span>.t<br> <span class="keyword">val</span> eval : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> weighted_eval :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> coeffs:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> eval_one : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> float<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inputs</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t<br> <span class="keyword">val</span> create : <span class="constructor">Input</span>.t array <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_n_points : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> choose_subset : t <span class="keywordsign">-></span> <span class="constructor">Gpr_utils</span>.<span class="constructor">Int_vec</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> create_inducing : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> create_default_kernel_params :<br> t <span class="keywordsign">-></span> n_inducing:int <span class="keywordsign">-></span> <span class="constructor">Kernel</span>.params<br> <span class="keyword">val</span> calc_upper : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> calc_diag : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> calc_cross :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> inputs:t <span class="keywordsign">-></span> inducing:<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> weighted_eval :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> inputs:t <span class="keywordsign">-></span><br> inducing:<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> coeffs:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Hyper</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> get_all :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> t array<br> <span class="keyword">val</span> get_value :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> set_values :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> t array <span class="keywordsign">-></span><br> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t * <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t * <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inducing</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> upper<br> <span class="keyword">val</span> calc_shared_upper :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat * upper<br> <span class="keyword">val</span> calc_deriv_upper : upper <span class="keywordsign">-></span> <span class="constructor">Hyper</span>.t <span class="keywordsign">-></span> symm_mat_deriv<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inputs</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> diag<br> <span class="keyword">type</span> cross<br> <span class="keyword">val</span> calc_shared_diag :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec * diag<br> <span class="keyword">val</span> calc_shared_cross :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> inputs:<span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> inducing:<span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat * cross<br> <span class="keyword">val</span> calc_deriv_diag : diag <span class="keywordsign">-></span> <span class="constructor">Hyper</span>.t <span class="keywordsign">-></span> diag_deriv<br> <span class="keyword">val</span> calc_deriv_cross : cross <span class="keywordsign">-></span> <span class="constructor">Hyper</span>.t <span class="keywordsign">-></span> mat_deriv<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inducing</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> calc :<br> <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> calc_eval :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inputs</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> calc :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Inputs</span>.t<br> <span class="keyword">val</span> calc_eval :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Model</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">type</span> hyper_t<br> <span class="keyword">val</span> calc :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> sigma2:float <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Model</span>.t<br> <span class="keyword">val</span> update_sigma2 :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Model</span>.t <span class="keywordsign">-></span><br> float <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Model</span>.t<br> <span class="keyword">val</span> calc_eval :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Model</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Eval</span>.<span class="constructor">Model</span>.t<br> <span class="keyword">val</span> calc_log_evidence_sigma2 :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Model</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> prepare_hyper :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Model</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Model</span>.hyper_t<br> <span class="keyword">val</span> calc_log_evidence :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Model</span>.hyper_t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Spec</span>.<span class="constructor">Hyper</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Trained</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">type</span> hyper_t<br> <span class="keyword">val</span> calc :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Model</span>.t <span class="keywordsign">-></span><br> targets:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Trained</span>.t<br> <span class="keyword">val</span> calc_eval :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Trained</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Eval</span>.<span class="constructor">Trained</span>.t<br> <span class="keyword">val</span> calc_log_evidence_sigma2 :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Trained</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> prepare_hyper :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Trained</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Trained</span>.hyper_t<br> <span class="keyword">val</span> calc_log_evidence :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Trained</span>.hyper_t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Spec</span>.<span class="constructor">Hyper</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Test</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> check_deriv_hyper :<br> ?eps:float <span class="keywordsign">-></span><br> ?tol:float <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Spec</span>.<span class="constructor">Hyper</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> self_test :<br> ?eps:float <span class="keywordsign">-></span><br> ?tol:float <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> sigma2:float <span class="keywordsign">-></span><br> targets:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Hyper</span> <span class="keyword">of</span> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Spec</span>.<span class="constructor">Hyper</span>.t <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Sigma2</span> ] <span class="keywordsign">-></span><br> unit<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Optim</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Gsl</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">exception</span> <span class="constructor">Optim_exception</span> <span class="keyword">of</span> exn<br> <span class="keyword">val</span> train :<br> ?step:float <span class="keywordsign">-></span><br> ?tol:float <span class="keywordsign">-></span><br> ?epsabs:float <span class="keywordsign">-></span><br> ?report_trained_model:(iter:int <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Eval</span>.<span class="constructor">Trained</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> ?report_gradient_norm:(iter:int <span class="keywordsign">-></span> float <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> ?kernel:<span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> ?sigma2:float <span class="keywordsign">-></span><br> ?inducing:<span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> ?n_rand_inducing:int <span class="keywordsign">-></span><br> ?learn_sigma2:bool <span class="keywordsign">-></span><br> ?hypers:<span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Spec</span>.<span class="constructor">Hyper</span>.t array <span class="keywordsign">-></span><br> inputs:<span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> targets:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span><br> unit <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Eval</span>.<span class="constructor">Trained</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">SGD</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> create :<br> ?tau:float <span class="keywordsign">-></span><br> ?eta0:float <span class="keywordsign">-></span><br> ?step:int <span class="keywordsign">-></span><br> ?kernel:<span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> ?sigma2:float <span class="keywordsign">-></span><br> ?inducing:<span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> ?n_rand_inducing:int <span class="keywordsign">-></span><br> ?learn_sigma2:bool <span class="keywordsign">-></span><br> ?hypers:<span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Spec</span>.<span class="constructor">Hyper</span>.t array <span class="keywordsign">-></span><br> inputs:<span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> targets:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span><br> unit <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t<br> <span class="keyword">val</span> step :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t<br> <span class="keyword">val</span> gradient_norm :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> get_trained :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Eval</span>.<span class="constructor">Trained</span>.t<br> <span class="keyword">val</span> get_eta : <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> get_step : <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> test :<br> ?epsabs:float <span class="keywordsign">-></span><br> ?max_iter:int <span class="keywordsign">-></span><br> ?report:(<span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SGD</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">SMD</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> create :<br> ?eps:float <span class="keywordsign">-></span><br> ?lambda:float <span class="keywordsign">-></span><br> ?mu:float <span class="keywordsign">-></span><br> ?eta0:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span><br> ?nu0:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span><br> ?kernel:<span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> ?sigma2:float <span class="keywordsign">-></span><br> ?inducing:<span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> ?n_rand_inducing:int <span class="keywordsign">-></span><br> ?learn_sigma2:bool <span class="keywordsign">-></span><br> ?hypers:<span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Spec</span>.<span class="constructor">Hyper</span>.t array <span class="keywordsign">-></span><br> inputs:<span class="constructor">Eval</span>.<span class="constructor">Spec</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> targets:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span><br> unit <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t<br> <span class="keyword">val</span> step :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t<br> <span class="keyword">val</span> gradient_norm :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> get_trained :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Eval</span>.<span class="constructor">Trained</span>.t<br> <span class="keyword">val</span> get_eta :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> get_nu :<br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> test :<br> ?epsabs:float <span class="keywordsign">-></span><br> ?max_iter:int <span class="keywordsign">-></span><br> ?report:(<span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Gpr_interfaces</span>.<span class="constructor">Sigs</span>.<span class="constructor">Deriv</span>.<span class="constructor">Deriv</span>.<span class="constructor">Optim</span>.<span class="constructor">SMD</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>