diff --git a/modules/models_settings.py b/modules/models_settings.py index 15985608..3d98568a 100644 --- a/modules/models_settings.py +++ b/modules/models_settings.py @@ -459,26 +459,19 @@ def update_gpu_layers_and_vram(loader, model, gpu_layers, ctx_size, cache_type, else: return (0, gpu_layers) if auto_adjust else 0 + # Get model settings including user preferences + model_settings = get_model_metadata(model) + current_layers = gpu_layers - max_layers = gpu_layers + max_layers = model_settings.get('max_gpu_layers', 256) if auto_adjust: - # Get model settings including user preferences - model_settings = get_model_metadata(model) - - # Get the true maximum layers - max_layers = model_settings.get('max_gpu_layers', model_settings.get('gpu_layers', gpu_layers)) - # Check if this is a user-saved setting user_config = shared.user_config model_regex = Path(model).name + '$' has_user_setting = model_regex in user_config and 'gpu_layers' in user_config[model_regex] - if has_user_setting: - # For user settings, just use the current value (which already has user pref) - # but ensure the slider maximum is correct - current_layers = gpu_layers # Already has user setting - else: + if not has_user_setting: # No user setting, auto-adjust from the maximum current_layers = max_layers # Start from max