o
�J�hq� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
mZmZm
Z
mZmZmZmZ ddlZddlmZmZmZmZmZmZmZmZmZmZmZm Z e� r_ddl!Z!dd� Z"dUd e#d
e$fdd�Z%dUd e#d
e$fdd�Z&dd� Z'G dd� d�Z(G dd� de�Z)G dd� de�Z*G dd� de�Z+dZ,e�-de, d �Z.dd� Z/G dd � d e�Z0G d!d"� d"e�Z1G d#d$� d$e�Z2G d%d&� d&e�Z3G d'd(� d(e�Z4d)ee5e6f d*e6fd+d,�Z7d*ee5e6f fd-d.�Z8d*ee5e6f fd/d0�Z9d1d2� Z:d*ee5e6f fd3d4�Z;G d5d6� d6e�Z<d7d8� Z=d9d:� Z>dVd;d<�Z?G d=d>� d>e�Z@G d?d@� d@�ZAdAdB� ZBdCdD� ZCdEdF� ZD dWdHeEdIe#dJe$fdKdL�ZFG dMdN� dNe�ZGG dOdP� dP�ZHdUdQe5dRe$fdSdT�ZIdS )Xz6
PyTorch-independent utilities for the Trainer class.
� N)�Any�Dict�List�
NamedTuple�Optional�Tuple�Union� )�ExplicitEnum�is_psutil_available�is_tf_available�is_torch_available�is_torch_cuda_available�is_torch_mlu_available�is_torch_mps_available�is_torch_musa_available�is_torch_npu_available�is_torch_xla_available�is_torch_xpu_available�requires_backendsc C s t �� d }t|� dS )zN
Helper function to set worker seed during Dataloader initialization.
l N)�torch�initial_seed�set_seed)�_Zworker_seed� r �XC:\pinokio\api\whisper-webui.git\app\env\lib\site-packages\transformers\trainer_utils.py�seed_worker4 s r F�seed� warn_onlyc C s� t | � t� r1dtjd<