From fbaf7c5344aca8ffc8eb22a368f953adeb2a9e96 Mon Sep 17 00:00:00 2001 From: yuhan Date: Fri, 25 Jul 2025 11:43:20 +0800 Subject: [PATCH] modify build config and anchor --- docs/mindspore/source_en/conf.py | 91 ++++++++++++++++------------- docs/mindspore/source_zh_cn/conf.py | 35 +++++++++++ resource/sphinx_ext/anchor_mod.py | 2 +- resource/sphinx_ext/nbsphinx_mod.py | 2 +- 4 files changed, 88 insertions(+), 42 deletions(-) diff --git a/docs/mindspore/source_en/conf.py b/docs/mindspore/source_en/conf.py index 501dfc0430..be2bd10d18 100644 --- a/docs/mindspore/source_en/conf.py +++ b/docs/mindspore/source_en/conf.py @@ -214,32 +214,33 @@ with open(autodoc_source_path, "r", encoding="utf8") as f: exec(code_str, sphinx_autodoc.__dict__) # Repair error decorators defined in mindspore. -try: - decorator_list = [("mindspore/common/_decorator.py", "deprecated", - " def decorate(func):", - " def decorate(func):\n\n import functools\n\n @functools.wraps(func)"), - ("mindspore/nn/optim/optimizer.py", "deprecated", - "def opt_init_args_register(fn):\n \"\"\"Register optimizer init args.\"\"\"\n", - "def opt_init_args_register(fn):\n \"\"\"Register optimizer init args.\"\"\"\n\n import functools\n\n @functools.wraps(fn)"), - ("mindspore/log.py", "deprecated", - " def __call__(self, func):\n", - " def __call__(self, func):\n import functools\n\n @functools.wraps(func)\n"), - ("mindspore/ops/primitive.py", "fix for `shard`", - " @_LogActionOnce(logger=logger, key='Primitive')", " # The decorator has been deleted."), - ("mindspore/dataset/engine/datasets.py","generate api", - " @deprecated(\"1.5\")"," # The decorator has been deleted(id1)."), - ("mindspore/dataset/engine/datasets.py","generate api", - " @check_bucket_batch_by_length"," # The decorator has been deleted(id2)."), - ("mindspore/train/summary/summary_record.py", "summary_record", - " value (Union[Tensor, GraphProto, TrainLineage, EvaluationLineage, DatasetGraph, UserDefinedInfo,\n LossLandscape]): The value to store.\n\n", - " value (Union[Tensor, GraphProto, TrainLineage, EvaluationLineage, DatasetGraph, UserDefinedInfo, LossLandscape]): The value to store.\n\n"), - ("mindspore/nn/cell.py","generate api", - " @jit_forbidden_register"," # generate api by del decorator."), - ("mindspore/profiler/dynamic_profiler.py","generate api", - " @no_exception_func()"," # generate api by del decorator.")] - - base_path = os.path.dirname(os.path.dirname(sphinx.__file__)) - for i in decorator_list: + +decorator_list = [("mindspore/common/_decorator.py", "deprecated", + " def decorate(func):", + " def decorate(func):\n\n import functools\n\n @functools.wraps(func)"), + ("mindspore/nn/optim/optimizer.py", "deprecated", + "def opt_init_args_register(fn):\n \"\"\"Register optimizer init args.\"\"\"\n", + "def opt_init_args_register(fn):\n \"\"\"Register optimizer init args.\"\"\"\n\n import functools\n\n @functools.wraps(fn)"), + ("mindspore/log.py", "deprecated", + " def __call__(self, func):\n", + " def __call__(self, func):\n import functools\n\n @functools.wraps(func)\n"), + ("mindspore/ops/primitive.py", "fix for `shard`", + " @_LogActionOnce(logger=logger, key='Primitive')", " # The decorator has been deleted."), + ("mindspore/dataset/engine/datasets.py","generate api", + " @deprecated(\"1.5\")"," # The decorator has been deleted(id1)."), + ("mindspore/dataset/engine/datasets.py","generate api", + " @check_bucket_batch_by_length"," # The decorator has been deleted(id2)."), + ("mindspore/train/summary/summary_record.py", "summary_record", + " value (Union[Tensor, GraphProto, TrainLineage, EvaluationLineage, DatasetGraph, UserDefinedInfo,\n LossLandscape]): The value to store.\n\n", + " value (Union[Tensor, GraphProto, TrainLineage, EvaluationLineage, DatasetGraph, UserDefinedInfo, LossLandscape]): The value to store.\n\n"), + ("mindspore/nn/cell.py","generate api", + " @jit_forbidden_register"," # generate api by del decorator."), + ("mindspore/profiler/dynamic_profiler.py","generate api", + " @no_exception_func()"," # generate api by del decorator.")] + +base_path = os.path.dirname(os.path.dirname(sphinx.__file__)) +for i in decorator_list: + try: with open(os.path.join(base_path, os.path.normpath(i[0])), "r+", encoding="utf8") as f: content = f.read() if i[3] not in content: @@ -247,18 +248,30 @@ try: f.seek(0) f.truncate() f.write(content) -except: - print('mindspore替换安装包内容失败') + except: + print(f'替换{i[0]}下内容失败') # Repair error content defined in mindspore. -try: - decorator_list = [("mindspore/common/dtype.py","del decorator", - "@enum.unique","# generate api by del decorator."), - ("mindspore/common/dtype.py","del class", - "class QuantDtype(enum.Enum):","class QuantDtype():")] - - base_path = os.path.dirname(os.path.dirname(sphinx.__file__)) - for i in decorator_list: +decorator_list = [("mindspore/common/dtype.py","del decorator", + "@enum.unique","# generate api by del decorator."), + ("mindspore/common/dtype.py","del class", + "class QuantDtype(enum.Enum):","class QuantDtype():"), + ("mindspore/nn/optim/adam.py","del url", + ", refer\n document `LossScale `_ to\n process `loss_scale` correctly",""), + ("mindspore/train/amp.py","del url", + "\n For details on automatic mixed precision, refer to\n `Automatic Mix Precision `_ .",""), + ("mindspore/nn/optim/lamb.py","del url", + " Refer\n document `LossScale `_ to\n process `loss_scale` correctly.",""), + ("mindspore/amp.py","del url", + "\n Tutorial Examples:\n - `Automatic Mix Precision - Loss Scaling\n `_",""), + ("mindspore/amp.py","del url", + "\n For more information, refer to the `tutorials `_.",""), + ("mindspore/amp.py","del url", + "\n Tutorial Examples:\n - `Automatic Mix Precision - Loss Scaling\n `_","") + ] + +for i in decorator_list: + try: with open(os.path.join(base_path, os.path.normpath(i[0])), "r+", encoding="utf8") as f: content = f.read() if i[2] in content: @@ -266,14 +279,13 @@ try: f.seek(0) f.truncate() f.write(content) -except: - print('mindspore删除安装包装饰器内容失败') + except: + print(f'替换{i[0]}下内容失败') # add @functools.wraps try: decorator_list = [("mindspore/common/_tensor_overload.py", ".*?_mint")] - base_path = os.path.dirname(os.path.dirname(sphinx.__file__)) for i in decorator_list: with open(os.path.join(base_path, os.path.normpath(i[0])), "r+", encoding="utf8") as f: content = f.read() @@ -298,7 +310,6 @@ re_url2 = r"(gitee.com/mindspore/mindspore[\w\d/_.-]*?)/(master)" re_url4 = r"(((gitee.com/mindspore/mindformers)|(mindspore.cn/mindformers))[\w\d/_.-]*?)/(dev)" -base_path = os.path.dirname(os.path.dirname(sphinx.__file__)) for cur, _, files in os.walk(os.path.join(base_path, 'mindspore')): for i in files: if i.endswith('.py'): diff --git a/docs/mindspore/source_zh_cn/conf.py b/docs/mindspore/source_zh_cn/conf.py index db973e91fa..b4726b8b13 100644 --- a/docs/mindspore/source_zh_cn/conf.py +++ b/docs/mindspore/source_zh_cn/conf.py @@ -436,6 +436,41 @@ del_redundant_api_file(des_sir, ['mindspore.numpy.rst'], 'numpy', 'mindspore.num del_redundant_api_file(des_sir, ['mindspore.scipy.rst'], 'scipy', 'mindspore.scipy.', scipy_del) del_redundant_api_file(des_sir, ['mindspore/mindspore.Tensor.rst'], 'mindspore/Tensor', 'mindspore.Tensor.', tensor_del) +with open('./api_python/amp/mindspore.amp.all_finite.rst', 'r+', encoding='utf-8') as f: + content = f.read() + content = content.replace('\n 教程样例:\n - `自动混合精度 - 损失缩放\n `_', '') + f.seek(0) + f.truncate() + f.write(content) + +with open('./api_python/amp/mindspore.amp.auto_mixed_precision.rst', 'r+', encoding='utf-8') as f: + content = f.read() + content = content.replace('\n 关于自动混合精度的详细介绍,请参考 `自动混合精度 `_ 。', '') + f.seek(0) + f.truncate() + f.write(content) + +with open('./api_python/amp/mindspore.amp.DynamicLossScaler.rst', 'r+', encoding='utf-8') as f: + content = f.read() + content = content.replace('\n 教程样例:\n - `自动混合精度 - 损失缩放\n `_', '') + f.seek(0) + f.truncate() + f.write(content) + +with open('./api_python/amp/mindspore.amp.LossScaler.rst', 'r+', encoding='utf-8') as f: + content = f.read() + content = content.replace('\n 关于使用 `LossScaler` 进行损失缩放,请查看 `教程 `_。', '') + f.seek(0) + f.truncate() + f.write(content) + +with open('./api_python/nn/mindspore.nn.optim_note_loss_scale.txt', 'r+', encoding='utf-8') as f: + content = f.read() + content = content.replace('\n如何正确处理 `loss_scale` 详见 `LossScale `_。', '') + f.seek(0) + f.truncate() + f.write(content) + # auto generate rst by en from generate_rst_by_en import generate_rst_by_en diff --git a/resource/sphinx_ext/anchor_mod.py b/resource/sphinx_ext/anchor_mod.py index d7ee86be66..158adb4309 100644 --- a/resource/sphinx_ext/anchor_mod.py +++ b/resource/sphinx_ext/anchor_mod.py @@ -16,7 +16,7 @@ def short_title(titlename): titlename = titlename.replace(j, '') for k in spec_symbol: titlename = titlename.replace(k, ' ') - titlename = titlename.replace(' ', ' ').replace(' ', '-').replace('"', '') + titlename = titlename.replace(' ', ' ').replace(' ', '-').replace('"', '').replace("'", "") return titlename ''' diff --git a/resource/sphinx_ext/nbsphinx_mod.py b/resource/sphinx_ext/nbsphinx_mod.py index f95b18f3e1..0a6df9c7d1 100644 --- a/resource/sphinx_ext/nbsphinx_mod.py +++ b/resource/sphinx_ext/nbsphinx_mod.py @@ -19,7 +19,7 @@ def short_title(titlename): titlename = titlename.replace(j, '') for k in spec_symbol: titlename = titlename.replace(k, ' ') - titlename = titlename.replace(' ', ' ').replace(' ', '-') + titlename = titlename.replace(' ', ' ').replace(' ', '-').replace('"', '').replace("'", "") return titlename ''' -- Gitee