dask仪表板能否用于SageMaker(实验室1.2.*)?

2024-06-17 14:51:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我没有对实验室环境的浏览器访问权限,而且实验室可用的dask扩展到目前为止对我不起作用。 我希望能够看到我的dask项目的进度和性能数据,现在运气不好

compute()有时需要几个小时(没关系,有很多数据),我觉得整个过程都是盲目的

你知道实验室1.2是否支持任何东西吗?progressbar也不走运。 该实例位于AWS SageMaker上,因此我无法访问web仪表板

谢谢


Tags: 数据项目实例权限环境过程浏览器性能
1条回答
网友
1楼 · 发布于 2024-06-17 14:51:51

可以使用performance_report将大多数仪表板信息保存在文件中(请参见docs):

from dask.distributed import Client, performance_report
import time

client = Client()

def f(x):
    time.sleep(x)
    return x

with performance_report():
    futures = client.map(f, range(5))
    results = client.gather(futures)

请注意,这将仅在计算停止后保存最终文件(因为它已完成或由于错误/中断)

如果您想要以特定的步骤/间隔保存信息,最简单的解决方案是将计算分割成块并保存每个块上的信息。请注意,这种恶意保存将降低并行化的效率,因为在频繁的.gather.compute操作期间,一些工作人员可能会空闲

另一个选项是定期转储client.get_task_stream()的内容,它返回一个元组,其中包含调度程序上每个任务的字典。这可以在每个未来完成^{}后完成,也可以有一定的周期性(例如n循环中的每while秒)。我想不出一个普遍的解决办法,但它应该是可能的

您可能还会发现this answer中的链接很有用

相关问题 更多 >