diff --git a/paddlespeech/audio/utils/__init__.py b/paddlespeech/audio/utils/__init__.py index 742f9f8efdf50b5992712fa7f2d48b0a16902dd5..f1e5deb0ac516cce6a1854140c5195060142ad66 100644 --- a/paddlespeech/audio/utils/__init__.py +++ b/paddlespeech/audio/utils/__init__.py @@ -11,8 +11,8 @@ # 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. -from ...cli.utils import DATA_HOME -from ...cli.utils import MODEL_HOME +from ...utils.env import DATA_HOME +from ...utils.env import MODEL_HOME from .download import decompress from .download import download_and_decompress from .download import load_state_dict_from_url diff --git a/paddlespeech/cli/asr/infer.py b/paddlespeech/cli/asr/infer.py index a943ccfa77c2b66a09d8c60e04f9e6f872742722..24839a8988ca8adcde8ad015f8abdd0ff4a3b9d9 100644 --- a/paddlespeech/cli/asr/infer.py +++ b/paddlespeech/cli/asr/infer.py @@ -26,11 +26,11 @@ import paddle import soundfile from yacs.config import CfgNode +from ...utils.env import MODEL_HOME from ..download import get_path_from_url from ..executor import BaseExecutor from ..log import logger from ..utils import CLI_TIMER -from ..utils import MODEL_HOME from ..utils import stats_wrapper from ..utils import timer_register from paddlespeech.s2t.frontend.featurizer.text_featurizer import TextFeaturizer diff --git a/paddlespeech/cli/st/infer.py b/paddlespeech/cli/st/infer.py index e1ce181af351c4bf651a913d2de7005c5dc37e51..4e099c4021eca94bfea64eaefcd66267136eada1 100644 --- a/paddlespeech/cli/st/infer.py +++ b/paddlespeech/cli/st/infer.py @@ -26,10 +26,10 @@ import soundfile from kaldiio import WriteHelper from yacs.config import CfgNode +from ...utils.env import MODEL_HOME from ..executor import BaseExecutor from ..log import logger from ..utils import download_and_decompress -from ..utils import MODEL_HOME from ..utils import stats_wrapper from paddlespeech.s2t.frontend.featurizer.text_featurizer import TextFeaturizer from paddlespeech.s2t.utils.utility import UpdateConfig diff --git a/paddlespeech/cli/utils.py b/paddlespeech/cli/utils.py index 0161629e8d074bb447bfbae1412c41553e415321..60f56f424f1663eed4765660574ce320ab9fa2d3 100644 --- a/paddlespeech/cli/utils.py +++ b/paddlespeech/cli/utils.py @@ -30,6 +30,7 @@ import yaml from paddle.framework import load from . import download +from ..utils.env import CONF_HOME from .entry import commands try: from .. import __version__ @@ -161,38 +162,6 @@ def load_state_dict_from_url(url: str, path: str, md5: str=None) -> os.PathLike: return load(os.path.join(path, os.path.basename(url))) -def _get_user_home(): - return os.path.expanduser('~') - - -def _get_paddlespcceh_home(): - if 'PPSPEECH_HOME' in os.environ: - home_path = os.environ['PPSPEECH_HOME'] - if os.path.exists(home_path): - if os.path.isdir(home_path): - return home_path - else: - raise RuntimeError( - 'The environment variable PPSPEECH_HOME {} is not a directory.'. - format(home_path)) - else: - return home_path - return os.path.join(_get_user_home(), '.paddlespeech') - - -def _get_sub_home(directory): - home = os.path.join(_get_paddlespcceh_home(), directory) - if not os.path.exists(home): - os.makedirs(home) - return home - - -PPSPEECH_HOME = _get_paddlespcceh_home() -MODEL_HOME = _get_sub_home('models') -CONF_HOME = _get_sub_home('conf') -DATA_HOME = _get_sub_home('datasets') - - def _md5(text: str): '''Calculate the md5 value of the input text.''' md5code = hashlib.md5(text.encode()) diff --git a/paddlespeech/cls/models/panns/panns.py b/paddlespeech/cls/models/panns/panns.py index 4befe7aa4fe06682c17ea0264a18aee728dbb1fc..37deae80c847757d716acf123f037b60d7fd3d91 100644 --- a/paddlespeech/cls/models/panns/panns.py +++ b/paddlespeech/cls/models/panns/panns.py @@ -16,8 +16,8 @@ import os import paddle.nn as nn import paddle.nn.functional as F -from paddlespeech.audio.utils import MODEL_HOME from paddlespeech.audio.utils.download import load_state_dict_from_url +from paddlespeech.utils.env import MODEL_HOME __all__ = ['CNN14', 'CNN10', 'CNN6', 'cnn14', 'cnn10', 'cnn6'] diff --git a/paddlespeech/resource/resource.py b/paddlespeech/resource/resource.py index 15112ba7d2d7306ff064a7dc500c2270d40f69ef..45707eb442615c1f9de87ebc6443e518deb8788f 100644 --- a/paddlespeech/resource/resource.py +++ b/paddlespeech/resource/resource.py @@ -18,8 +18,8 @@ from typing import List from typing import Optional from ..cli.utils import download_and_decompress -from ..cli.utils import MODEL_HOME from ..utils.dynamic_import import dynamic_import +from ..utils.env import MODEL_HOME from .model_alias import model_alias task_supported = ['asr', 'cls', 'st', 'text', 'tts', 'vector'] diff --git a/paddlespeech/server/engine/asr/online/onnx/asr_engine.py b/paddlespeech/server/engine/asr/online/onnx/asr_engine.py index aab29f78e1ff0f4b08dad3e231a3135178b70d04..0679316437f8b050773c69986430640bbc83a6dd 100644 --- a/paddlespeech/server/engine/asr/online/onnx/asr_engine.py +++ b/paddlespeech/server/engine/asr/online/onnx/asr_engine.py @@ -23,7 +23,6 @@ from yacs.config import CfgNode from paddlespeech.cli.asr.infer import ASRExecutor from paddlespeech.cli.log import logger -from paddlespeech.cli.utils import MODEL_HOME from paddlespeech.resource import CommonTaskResource from paddlespeech.s2t.frontend.featurizer.text_featurizer import TextFeaturizer from paddlespeech.s2t.modules.ctc import CTCDecoder @@ -31,6 +30,7 @@ from paddlespeech.s2t.transform.transformation import Transformation from paddlespeech.s2t.utils.utility import UpdateConfig from paddlespeech.server.engine.base_engine import BaseEngine from paddlespeech.server.utils import onnx_infer +from paddlespeech.utils.env import MODEL_HOME __all__ = ['PaddleASRConnectionHanddler', 'ASRServerExecutor', 'ASREngine'] diff --git a/paddlespeech/server/engine/asr/online/paddleinference/asr_engine.py b/paddlespeech/server/engine/asr/online/paddleinference/asr_engine.py index a450e430b2b9b43244f50643d99276ef9ac6bfe4..efb726aaff3813a456cfac37f641a057fd2d5ed6 100644 --- a/paddlespeech/server/engine/asr/online/paddleinference/asr_engine.py +++ b/paddlespeech/server/engine/asr/online/paddleinference/asr_engine.py @@ -23,7 +23,6 @@ from yacs.config import CfgNode from paddlespeech.cli.asr.infer import ASRExecutor from paddlespeech.cli.log import logger -from paddlespeech.cli.utils import MODEL_HOME from paddlespeech.resource import CommonTaskResource from paddlespeech.s2t.frontend.featurizer.text_featurizer import TextFeaturizer from paddlespeech.s2t.modules.ctc import CTCDecoder @@ -31,6 +30,7 @@ from paddlespeech.s2t.transform.transformation import Transformation from paddlespeech.s2t.utils.utility import UpdateConfig from paddlespeech.server.engine.base_engine import BaseEngine from paddlespeech.server.utils.paddle_predictor import init_predictor +from paddlespeech.utils.env import MODEL_HOME __all__ = ['PaddleASRConnectionHanddler', 'ASRServerExecutor', 'ASREngine'] diff --git a/paddlespeech/server/engine/asr/online/python/asr_engine.py b/paddlespeech/server/engine/asr/online/python/asr_engine.py index c22cbbe5f2b34f4ab284b7ba41eefefaaa3b3c42..daa9fc500d5092d63bbda449dc35f9f93559491a 100644 --- a/paddlespeech/server/engine/asr/online/python/asr_engine.py +++ b/paddlespeech/server/engine/asr/online/python/asr_engine.py @@ -23,7 +23,6 @@ from yacs.config import CfgNode from paddlespeech.cli.asr.infer import ASRExecutor from paddlespeech.cli.log import logger -from paddlespeech.cli.utils import MODEL_HOME from paddlespeech.resource import CommonTaskResource from paddlespeech.s2t.frontend.featurizer.text_featurizer import TextFeaturizer from paddlespeech.s2t.modules.ctc import CTCDecoder @@ -36,6 +35,7 @@ from paddlespeech.server.engine.asr.online.ctc_endpoint import OnlineCTCEndpoint from paddlespeech.server.engine.asr.online.ctc_search import CTCPrefixBeamSearch from paddlespeech.server.engine.base_engine import BaseEngine from paddlespeech.server.utils.paddle_predictor import init_predictor +from paddlespeech.utils.env import MODEL_HOME __all__ = ['PaddleASRConnectionHanddler', 'ASRServerExecutor', 'ASREngine'] diff --git a/paddlespeech/server/engine/asr/paddleinference/asr_engine.py b/paddlespeech/server/engine/asr/paddleinference/asr_engine.py index 1a3b4620a6de8ee829216e5b1f78b0682d5aa83d..572004eb8a7b707563ebceaefe58b98e68cfd12f 100644 --- a/paddlespeech/server/engine/asr/paddleinference/asr_engine.py +++ b/paddlespeech/server/engine/asr/paddleinference/asr_engine.py @@ -21,7 +21,6 @@ from yacs.config import CfgNode from paddlespeech.cli.asr.infer import ASRExecutor from paddlespeech.cli.log import logger -from paddlespeech.cli.utils import MODEL_HOME from paddlespeech.resource import CommonTaskResource from paddlespeech.s2t.frontend.featurizer.text_featurizer import TextFeaturizer from paddlespeech.s2t.modules.ctc import CTCDecoder @@ -29,6 +28,7 @@ from paddlespeech.s2t.utils.utility import UpdateConfig from paddlespeech.server.engine.base_engine import BaseEngine from paddlespeech.server.utils.paddle_predictor import init_predictor from paddlespeech.server.utils.paddle_predictor import run_model +from paddlespeech.utils.env import MODEL_HOME __all__ = ['ASREngine', 'PaddleASRConnectionHandler'] diff --git a/paddlespeech/utils/env.py b/paddlespeech/utils/env.py new file mode 100644 index 0000000000000000000000000000000000000000..03c8757bc2b16d810962ac862a743570d729fb19 --- /dev/null +++ b/paddlespeech/utils/env.py @@ -0,0 +1,46 @@ +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +# +# 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. +import os + + +def _get_user_home(): + return os.path.expanduser('~') + + +def _get_paddlespcceh_home(): + if 'PPSPEECH_HOME' in os.environ: + home_path = os.environ['PPSPEECH_HOME'] + if os.path.exists(home_path): + if os.path.isdir(home_path): + return home_path + else: + raise RuntimeError( + 'The environment variable PPSPEECH_HOME {} is not a directory.'. + format(home_path)) + else: + return home_path + return os.path.join(_get_user_home(), '.paddlespeech') + + +def _get_sub_home(directory): + home = os.path.join(_get_paddlespcceh_home(), directory) + if not os.path.exists(home): + os.makedirs(home) + return home + + +PPSPEECH_HOME = _get_paddlespcceh_home() +MODEL_HOME = _get_sub_home('models') +CONF_HOME = _get_sub_home('conf') +DATA_HOME = _get_sub_home('datasets')