Optimum documentation

RyzenAIModel

You are viewing v1.20.0 version. A newer version v1.23.3 is available.
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

RyzenAIModel

class optimum.amd.ryzenai.RyzenAIModel

< >

( model: InferenceSession config: PretrainedConfig vaip_config: Union = None model_save_dir: Union = None preprocessors: Optional = None **kwargs )

Base class for implementing models using ONNX Runtime.

The RyzenAIModel implements generic methods for interacting with the Hugging Face Hub as well as exporting vanilla transformers models to ONNX using optimum.exporters.onnx toolchain.

Class attributes:

  • model_type (str, defaults to "onnx_model") — The name of the model type to use when registering the RyzenAIModel classes.
  • auto_model_class (Type, defaults to AutoModel) — The “AutoModel” class to represented by the current RyzenAIModel class.

Common attributes:

  • model (ort.InferenceSession) — The ONNX Runtime InferenceSession that is running the model.
  • config (PretrainedConfig — The configuration of the model.
  • model_save_dir (Path) — The directory where the model exported to ONNX is saved. By defaults, if the loaded model is local, the directory where the original model will be used. Otherwise, the cache directory is used.
  • providers (`List[str]) — The list of execution providers available to ONNX Runtime.

from_pretrained

< >

( model_id: Union vaip_config: str = None export: bool = False force_download: bool = False use_auth_token: Optional = None cache_dir: Optional = None subfolder: str = '' config: Optional = None local_files_only: bool = False provider: str = 'VitisAIExecutionProvider' session_options: Optional = None provider_options: Optional = None trust_remote_code: bool = False revision: Optional = None library_name: Optional = None **kwargs ) RyzenAIModel

Parameters

  • model_id (Union[str, Path]) — Can be either:

    • A string, the model id of a pretrained model hosted inside a model repo on huggingface.co. Valid model ids can be located at the root-level, like bert-base-uncased, or namespaced under a user or organization name, like dbmdz/bert-base-german-cased.
    • A path to a directory containing a model saved using ~OptimizedModel.save_pretrained, e.g., ./my_model_directory/.
  • from_transformers (bool, defaults to False) — Defines whether the provided model_id contains a vanilla Transformers checkpoint.
  • force_download (bool, defaults to True) — Whether or not to force the (re-)download of the model weights and configuration files, overriding the cached versions if they exist.
  • use_auth_token (Optional[str], defaults to None) — The token to use as HTTP bearer authorization for remote files. If True, will use the token generated when running transformers-cli login (stored in ~/.huggingface).
  • cache_dir (Optional[str], defaults to None) — Path to a directory in which a downloaded pretrained model configuration should be cached if the standard cache should not be used.
  • subfolder (str, defaults to "") — In case the relevant files are located inside a subfolder of the model repo either locally or on huggingface.co, you can specify the folder name here.
  • config (Optional[transformers.PretrainedConfig], defaults to None) — The model configuration.
  • local_files_only (Optional[bool], defaults to False) — Whether or not to only look at local files (i.e., do not try to download the model).
  • trust_remote_code (bool, defaults to False) — Whether or not to allow for custom code defined on the Hub in their own modeling. This option should only be set to True for repositories you trust and in which you have read the code, as it will execute code present on the Hub on your local machine.
  • provider (str, defaults to "VitisAIExecutionProvider") — ONNX Runtime provider to use for loading the model. See https://onnxruntime.ai/docs/execution-providers/ for possible providers.
  • session_options (Optional[onnxruntime.SessionOptions], defaults to None), — ONNX Runtime session options to use for loading the model.
  • provider_options (Optional[Dict[str, Any]], defaults to None) — Provider option dictionaries corresponding to the provider used. See available options for each provider: https://onnxruntime.ai/docs/api/c/group___global.html .
  • kwargs (Dict[str, Any]) — Will be passed to the underlying model loading methods.

Parameters for decoder models (RyzenAIForSpeechSeq2Seq)

  • use_cache (Optional[bool], defaults to True) — Whether or not past key/values cache should be used. Defaults to True.

Returns

RyzenAIModel

The loaded RyzenAIModel model.

Instantiate a pretrained model from a pre-trained model configuration.

save_pretrained

< >

( save_directory: Union push_to_hub: bool = False **kwargs )

Parameters

  • save_directory (Union[str, os.PathLike]) — Directory to which to save. Will be created if it doesn’t exist.
  • push_to_hub (bool, optional, defaults to False) — Whether or not to push your model to the Hugging Face model hub after saving it.

    Using push_to_hub=True will synchronize the repository you are pushing to with save_directory, which requires save_directory to be a local clone of the repo you are pushing to if it’s an existing folder. Pass along temp_dir=True to use a temporary directory instead.

Saves a model and its configuration file to a directory, so that it can be re-loaded using the from_pretrained class method.

reshape

< >

( model_path: Union input_shape_dict: Dict output_shape_dict: Dict ) Union[str, Path]

Parameters

  • model_path (Union[str, Path]) — Path to the model.
  • input_shape_dict (Dict[str, Tuple[int]]) — Input shapes for the model.
  • output_shape_dict (Dict[str, Tuple[int]]) — Output shapes for the model.

Returns

Union[str, Path]

Path to the model after updating the input shapes.

Raises

ValueError

  • ValueError — If the model provided has dynamic axes in input/output and no input/output shape is provided.

Propagates the given input shapes on the model’s layers, fixing the input shapes of the model.

Computer vision

class optimum.amd.ryzenai.RyzenAIModelForImageClassification

< >

( model: InferenceSession config: PretrainedConfig vaip_config: Union = None model_save_dir: Union = None preprocessors: Optional = None **kwargs )

class optimum.amd.ryzenai.RyzenAIModelForImageToImage

< >

( model: InferenceSession config: PretrainedConfig vaip_config: Union = None model_save_dir: Union = None preprocessors: Optional = None **kwargs )

class optimum.amd.ryzenai.RyzenAIModelForObjectDetection

< >

( model: InferenceSession config: PretrainedConfig vaip_config: Union = None model_save_dir: Union = None preprocessors: Optional = None **kwargs )

class optimum.amd.ryzenai.RyzenAIModelForSemanticSegmentation

< >

( model: InferenceSession config: PretrainedConfig vaip_config: Union = None model_save_dir: Union = None preprocessors: Optional = None **kwargs )

Custom Tasks

class optimum.amd.ryzenai.RyzenAIModelForCustomTasks

< >

( model: InferenceSession config: PretrainedConfig vaip_config: Union = None model_save_dir: Union = None preprocessors: Optional = None **kwargs )

< > Update on GitHub