Initial commit: FunASR Speech Recognition Toolkit
Update API Documentation / build-api-docs (push) Has been cancelled
Update API Documentation / build-api-docs (push) Has been cancelled
Add complete FunASR codebase including models, runtime, and documentation.
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
import importlib.util
|
||||
|
||||
import importlib.util
|
||||
import inspect
|
||||
import os.path
|
||||
import sys
|
||||
|
||||
|
||||
def load_module_from_path(file_path):
|
||||
"""
|
||||
从给定的文件路径动态加载模块。
|
||||
|
||||
:param file_path: 模块文件的绝对路径。
|
||||
:return: 加载的模块
|
||||
"""
|
||||
module_name = file_path.split("/")[-1].replace(".py", "")
|
||||
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(module)
|
||||
return module
|
||||
|
||||
|
||||
def import_module_from_path(file_path: str):
|
||||
|
||||
"""Import module from path.
|
||||
|
||||
Args:
|
||||
file_path: TODO.
|
||||
"""
|
||||
if file_path.startswith("http"):
|
||||
from funasr.download.file import download_from_url
|
||||
|
||||
file_path = download_from_url(file_path)
|
||||
|
||||
file_dir = os.path.dirname(file_path)
|
||||
# file_name = os.path.basename(file_path)
|
||||
module_name = file_path.split("/")[-1].replace(".py", "")
|
||||
if len(file_dir) < 1:
|
||||
file_dir = "./"
|
||||
sys.path.append(file_dir)
|
||||
try:
|
||||
importlib.import_module(module_name)
|
||||
print(f"Loading remote code successfully: {file_path}")
|
||||
except Exception as e:
|
||||
print(f"Loading remote code failed: {file_path}, {e}")
|
||||
|
||||
|
||||
#
|
||||
# def load_module_from_path(module_name, file_path):
|
||||
# """
|
||||
# 从给定的文件路径动态加载模块。
|
||||
#
|
||||
# :param module_name: 动态加载的模块的名称。
|
||||
# :param file_path: 模块文件的绝对路径。
|
||||
# :return: 加载的模块
|
||||
# """
|
||||
# # 创建加载模块的spec(规格)
|
||||
# spec = importlib.util.spec_from_file_location(module_name, file_path)
|
||||
#
|
||||
# # 根据spec创建模块
|
||||
# module = importlib.util.module_from_spec(spec)
|
||||
#
|
||||
# # 执行模块的代码来实际加载它
|
||||
# spec.loader.exec_module(module)
|
||||
#
|
||||
# return module
|
||||
Reference in New Issue
Block a user