�
%�g� � �6 � d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddl
mZ ddlm
Z
mZ ddlmZ ddlmZmZmZmZmZmZmZ ddlZdd lmZmZmZmZmZm Z dd
l!m"Z"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, ddl-m.Z.m/Z/ erdd
l0m1Z1 ej2 e3� � Z4 G d� d� � Z5 G d� dej6 � � Z7 G d� dej8 e7�� � Z9e
G d� de5� � � � Z: G d� de9� � Z;e
G d� de5� � � � Z<e
G d� de5� � � � Z=e
G d� de5� � � � Z>ed Z?ed Z@ed! ZAed" ZBe
G d#� d$e5� � � � ZCe
G d%� d&e5� � � � ZDe
G d'� d(e5� � � � ZEe
G d)� d*eDeE� � � � ZFed+ ZGe
G d,� d-e5� � � � ZH G d.� d/eIej8 � � ZJ G d0� d1eIej8 � � ZK G d2� d3eIej8 � � ZL G d4� d5eIej8 � � ZM G d6� d7eIe9� � ZN G d8� d9e9� � ZO G d:� d;eIe9� � ZP G d<� d=e9� � ZQ G d>� d?ej8 � � ZRe
G d@� dA� � � � ZSe
G dB� dC� � � � ZTe
G dD� dE� � � � ZUe
G dF� dGe5� � � � ZVe
G dH� dIe5� � � � ZWe
G dJ� dK� � � � ZXe
G dL� dM� � � � ZYe
G dN� dO� � � � ZZe
G dP� dQ� � � � Z[i Z\dReIfdS�Z] e]dT� � dU� � � Z^ e]dV� � dW� � � Z_ e]dX� � dY� � � Z` e]dZ� � d[� � � Zae
G d\� d]� � � � Zbd^� ZcdS )_z1
General namespace and dataclass related classes
� N)�Iterable)�contextmanager)� dataclass�field)� timedelta)�
TYPE_CHECKING�Any�Callable�Literal�Optional�Union�get_args� )�!BETA_TP_AVAILABLE_PYTORCH_VERSION�FSDP_AUTO_WRAP_POLICY�FSDP_BACKWARD_PREFETCH�FSDP_SHARDING_STRATEGY�(MITA_PROFILING_AVAILABLE_PYTORCH_VERSION�'XPU_PROFILING_AVAILABLE_PYTORCH_VERSION)�parse_flag_from_env�str_to_bool)�is_cuda_available�is_hpu_available�is_mlu_available�is_msamp_available�is_musa_available�is_npu_available�is_transformer_engine_available�is_xpu_available)�compare_versions�is_torch_version)�Float8LinearConfigc � � e Zd ZdZd� Zd� ZdS )�
KwargsHandlerzP
Internal mixin that implements a `to_kwargs()` method for a dataclass.
c �4 � t j | j � � S �N)�copy�deepcopy�__dict__��selfs �l/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/accelerate/utils/dataclasses.py�to_dictzKwargsHandler.to_dictD s � ��}�T�]�+�+�+� c � �� ddl m} |� � 5 | � � � � � � �ddd� � n# 1 swxY w Y | � � � }�fd�|� � � D � � S )zv
Returns a dictionary containing the attributes with values different from the default of this class.
r )�clear_environmentNc �4 �� i | ]\ }}�| |k �||��S � r2 )�.0�k�v�default_dicts �r, �
<dictcomp>z+KwargsHandler.to_kwargs.<locals>.<dictcomp>Q s- �� �K�K�K���A�l�1�o��6J�6J��1�6J�6J�6Jr. )�environmentr0 � __class__r- �items)r+ r0 � this_dictr6 s @r, � to_kwargszKwargsHandler.to_kwargsG s� �� �
3�2�2�2�2�2�
�
�
�
� 6� 6��>�>�+�+�3�3�5�5�L� 6� 6� 6� 6� 6� 6� 6� 6� 6� 6� 6���� 6� 6� 6� 6��L�L�N�N� �K�K�K�K����!2�!2�K�K�K�Ks �'A�A �A N)�__name__�
__module__�__qualname__�__doc__r- r<