【问题标题】:How to use tqdm in Kubernetes如何在 Kubernetes 中使用 tqdm
【发布时间】:2021-01-01 00:46:26
【问题描述】:

我正在使用 Kubernetes,并且在集群上运行了一个训练作业。 我使用 TQDM 作为进度条,但与我预期的不同,当我检查 Kubernetes Pod 日志时,进度条没有显示。有没有人可以解决这个问题?

【问题讨论】:

    标签: kubernetes tqdm kubeflow


    【解决方案1】:

    我没有一个好的解决方案,但是这个对我有帮助:

    如果您使用,tqdm 进度条将按预期显示:

    kubectl attach <pod_name>
    

    代替:

    kubectl logs <pod_name>
    

    【讨论】:

      【解决方案2】:

      不幸的是,到目前为止,我也没有找到令人满意的答案。例如,取决于您是使用 kubectl 还是 k9s,甚至是 tqdm 中可迭代的外观,或者您通过日志模块等记录的其他内容,结果可能与根本没有显示进度条、偶尔刷新几十次迭代。我发现获得一致的 kubernetes 日志的唯一方法是在每次迭代时自己打印它们并将 tqdm 输出重定向到其他地方。

      例如如下:

      import time
      import sys
      from tqdm import tqdm
      
      iterator = tqdm(range(99), file=open("/dev/null", "w"))
      
      for x in iterator:
          print(iterator.__str__())
          sys.stdout.flush()
          time.sleep(0.2)
      

      【讨论】:

        猜你喜欢
        • 2020-12-28
        • 2018-06-30
        • 1970-01-01
        • 2017-08-21
        • 1970-01-01
        • 2020-10-16
        • 2018-08-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多