python - Dask 计算永无止境
问题描述
我尝试了以下代码:
import numpy as np
from dask.distributed import Client
from dask.jobqueue import PBSCluster
import dask.array as da
cluster = PBSCluster(processes=1, cores=8, memory="40GB",
local directory='$TMPDIR',
walltime='1:00:00', interface='ib0')
task = client.submit(lambda: np.random.uniform(size=(623000, 73, 41)))
arr = da.from_delayed(task, shape=(623000, 73, 41), dtype=np.float32)
res = client.compute(arr)
res.result()
该过程尚未完成。它总是重新启动,并且仅由一名工作人员执行。
代码有什么问题?是否可以将其分发到所有核心?
解决方案
集群 = PBSCluster(进程 = 1,核心 = 8,内存 =“40GB”,
您正在请求一个具有 8 个核心的工作人员,拥有多个工作人员可能是个好主意。
task = client.submit(lambda: np.random.uniform(size=(623000, 73, 41)))
在这一行中,您要求工作人员创建大约 2 bln 个数字的大数组。实现这一目标的更好方法是使用da.random.random
.
res = client.compute(arr)
您要求工作人员计算 dask 数组,但这可能并不理想,更好的方法是要求工作人员计算一些感兴趣的对象,这些对象通常会减小大小。
推荐阅读
- android - 为什么我的 Android 应用程序在三星 Galaxy Note 9 上崩溃?
- linux-kernel - 在 CentOS 7 上编译和使用实时内核
- python - pytest - 使用来自另一个插件的插件
- ubuntu - Cron prestashop 模块导入库存
- c# - 本地托管在 IIS 服务器上时登录时出现 500 服务器错误
- node.js - 如何在测试阶段运行 mongo?
- javascript - 函数绘制混合属性
- mongodb - Mongodb比较两个字段与匹配字段值聚合
- java - 添加应用程序消息后,我的应用程序崩溃了
- ios - SearchController Searchbar背景颜色属性在ios Objective-C中也改变导航栏颜色