class_docstr: This is the configuration class to store the configuration of a [`GPTNeoModel`]. It is used to instantiate a GPT
  Neo model according to the specified arguments, defining the model architecture. Instantiating a configuration with
  the defaults will yield a similar configuration to that of the GPTNeo
  [EleutherAI/gpt-neo-1.3B](https://huggingface.co/EleutherAI/gpt-neo-1.3B) architecture.
  
  Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
  documentation from [`PretrainedConfig`] for more information.
  
  
  Args:
      vocab_size (`int`, *optional*, defaults to 50257):
          Vocabulary size of the GPT Neo model. Defines the number of different tokens that can be represented by the
          `inputs_ids` passed when calling [`GPTNeoModel`]. Vocabulary size of the model. Defines the different
          tokens that can be represented by the *inputs_ids* passed to the forward method of [`GPTNeoModel`].
      max_position_embeddings (`int`, *optional*, defaults to 2048):
          The maximum sequence length that this model might ever be used with. Typically set this to something large
          just in case (e.g., 512 or 1024 or 2048).
      hidden_size (`int`, *optional*, defaults to 2048):
          Dimensionality of the encoder layers and the pooler layer.
      num_layers (`int`, *optional*, defaults to 24):
          Number of hidden layers in the Transformer encoder.
      attention_types (`List`, *optional*, defaults to `[[['global', 'local'], 12]]`):
          The type of attention for each layer in a `List` of the following format `[[["attention_type"],
          num_layerss]]` e.g. for a 24 layer model `[[["global"], 24]]` or `[[["global", "local"], 12]]` Choose the
          value of `attention_type` from `["global", "local"]`
      num_heads (`int`, *optional*, defaults to 16):
          Number of attention heads for each attention layer in the Transformer encoder.
      intermediate_size (`int`, *optional*, defaults to 8192):
          Dimensionality of the "intermediate" (i.e., feed-forward) layer in the Transformer encoder.
      window_size (`int`, *optional*, defaults to 256):
          The size of the sliding window for local attention.
      activation_function (`str` or `function`, *optional*, defaults to `"gelu_new"`):
          The non-linear activation function (function or string) in the encoder and pooler. If string, `"gelu"`,
          `"relu"`, `"selu"` and `"gelu_new"` are supported.
      resid_dropout (`float`, *optional*, defaults to 0.0):
          Residual dropout used in the attention pattern.
      embed_dropout (`float`, *optional*, defaults to 0.0):
          The dropout probabilitiy for all fully connected layers in the embeddings, encoder, and pooler.
      attention_dropout (`float`, *optional*, defaults to 0.0):
          The dropout ratio for the attention probabilities.
      classifier_dropout (`float`, *optional*, defaults to 0.1):
          Argument used when doing token classification, used in the model [`GPTNeoForTokenClassification`]. The
          dropout ratio for the hidden layer.
      layer_norm_epsilon (`float`, *optional*, defaults to 1e-05):
          The epsilon used by the layer normalization layers.
      initializer_range (`float`, *optional*, defaults to 0.02):
          The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
      use_cache (`bool`, *optional*, defaults to `True`):
          Whether or not the model should return the last key/values attentions (not used by all models). Only
          relevant if `config.is_decoder=True`.
      bos_token_id (`int`, *optional*, defaults to 50256):
          The id of the beginning of sentence token in the vocabulary.
      eos_token_id (`int`, *optional*, defaults to 50256):
          The id of the end of sentence token in the vocabulary.
  
  Example:
  
  ```python
  >>> from transformers import GPTNeoConfig, GPTNeoModel
  
  >>> # Initializing a GPTNeo EleutherAI/gpt-neo-1.3B style configuration
  >>> configuration = GPTNeoConfig()
  
  >>> # Initializing a model (with random weights) from the EleutherAI/gpt-neo-1.3B style configuration
  >>> model = GPTNeoModel(configuration)
  
  >>> # Accessing the model configuration
  >>> configuration = model.config
  ```
class_docstr_tok: ["This","is","the","configuration","class","to","store","the","configuration","of","a","[","`","GPTNeoModel","`","]",".","It","is","used","to","instantiate","a","GPT","Neo","model","according","to","the","specified","arguments",",","defining","the","model","architecture",".","Instantiating","a","configuration","with","the","defaults","will","yield","a","similar","configuration","to","that","of","the","GPTNeo","[","EleutherAI\/gpt-neo-1.3B","]","(","https",":","\/\/huggingface.co\/EleutherAI\/gpt-neo-1.3B",")","architecture",".","Configuration","objects","inherit","from","[","`","PretrainedConfig","`","]","and","can","be","used","to","control","the","model","outputs",".","Read","the","documentation","from","[","`","PretrainedConfig","`","]","for","more","information",".","Args",":","vocab_size","(","`","int","`",",","*","optional","*",",","defaults","to","50257",")",":","Vocabulary","size","of","the","GPT","Neo","model",".","Defines","the","number","of","different","tokens","that","can","be","represented","by","the","`","inputs_ids","`","passed","when","calling","[","`","GPTNeoModel","`","]",".","Vocabulary","size","of","the","model",".","Defines","the","different","tokens","that","can","be","represented","by","the","*","inputs_ids","*","passed","to","the","forward","method","of","[","`","GPTNeoModel","`","]",".","max_position_embeddings","(","`","int","`",",","*","optional","*",",","defaults","to","2048",")",":","The","maximum","sequence","length","that","this","model","might","ever","be","used","with",".","Typically","set","this","to","something","large","just","in","case","(","e.g.",",","512","or","1024","or","2048",")",".","hidden_size","(","`","int","`",",","*","optional","*",",","defaults","to","2048",")",":","Dimensionality","of","the","encoder","layers","and","the","pooler","layer",".","num_layers","(","`","int","`",",","*","optional","*",",","defaults","to","24",")",":","Number","of","hidden","layers","in","the","Transformer","encoder",".","attention_types","(","`","List","`",",","*","optional","*",",","defaults","to","`","[","[","[","'global","'",",","'local","'","]",",","12","]","]","`",")",":","The","type","of","attention","for","each","layer","in","a","`","List","`","of","the","following","format","`","[","[","[","``","attention_type","''","]",",","num_layerss","]","]","`","e.g",".","for","a","24","layer","model","`","[","[","[","``","global","''","]",",","24","]","]","`","or","`","[","[","[","``","global","''",",","``","local","''","]",",","12","]","]","`","Choose","the","value","of","`","attention_type","`","from","`","[","``","global","''",",","``","local","''","]","`","num_heads","(","`","int","`",",","*","optional","*",",","defaults","to","16",")",":","Number","of","attention","heads","for","each","attention","layer","in","the","Transformer","encoder",".","intermediate_size","(","`","int","`",",","*","optional","*",",","defaults","to","8192",")",":","Dimensionality","of","the","``","intermediate","''","(","i.e.",",","feed-forward",")","layer","in","the","Transformer","encoder",".","window_size","(","`","int","`",",","*","optional","*",",","defaults","to","256",")",":","The","size","of","the","sliding","window","for","local","attention",".","activation_function","(","`","str","`","or","`","function","`",",","*","optional","*",",","defaults","to","`","``","gelu_new","''","`",")",":","The","non-linear","activation","function","(","function","or","string",")","in","the","encoder","and","pooler",".","If","string",",","`","``","gelu","''","`",",","`","``","relu","''","`",",","`","``","selu","''","`","and","`","``","gelu_new","''","`","are","supported",".","resid_dropout","(","`","float","`",",","*","optional","*",",","defaults","to","0.0",")",":","Residual","dropout","used","in","the","attention","pattern",".","embed_dropout","(","`","float","`",",","*","optional","*",",","defaults","to","0.0",")",":","The","dropout","probabilitiy","for","all","fully","connected","layers","in","the","embeddings",",","encoder",",","and","pooler",".","attention_dropout","(","`","float","`",",","*","optional","*",",","defaults","to","0.0",")",":","The","dropout","ratio","for","the","attention","probabilities",".","classifier_dropout","(","`","float","`",",","*","optional","*",",","defaults","to","0.1",")",":","Argument","used","when","doing","token","classification",",","used","in","the","model","[","`","GPTNeoForTokenClassification","`","]",".","The","dropout","ratio","for","the","hidden","layer",".","layer_norm_epsilon","(","`","float","`",",","*","optional","*",",","defaults","to","1e-05",")",":","The","epsilon","used","by","the","layer","normalization","layers",".","initializer_range","(","`","float","`",",","*","optional","*",",","defaults","to","0.02",")",":","The","standard","deviation","of","the","truncated_normal_initializer","for","initializing","all","weight","matrices",".","use_cache","(","`","bool","`",",","*","optional","*",",","defaults","to","`","True","`",")",":","Whether","or","not","the","model","should","return","the","last","key\/values","attentions","(","not","used","by","all","models",")",".","Only","relevant","if","`","config.is_decoder=True","`",".","bos_token_id","(","`","int","`",",","*","optional","*",",","defaults","to","50256",")",":","The","id","of","the","beginning","of","sentence","token","in","the","vocabulary",".","eos_token_id","(","`","int","`",",","*","optional","*",",","defaults","to","50256",")",":","The","id","of","the","end","of","sentence","token","in","the","vocabulary",".","Example",":","``","`","python",">",">",">","from","transformers","import","GPTNeoConfig",",","GPTNeoModel",">",">",">","#","Initializing","a","GPTNeo","EleutherAI\/gpt-neo-1.3B","style","configuration",">",">",">","configuration","=","GPTNeoConfig","(",")",">",">",">","#","Initializing","a","model","(","with","random","weights",")","from","the","EleutherAI\/gpt-neo-1.3B","style","configuration",">",">",">","model","=","GPTNeoModel","(","configuration",")",">",">",">","#","Accessing","the","model","configuration",">",">",">","configuration","=","model.config","``","`"]
code: def expand_attention_types_params(attention_types):
      attentions = []
      for item in attention_types:
          for _ in range(item[1]):
              attentions.extend(item[0])
      return attentions
  
file_path: transformers/src/transformers/models/gpt_neo/configuration_gpt_neo.py
imports: from collections import OrderedDict
  from typing import Any, Mapping, Optional
  from ...None import PreTrainedTokenizer, TensorType, is_torch_available
  from ...configuration_utils import PretrainedConfig
  from ...onnx import OnnxConfigWithPast
  from ...utils import logging
label_desc: Use image node_id 2 for calling the GPTNeoConfig obj's underlying member method code with example usage: obj.expand_attention_types_params(attention_types) and returns: attentions