loky:Python中可靠的进程池执行器

loky:Python中可靠的进程池执行器

lokyRobust and reusable Executor for joblib项目地址:https://gitcode.com/gh_mirrors/lo/loky

一、项目目录结构及介绍

Loky是一个Python库,专注于提供一个健壮且可重用的执行器,用于处理多进程工作流。尽管其GitHub仓库的直接结构没有在提供的参考资料中详细说明,但典型的Python项目布局通常包括以下几个关键部分:

  • src 或直接根目录下:包含主要的源代码文件,如loky包,在此包内可能有多个模块管理执行器的核心功能。
  • setup.py:用于安装项目的脚本,定义了项目的元数据和依赖关系。
  • docs:存放项目文档和手册的地方,帮助开发者了解如何使用项目。
  • tests:单元测试和集成测试的代码所在目录,确保项目的功能正确性。
  • .gitignore: 指定Git应该忽略的文件或文件夹,通常是编译产物、日志文件等。
  • README.md: 项目简介和快速入门指南。

二、项目的启动文件介绍

Loky本身并不直接指定一个“启动文件”供终端用户运行。使用Loky的方式通常是通过导入其API到你的应用中。例如,你可以从你的主应用程序脚本中导入get_reusable_executor来开始利用Loky的功能,示例代码可能如下:

from loky import get_reusable_executor

executor = get_reusable_executor()
# 然后提交任务给执行器进行处理

因此,“启动”更多是指在你的应用代码里初始化Loky的执行环境。

三、项目的配置文件介绍

Loky的主要配置不是通过外部配置文件完成,而是通过函数参数进行。例如,当你创建一个执行器时,可以设置max_workers来控制工作进程的数量,通过timeout来设置空闲超时时间等。这些配置是在代码级别动态完成的,而不是读取传统配置文件(如.ini.yaml)。

不过,如果你的应用想要以更灵活的方式管理这些参数,你可以自定义配置逻辑,将配置值存储于环境变量、数据库或是特定的配置文件中,然后在应用启动时读取这些值并传递给Loky的相应函数。

综上所述,Loky的设计更侧重于代码即配置的理念,直接通过API调用来定制其行为,而非依赖于独立的配置文件。在实际应用中,根据具体需求调整这些API参数,即可实现对Loky执行器的细致配置和管理。

lokyRobust and reusable Executor for joblib项目地址:https://gitcode.com/gh_mirrors/lo/loky

D:\python\python.exe D:\tokamaka\实验集\Python\SVM低数据兼测试版本\DisruptionPredictor\Test3.py Traceback (most recent call last): File "D:\tokamaka\实验集\Python\SVM低数据兼测试版本\DisruptionPredictor\Test3.py", line 50, in <module> train_data, train_labels = Parallel(n_jobs=-1)(delayed(load_data_parallel)('train', list(eval(shot)), directory) for shot in shots['train']) File "D:\python\lib\site-packages\joblib\parallel.py", line 1008, in __call__ n_jobs = self._initialize_backend() File "D:\python\lib\site-packages\joblib\parallel.py", line 775, in _initialize_backend n_jobs = self._backend.configure(n_jobs=self.n_jobs, parallel=self, File "D:\python\lib\site-packages\joblib\_parallel_backends.py", line 506, in configure self._workers = get_memmapping_executor( File "D:\python\lib\site-packages\joblib\executor.py", line 20, in get_memmapping_executor return MemmappingExecutor.get_memmapping_executor(n_jobs, **kwargs) File "D:\python\lib\site-packages\joblib\executor.py", line 42, in get_memmapping_executor manager = TemporaryResourcesManager(temp_folder) File "D:\python\lib\site-packages\joblib\_memmapping_reducer.py", line 535, in __init__ self.set_current_context(context_id) File "D:\python\lib\site-packages\joblib\_memmapping_reducer.py", line 539, in set_current_context self.register_new_context(context_id) File "D:\python\lib\site-packages\joblib\_memmapping_reducer.py", line 564, in register_new_context self.register_folder_finalizer(new_folder_path, context_id) File "D:\python\lib\site-packages\joblib\_memmapping_reducer.py", line 594, in register_folder_finalizer resource_tracker.register(pool_subfolder, "folder") File "D:\python\lib\site-packages\joblib\externals\loky\backend\resource_tracker.py", line 179, in register self._send('REGISTER', name, rtype) File "D:\python\lib\site-packages\joblib\externals\loky\backend\resource_tracker.py", line 196, in _send msg = f'{cmd}:{name}:{rtype}\n'.encode('ascii') UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-20: ordinal not in range(128) 进程已结束,退出代码1
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华建万

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值