Kaynağa Gözat

disable pir by default

gaotingquan 1 yıl önce
ebeveyn
işleme
c2f274040d

+ 0 - 2
paddlex/__init__.py

@@ -26,8 +26,6 @@ from .modules import (
     build_trainer,
     build_evaluater,
 )
-
-
 from .model import create_model
 from .inference import create_predictor, create_pipeline
 

+ 2 - 4
paddlex/inference/components/paddle_predictor/predictor.py

@@ -17,6 +17,7 @@ from abc import abstractmethod
 import lazy_paddle as paddle
 import numpy as np
 
+from ....utils.flags import FLAGS_json_format_model
 from ....utils import logging
 from ...utils.pp_option import PaddlePredictorOption
 from ..utils.mixin import PPEngineMixin
@@ -53,10 +54,7 @@ class BasePaddlePredictor(BaseComponent, PPEngineMixin):
         """_create"""
         from lazy_paddle.inference import Config, create_predictor
 
-        use_pir = (
-            hasattr(paddle.framework, "use_pir_api") and paddle.framework.use_pir_api()
-        )
-        model_postfix = ".json" if use_pir else ".pdmodel"
+        model_postfix = ".json" if FLAGS_json_format_model else ".pdmodel"
         model_file = (self.model_dir / f"{self.model_prefix}{model_postfix}").as_posix()
         params_file = (self.model_dir / f"{self.model_prefix}.pdiparams").as_posix()
         config = Config(model_file, params_file)

+ 0 - 1
paddlex/inference/components/task_related/text_rec.py

@@ -21,7 +21,6 @@ import numpy as np
 from PIL import Image
 import cv2
 import math
-import lazy_paddle as paddle
 import json
 import tempfile
 from tokenizers import Tokenizer as TokenizerFast

+ 0 - 1
paddlex/modules/anomaly_detection/trainer.py

@@ -16,7 +16,6 @@
 import os
 import glob
 from pathlib import Path
-import lazy_paddle as paddle
 
 from ..base import BaseTrainer
 from ...utils.config import AttrDict

+ 0 - 1
paddlex/modules/image_classification/trainer.py

@@ -14,7 +14,6 @@
 
 import json
 import shutil
-import lazy_paddle as paddle
 from pathlib import Path
 
 from ..base import BaseTrainer

+ 0 - 1
paddlex/modules/multilabel_classification/trainer.py

@@ -14,7 +14,6 @@
 
 import json
 import shutil
-import lazy_paddle as paddle
 from pathlib import Path
 
 from ..base import BaseTrainer

+ 0 - 1
paddlex/modules/object_detection/trainer.py

@@ -14,7 +14,6 @@
 
 
 from pathlib import Path
-import lazy_paddle as paddle
 
 from ..base import BaseTrainer
 from ...utils.config import AttrDict

+ 0 - 1
paddlex/modules/semantic_segmentation/trainer.py

@@ -16,7 +16,6 @@
 import os
 import glob
 from pathlib import Path
-import lazy_paddle as paddle
 
 from ..base import BaseTrainer
 from ...utils.config import AttrDict

+ 0 - 1
paddlex/modules/table_recognition/trainer.py

@@ -15,7 +15,6 @@
 
 import os
 from pathlib import Path
-import lazy_paddle as paddle
 
 from ..base import BaseTrainer
 from ...utils.config import AttrDict

+ 0 - 1
paddlex/modules/text_detection/trainer.py

@@ -15,7 +15,6 @@
 
 import os
 from pathlib import Path
-import lazy_paddle as paddle
 
 from ..base import BaseTrainer
 from ...utils.config import AttrDict

+ 0 - 1
paddlex/modules/text_recognition/trainer.py

@@ -16,7 +16,6 @@
 import os
 import shutil
 from pathlib import Path
-import lazy_paddle as paddle
 
 from ..base import BaseTrainer
 from ...utils.config import AttrDict

+ 0 - 1
paddlex/modules/ts_anomaly_detection/trainer.py

@@ -17,7 +17,6 @@ import json
 import time
 from pathlib import Path
 import tarfile
-import lazy_paddle as paddle
 
 from ..base import BaseTrainer
 from ...utils.config import AttrDict

+ 0 - 1
paddlex/modules/ts_classification/trainer.py

@@ -17,7 +17,6 @@ import json
 import time
 import tarfile
 from pathlib import Path
-import lazy_paddle as paddle
 
 from ..base import BaseTrainer
 from ...utils.config import AttrDict

+ 0 - 1
paddlex/modules/ts_forecast/trainer.py

@@ -17,7 +17,6 @@ import json
 import time
 import tarfile
 from pathlib import Path
-import lazy_paddle as paddle
 
 from ..base import BaseTrainer
 from ...utils.config import AttrDict

+ 8 - 1
paddlex/utils/flags.py

@@ -15,7 +15,13 @@
 
 import os
 
-__all__ = ["DEBUG", "DRY_RUN", "CHECK_OPTS", "EAGER_INITIALIZATION"]
+__all__ = [
+    "DEBUG",
+    "DRY_RUN",
+    "CHECK_OPTS",
+    "EAGER_INITIALIZATION",
+    "FLAGS_json_format_model",
+]
 
 
 def get_flag_from_env_var(name, default):
@@ -33,3 +39,4 @@ DEBUG = get_flag_from_env_var("PADDLE_PDX_DEBUG", False)
 DRY_RUN = get_flag_from_env_var("PADDLE_PDX_DRY_RUN", False)
 CHECK_OPTS = get_flag_from_env_var("PADDLE_PDX_CHECK_OPTS", False)
 EAGER_INITIALIZATION = get_flag_from_env_var("PADDLE_PDX_EAGER_INIT", True)
+FLAGS_json_format_model = get_flag_from_env_var("FLAGS_json_format_model", None)

+ 15 - 0
paddlex/utils/lazy_loader.py

@@ -15,6 +15,18 @@
 # Code copied from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/util/lazy_loader.py
 import importlib
 import types
+import os
+
+from . import logging
+from .flags import FLAGS_json_format_model
+
+
+def disable_pir_bydefault():
+    # FLAGS_json_format_model not set
+    if not FLAGS_json_format_model:
+        os.environ["FLAGS_json_format_model"] = "0"
+        os.environ["FLAGS_enable_pir_api"] = "0"
+        logging.debug("FLAGS_enable_pir_api has been set 0")
 
 
 class LazyLoader(types.ModuleType):
@@ -35,6 +47,9 @@ class LazyLoader(types.ModuleType):
         module = importlib.import_module(self.__name__)
         self._parent_module_globals[self._local_name] = module
         self._module = module
+        # TODO(gaotingquan): disable PIR using Flag
+        if self.__name__ == "paddle":
+            disable_pir_bydefault()
 
     def __getattr__(self, item):
         if not self.loaded: