added nsigma to lite

This commit is contained in:
Concedo 2025-02-21 15:11:24 +08:00
parent 2740af3660
commit f2ac10c014
5 changed files with 24 additions and 10 deletions

View file

@ -82,7 +82,7 @@ struct generation_inputs
const float min_p = 0.0f; const float min_p = 0.0f;
const float typical_p = 0; const float typical_p = 0;
const float tfs = 0; const float tfs = 0;
const float nsigma = -1.0f; const float nsigma = 0.0f;
const float rep_pen = 0; const float rep_pen = 0;
const int rep_pen_range = 0; const int rep_pen_range = 0;
const float rep_pen_slope = 1.0f; const float rep_pen_slope = 1.0f;

View file

@ -1430,6 +1430,9 @@ void sampler_typical(llama_token_data_array * cur_p, float p, size_t min_keep) {
void sample_top_n_sigma(llama_token_data_array * cur_p, float nsigma) { void sample_top_n_sigma(llama_token_data_array * cur_p, float nsigma) {
if (nsigma <= 0.0f || cur_p->size <= 1) {
return;
}
// find max logit and calculate mean // find max logit and calculate mean
float nsigmax = cur_p->data[0].logit; float nsigmax = cur_p->data[0].logit;
float logits_sum = 0; float logits_sum = 0;
@ -1613,10 +1616,8 @@ const std::vector<samplers> & sampler_order, llama_grammar * grammar, float dyna
sample_grammar(file_format, n_vocab, &candidates_p, grammar); sample_grammar(file_format, n_vocab, &candidates_p, grammar);
} }
if (nsigma <= 0.0f){ //dry always first as logits cannot be resorted
//dry always first as logits cannot be resorted sample_dry(n_ctx, dry_penalty_last_n, dry_multiplier, dry_base, dry_allowed_length, dry_sequence_breakers, &candidates_p);
sample_dry(n_ctx, dry_penalty_last_n, dry_multiplier, dry_base, dry_allowed_length, dry_sequence_breakers, &candidates_p);
}
//prefilter to top 3k tokens for improved speed //prefilter to top 3k tokens for improved speed
sample_top_k(&candidates_p, 3000); sample_top_k(&candidates_p, 3000);
@ -1651,7 +1652,6 @@ const std::vector<samplers> & sampler_order, llama_grammar * grammar, float dyna
sample_temperature(&candidates_p, temp, smoothing_factor); sample_temperature(&candidates_p, temp, smoothing_factor);
} }
sample_top_n_sigma(&candidates_p, nsigma); sample_top_n_sigma(&candidates_p, nsigma);
sample_xtc(&candidates_p, xtc_threshold, xtc_probability, rng); sample_xtc(&candidates_p, xtc_threshold, xtc_probability, rng);
id = sample_token(&candidates_p, rng); id = sample_token(&candidates_p, rng);
} }

View file

@ -12,7 +12,7 @@ Current version indicated by LITEVER below.
--> -->
<script> <script>
const LITEVER = 216; const LITEVER = 217;
const urlParams = new URLSearchParams(window.location.search); const urlParams = new URLSearchParams(window.location.search);
var localflag = true; var localflag = true;
const STORAGE_PREFIX = (localflag?"e_":"")+"kaihordewebui_"; const STORAGE_PREFIX = (localflag?"e_":"")+"kaihordewebui_";
@ -3152,6 +3152,7 @@ Current version indicated by LITEVER below.
dynatemp_range: 0.0, dynatemp_range: 0.0,
dynatemp_exponent: 1.0, dynatemp_exponent: 1.0,
smoothing_factor: 0.0, smoothing_factor: 0.0,
nsigma: 0.0,
top_p: 0.92, top_p: 0.92,
min_p: 0.00, min_p: 0.00,
presence_penalty: 0.00, presence_penalty: 0.00,
@ -3183,6 +3184,7 @@ Current version indicated by LITEVER below.
dynatemp_range: defaultsettings.dynatemp_range, dynatemp_range: defaultsettings.dynatemp_range,
dynatemp_exponent: defaultsettings.dynatemp_exponent, dynatemp_exponent: defaultsettings.dynatemp_exponent,
smoothing_factor: defaultsettings.smoothing_factor, smoothing_factor: defaultsettings.smoothing_factor,
nsigma: defaultsettings.nsigma,
top_k: defaultsettings.top_k, top_k: defaultsettings.top_k,
top_p: defaultsettings.top_p, top_p: defaultsettings.top_p,
min_p: defaultsettings.min_p, min_p: defaultsettings.min_p,
@ -3195,7 +3197,7 @@ Current version indicated by LITEVER below.
rep_pen_slope: defaultsettings.rep_pen_slope, rep_pen_slope: defaultsettings.rep_pen_slope,
sampler_order: defaultsettings.sampler_order sampler_order: defaultsettings.sampler_order
}, },
{"preset":"Simple Logical","description":"A very predictable preset with low randomness.","temp":0.3,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"top_k":100,"top_p":0.6,"min_p":0.0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.02,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"Simple Balanced","description":"A good balanced preset with medium randomness.","temp":0.75,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"top_k":100,"top_p":0.92,"min_p":0.0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.07,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"Simple Creative","description":"A wild and unpredictable preset with higher randomness.","temp":1.0,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"top_k":100,"top_p":0.98,"min_p":0.0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.15,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"Basic Min-P","description":"A good default for Min-P, only works on backends with min-p.","temp":1.25,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"top_k":0,"top_p":1,"min_p":0.1,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.03,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,5,0,1,3,4,2]},{"preset":"Basic DynaTemp","description":"A good default for DynaTemp, only works on backends with it.","temp":1.25,"dynatemp_range":0.75,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"top_k":0,"top_p":1,"min_p":0.05,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.03,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,5,0,1,3,4,2]},{"preset":"Basic SmoothSample","description":"A good default for Smooth Sampling, only works on backends with it.","temp":1.0,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.25,"top_k":0,"top_p":1,"min_p":0.05,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.03,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,5,0,1,3,4,2]},{"preset":"Basic SillyTavern","description":"Similar to default preset used in SillyTavern.","temp":0.75,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"top_k":40,"top_p":0.6,"min_p":0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1.0,"rep_pen":1.18,"rep_pen_range":1024,"rep_pen_slope":0.8,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"Neutral (Disabled)","description":"Sets all samplers neutralized, allowing you to customize your own.","temp":1.0,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"top_k":200,"top_p":1.0,"min_p":0.0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.0,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"CoherentCreativity (Legacy)","description":"Legacy preset. A good balance between coherence, creativity, and quality of prose.","rep_pen":1.2,"rep_pen_range":360,"rep_pen_slope":0,"sampler_order":[6,5,0,2,3,1,4],"temp":0.5,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"tfs":0.99,"top_a":0,"top_k":0,"top_p":1,"min_p":0.0,"presence_penalty":0.0,"typical":1},{"preset":"Godlike (Legacy)","description":"Legacy preset. Makes AI give a descriptive and sensual output.","temp":0.7,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"top_k":0,"top_p":0.5,"min_p":0.0,"presence_penalty":0.0,"top_a":0.75,"typical":0.19,"tfs":0.97,"rep_pen":1.1,"rep_pen_range":1024,"rep_pen_slope":0.7,"sampler_order":[6,5,4,3,2,1,0]},{"preset":"LiminalDrift (Legacy)","description":"Legacy preset. Sometimes surreal situations arise based on information already present in the story.","temp":0.66,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"top_k":0,"top_p":1,"min_p":0.0,"presence_penalty":0.0,"top_a":0.96,"typical":0.6,"tfs":1,"rep_pen":1.1,"rep_pen_range":1024,"rep_pen_slope":0.7,"sampler_order":[6,4,5,1,0,2,3]} {"preset":"Simple Logical","description":"A very predictable preset with low randomness.","temp":0.3,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"top_k":100,"top_p":0.6,"min_p":0.0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.02,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"Simple Balanced","description":"A good balanced preset with medium randomness.","temp":0.75,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"top_k":100,"top_p":0.92,"min_p":0.0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.07,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"Simple Creative","description":"A wild and unpredictable preset with higher randomness.","temp":1.0,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"top_k":100,"top_p":0.98,"min_p":0.0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.15,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"Basic Min-P","description":"A good default for Min-P, only works on backends with min-p.","temp":1.25,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"top_k":0,"top_p":1,"min_p":0.1,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.03,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,5,0,1,3,4,2]},{"preset":"Basic DynaTemp","description":"A good default for DynaTemp, only works on backends with it.","temp":1.25,"dynatemp_range":0.75,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"top_k":0,"top_p":1,"min_p":0.05,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.03,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,5,0,1,3,4,2]},{"preset":"Basic SmoothSample","description":"A good default for Smooth Sampling, only works on backends with it.","temp":1.0,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.25,"top_k":0,"top_p":1,"min_p":0.05,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.03,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,5,0,1,3,4,2]},{"preset":"Basic SillyTavern","description":"Similar to default preset used in SillyTavern.","temp":0.75,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"top_k":40,"top_p":0.6,"min_p":0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1.0,"rep_pen":1.18,"rep_pen_range":1024,"rep_pen_slope":0.8,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"Neutral (Disabled)","description":"Sets all samplers neutralized, allowing you to customize your own.","temp":1.0,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"top_k":200,"top_p":1.0,"min_p":0.0,"presence_penalty":0.0,"top_a":0,"typical":1,"tfs":1,"rep_pen":1.0,"rep_pen_range":360,"rep_pen_slope":0.7,"sampler_order":[6,0,1,3,4,2,5]},{"preset":"CoherentCreativity (Legacy)","description":"Legacy preset. A good balance between coherence, creativity, and quality of prose.","rep_pen":1.2,"rep_pen_range":360,"rep_pen_slope":0,"sampler_order":[6,5,0,2,3,1,4],"temp":0.5,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"tfs":0.99,"top_a":0,"top_k":0,"top_p":1,"min_p":0.0,"presence_penalty":0.0,"typical":1},{"preset":"Godlike (Legacy)","description":"Legacy preset. Makes AI give a descriptive and sensual output.","temp":0.7,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"top_k":0,"top_p":0.5,"min_p":0.0,"presence_penalty":0.0,"top_a":0.75,"typical":0.19,"tfs":0.97,"rep_pen":1.1,"rep_pen_range":1024,"rep_pen_slope":0.7,"sampler_order":[6,5,4,3,2,1,0]},{"preset":"LiminalDrift (Legacy)","description":"Legacy preset. Sometimes surreal situations arise based on information already present in the story.","temp":0.66,"dynatemp_range":0.0,"dynatemp_exponent":1.0,"smoothing_factor":0.0,"nsigma":0.0,"top_k":0,"top_p":1,"min_p":0.0,"presence_penalty":0.0,"top_a":0.96,"typical":0.6,"tfs":1,"rep_pen":1.1,"rep_pen_range":1024,"rep_pen_slope":0.7,"sampler_order":[6,4,5,1,0,2,3]}
]; ];
const instructpresets = [ const instructpresets = [
@ -10614,6 +10616,7 @@ Current version indicated by LITEVER below.
document.getElementById("dynatemp_range").value = localsettings.dynatemp_range; document.getElementById("dynatemp_range").value = localsettings.dynatemp_range;
document.getElementById("dynatemp_exponent").value = localsettings.dynatemp_exponent; document.getElementById("dynatemp_exponent").value = localsettings.dynatemp_exponent;
document.getElementById("smoothing_factor").value = localsettings.smoothing_factor; document.getElementById("smoothing_factor").value = localsettings.smoothing_factor;
document.getElementById("nsigma").value = localsettings.nsigma;
document.getElementById("dynatemp_overview").innerText = (localsettings.dynatemp_range>0?"ON":"OFF"); document.getElementById("dynatemp_overview").innerText = (localsettings.dynatemp_range>0?"ON":"OFF");
document.getElementById("presence_penalty").value = localsettings.presence_penalty; document.getElementById("presence_penalty").value = localsettings.presence_penalty;
document.getElementById("sampler_seed").value = localsettings.sampler_seed; document.getElementById("sampler_seed").value = localsettings.sampler_seed;
@ -10804,6 +10807,7 @@ Current version indicated by LITEVER below.
document.getElementById("dynatemp_range").value = found.dynatemp_range; document.getElementById("dynatemp_range").value = found.dynatemp_range;
document.getElementById("dynatemp_exponent").value = found.dynatemp_exponent; document.getElementById("dynatemp_exponent").value = found.dynatemp_exponent;
document.getElementById("smoothing_factor").value = found.smoothing_factor; document.getElementById("smoothing_factor").value = found.smoothing_factor;
document.getElementById("nsigma").value = found.nsigma;
document.getElementById("top_k").value = document.getElementById("top_k_slide").value = found.top_k; document.getElementById("top_k").value = document.getElementById("top_k_slide").value = found.top_k;
document.getElementById("top_p").value = document.getElementById("top_p_slide").value = found.top_p; document.getElementById("top_p").value = document.getElementById("top_p_slide").value = found.top_p;
document.getElementById("top_a").value = found.top_a; document.getElementById("top_a").value = found.top_a;
@ -10883,6 +10887,7 @@ Current version indicated by LITEVER below.
document.getElementById("dynatemp_range").value != found.dynatemp_range || document.getElementById("dynatemp_range").value != found.dynatemp_range ||
document.getElementById("dynatemp_exponent").value != found.dynatemp_exponent || document.getElementById("dynatemp_exponent").value != found.dynatemp_exponent ||
document.getElementById("smoothing_factor").value != found.smoothing_factor || document.getElementById("smoothing_factor").value != found.smoothing_factor ||
document.getElementById("nsigma").value != found.nsigma ||
document.getElementById("top_k").value != found.top_k || document.getElementById("top_k").value != found.top_k ||
document.getElementById("top_p").value != found.top_p || document.getElementById("top_p").value != found.top_p ||
document.getElementById("top_a").value != found.top_a || document.getElementById("top_a").value != found.top_a ||
@ -11052,6 +11057,7 @@ Current version indicated by LITEVER below.
localsettings.dynatemp_range = parseFloat(document.getElementById("dynatemp_range").value); localsettings.dynatemp_range = parseFloat(document.getElementById("dynatemp_range").value);
localsettings.dynatemp_exponent = parseFloat(document.getElementById("dynatemp_exponent").value); localsettings.dynatemp_exponent = parseFloat(document.getElementById("dynatemp_exponent").value);
localsettings.smoothing_factor = parseFloat(document.getElementById("smoothing_factor").value); localsettings.smoothing_factor = parseFloat(document.getElementById("smoothing_factor").value);
localsettings.nsigma = parseFloat(document.getElementById("nsigma").value);
localsettings.presence_penalty = parseFloat(document.getElementById("presence_penalty").value); localsettings.presence_penalty = parseFloat(document.getElementById("presence_penalty").value);
localsettings.top_k = parseInt(document.getElementById("top_k").value); localsettings.top_k = parseInt(document.getElementById("top_k").value);
localsettings.top_a = parseFloat(document.getElementById("top_a").value); localsettings.top_a = parseFloat(document.getElementById("top_a").value);
@ -11166,6 +11172,7 @@ Current version indicated by LITEVER below.
localsettings.dynatemp_range = (localsettings.dynatemp_range>localsettings.temperature?localsettings.temperature:localsettings.dynatemp_range); localsettings.dynatemp_range = (localsettings.dynatemp_range>localsettings.temperature?localsettings.temperature:localsettings.dynatemp_range);
localsettings.dynatemp_exponent = cleannum(localsettings.dynatemp_exponent, 0.0, 10.0); localsettings.dynatemp_exponent = cleannum(localsettings.dynatemp_exponent, 0.0, 10.0);
localsettings.smoothing_factor = cleannum(localsettings.smoothing_factor, 0.0, 10.0); localsettings.smoothing_factor = cleannum(localsettings.smoothing_factor, 0.0, 10.0);
localsettings.nsigma = cleannum(localsettings.nsigma, 0.0, 5.0);
localsettings.presence_penalty = cleannum(localsettings.presence_penalty, -2, 2); localsettings.presence_penalty = cleannum(localsettings.presence_penalty, -2, 2);
localsettings.top_k = cleannum(Math.floor(localsettings.top_k), 0, 300); localsettings.top_k = cleannum(Math.floor(localsettings.top_k), 0, 300);
localsettings.top_a = cleannum(localsettings.top_a, 0, 1); localsettings.top_a = cleannum(localsettings.top_a, 0, 1);
@ -14002,6 +14009,7 @@ Current version indicated by LITEVER below.
submit_payload.params.dynatemp_range = localsettings.dynatemp_range; submit_payload.params.dynatemp_range = localsettings.dynatemp_range;
submit_payload.params.dynatemp_exponent = localsettings.dynatemp_exponent; submit_payload.params.dynatemp_exponent = localsettings.dynatemp_exponent;
submit_payload.params.smoothing_factor = localsettings.smoothing_factor; submit_payload.params.smoothing_factor = localsettings.smoothing_factor;
submit_payload.params.nsigma = localsettings.nsigma;
submit_payload.params.banned_tokens = get_token_bans(); submit_payload.params.banned_tokens = get_token_bans();
submit_payload.params.render_special = localsettings.render_special_tags; submit_payload.params.render_special = localsettings.render_special_tags;
submit_payload.params.logprobs = localsettings.request_logprobs; submit_payload.params.logprobs = localsettings.request_logprobs;
@ -14647,6 +14655,7 @@ Current version indicated by LITEVER below.
submit_payload.params.dynatemp_range = localsettings.dynatemp_range; submit_payload.params.dynatemp_range = localsettings.dynatemp_range;
submit_payload.params.dynatemp_exponent = localsettings.dynatemp_exponent; submit_payload.params.dynatemp_exponent = localsettings.dynatemp_exponent;
submit_payload.params.smoothing_factor = localsettings.smoothing_factor; submit_payload.params.smoothing_factor = localsettings.smoothing_factor;
submit_payload.params.nsigma = localsettings.nsigma;
} }
last_request_str = JSON.stringify(submit_payload); last_request_str = JSON.stringify(submit_payload);
@ -21121,6 +21130,11 @@ Current version indicated by LITEVER below.
</div> </div>
</div> </div>
</div> </div>
<div class="settinglabel settingcell">
<div title="Top N Sigma. 0 to deactivate." class="justifyleft settingsmall" style="width:100%">T.NSigma</div>
<div class="justifyleft settingsmall" style="width:100%">
<input title="Top N Sigma. 0 to deactivate." class="settinglabel miniinput" type="text" inputmode="decimal" placeholder="0" value="0" id="nsigma"></div>
</div>
</div> </div>
</div> </div>
</div> </div>

View file

@ -1117,7 +1117,7 @@ def generate(genparams, stream_flag=False):
min_p = float(genparams.get('min_p', 0.0)) min_p = float(genparams.get('min_p', 0.0))
typical_p = float(genparams.get('typical', 1.0)) typical_p = float(genparams.get('typical', 1.0))
tfs = float(genparams.get('tfs', 1.0)) tfs = float(genparams.get('tfs', 1.0))
nsigma = float(genparams.get('nsigma', -1.0)) nsigma = float(genparams.get('nsigma', 0.0))
rep_pen = float(genparams.get('rep_pen', 1.0)) rep_pen = float(genparams.get('rep_pen', 1.0))
rep_pen_range = int(genparams.get('rep_pen_range', 320)) rep_pen_range = int(genparams.get('rep_pen_range', 320))
rep_pen_slope = float(genparams.get('rep_pen_slope', 1.0)) rep_pen_slope = float(genparams.get('rep_pen_slope', 1.0))

View file

@ -29,7 +29,7 @@ struct kcpp_params {
float top_p = 0.95f; // 1.0 = disabled float top_p = 0.95f; // 1.0 = disabled
float min_p = 0.0f; // 0.0 = disabled float min_p = 0.0f; // 0.0 = disabled
float tfs_z = 1.00f; // 1.0 = disabled float tfs_z = 1.00f; // 1.0 = disabled
float nsigma = -1.00f; // -1.0 - disabled float nsigma = 0.00f; // 0.0 - disabled
float typical_p = 1.00f; // 1.0 = disabled float typical_p = 1.00f; // 1.0 = disabled
float temp = 0.80f; // 1.0 = disabled float temp = 0.80f; // 1.0 = disabled
float smoothing_factor = 0.00f; // 0.00 = disabled float smoothing_factor = 0.00f; // 0.00 = disabled