





"""simple docstring"""







from collections import deque

from .hash_table import HashTable




class __magic_name__   (       __UpperCamelCase		):
       def __init__(     self   ,  *__magic_name__   ,  **__magic_name__	):





         """simple docstring"""


         super().__init__(*__UpperCAmelCase   ,  **__UpperCAmelCase	)
       def 		_lowerCamelCase   (     self   ,  __magic_name__   ,  __magic_name__	):





         """simple docstring"""


         _lowerCAmelCase	      =					deque([]	) if self.values[key] is None else self.values[key]
         self.values[key].appendleft(__UpperCAmelCase	)
         _lowerCAmelCase	      =					self.values[key]
       def 		_lowerCamelCase   (     self	):





         """simple docstring"""


         return (
             sum(self.charge_factor - len(__UpperCAmelCase	) for slot in self.values	)
             / self.size_table
             * self.charge_factor
         )
       def 		_lowerCamelCase   (     self   ,  __magic_name__   ,  __magic_name__=None	):





         """simple docstring"""


         if not (
             len(self.values[key]	) == self.charge_factor and self.values.count(__UpperCAmelCase	) == 0
         ):
           return key
         return super()._collision_resolution(__UpperCAmelCase   ,  __UpperCAmelCase	)











# coding=utf-8
# Copyright 2020 The HuggingFace Inc. team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# this script dumps information about the environment

import os
import sys

import transformers


UpperCAmelCase__      			=						'''3'''

print('''Python version:''', sys.version)
print('''transformers version:''', transformers.__version__)

try:
			import torch

			print('''Torch version:''', torch.__version__)
			print('''Cuda available:''', torch.cuda.is_available())
			print('''Cuda version:''', torch.version.cuda)
			print('''CuDNN version:''', torch.backends.cudnn.version())
			print('''Number of GPUs available:''', torch.cuda.device_count())
			print('''NCCL version:''', torch.cuda.nccl.version())
except ImportError:
			print('''Torch version:''', None)

try:
			import deepspeed

			print('''DeepSpeed version:''', deepspeed.__version__)
except ImportError:
			print('''DeepSpeed version:''', None)

try:
			import tensorflow as tf

			print('''TensorFlow version:''', tf.__version__)
			print('''TF GPUs available:''', bool(tf.config.list_physical_devices('''GPU''')))
			print('''Number of TF GPUs available:''', len(tf.config.list_physical_devices('''GPU''')))
except ImportError:
			print('''TensorFlow version:''', None)





