From 72580868d6cc5911e390834ce01f6186fa32ea4b Mon Sep 17 00:00:00 2001 From: ydshieh Date: Fri, 1 Sep 2023 15:07:10 +0200 Subject: [PATCH 1/4] update --- src/transformers/pipelines/base.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/transformers/pipelines/base.py b/src/transformers/pipelines/base.py index f1af0f865b903f..5f8c10c192fee1 100644 --- a/src/transformers/pipelines/base.py +++ b/src/transformers/pipelines/base.py @@ -19,6 +19,7 @@ import os import pickle import sys +import traceback import types import warnings from abc import ABC, abstractmethod @@ -248,6 +249,7 @@ def infer_framework_load_model( if len(class_tuple) == 0: raise ValueError(f"Pipeline cannot infer suitable model classes from {model}") + all_traceback = {} for model_class in class_tuple: kwargs = model_kwargs.copy() if framework == "pt" and model.endswith(".h5"): @@ -270,10 +272,11 @@ def infer_framework_load_model( # Stop loading on the first successful load. break except (OSError, ValueError): + all_traceback[model_class.__name__] = traceback.format_exc() continue if isinstance(model, str): - raise ValueError(f"Could not load model {model} with any of the following classes: {class_tuple}.") + raise ValueError(f"Could not load model {model} with any of the following classes: {class_tuple}. See the original errors:\n{all_traceback}") if framework is None: framework = infer_framework(model.__class__) From aa2b894ae5302794aef050213e75cfc031937c7f Mon Sep 17 00:00:00 2001 From: ydshieh Date: Fri, 1 Sep 2023 15:23:03 +0200 Subject: [PATCH 2/4] update --- src/transformers/pipelines/base.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/transformers/pipelines/base.py b/src/transformers/pipelines/base.py index 5f8c10c192fee1..b5c16e419db369 100644 --- a/src/transformers/pipelines/base.py +++ b/src/transformers/pipelines/base.py @@ -276,7 +276,10 @@ def infer_framework_load_model( continue if isinstance(model, str): - raise ValueError(f"Could not load model {model} with any of the following classes: {class_tuple}. See the original errors:\n{all_traceback}") + error = "" + for class_name, trace in all_traceback.values(): + error += f"while loading with {class_name}, an error is thrown:\n{trace}\n" + raise ValueError(f"Could not load model {model} with any of the following classes: {class_tuple}. See the original errors:\n\n{error}\n") if framework is None: framework = infer_framework(model.__class__) From 10733f201406fe94f23f4132293838427d4b05b1 Mon Sep 17 00:00:00 2001 From: ydshieh Date: Fri, 1 Sep 2023 15:29:57 +0200 Subject: [PATCH 3/4] update --- src/transformers/pipelines/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/transformers/pipelines/base.py b/src/transformers/pipelines/base.py index b5c16e419db369..90254e28764594 100644 --- a/src/transformers/pipelines/base.py +++ b/src/transformers/pipelines/base.py @@ -277,7 +277,7 @@ def infer_framework_load_model( if isinstance(model, str): error = "" - for class_name, trace in all_traceback.values(): + for class_name, trace in all_traceback.items(): error += f"while loading with {class_name}, an error is thrown:\n{trace}\n" raise ValueError(f"Could not load model {model} with any of the following classes: {class_tuple}. See the original errors:\n\n{error}\n") From a5ab2bea31b80fba8facd1e2ad8a1ebc970e4bcb Mon Sep 17 00:00:00 2001 From: ydshieh Date: Fri, 1 Sep 2023 15:36:30 +0200 Subject: [PATCH 4/4] update --- src/transformers/pipelines/base.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/transformers/pipelines/base.py b/src/transformers/pipelines/base.py index 90254e28764594..da396b8fdc55c0 100644 --- a/src/transformers/pipelines/base.py +++ b/src/transformers/pipelines/base.py @@ -279,7 +279,9 @@ def infer_framework_load_model( error = "" for class_name, trace in all_traceback.items(): error += f"while loading with {class_name}, an error is thrown:\n{trace}\n" - raise ValueError(f"Could not load model {model} with any of the following classes: {class_tuple}. See the original errors:\n\n{error}\n") + raise ValueError( + f"Could not load model {model} with any of the following classes: {class_tuple}. See the original errors:\n\n{error}\n" + ) if framework is None: framework = infer_framework(model.__class__)