【发布时间】:2021-01-01 00:46:26
【问题描述】:
我正在使用 Kubernetes,并且在集群上运行了一个训练作业。 我使用 TQDM 作为进度条,但与我预期的不同,当我检查 Kubernetes Pod 日志时,进度条没有显示。有没有人可以解决这个问题?
【问题讨论】:
标签: kubernetes tqdm kubeflow
我正在使用 Kubernetes,并且在集群上运行了一个训练作业。 我使用 TQDM 作为进度条,但与我预期的不同,当我检查 Kubernetes Pod 日志时,进度条没有显示。有没有人可以解决这个问题?
【问题讨论】:
标签: kubernetes tqdm kubeflow
我没有一个好的解决方案,但是这个对我有帮助:
如果您使用,tqdm 进度条将按预期显示:
kubectl attach <pod_name>
代替:
kubectl logs <pod_name>
【讨论】:
不幸的是,到目前为止,我也没有找到令人满意的答案。例如,取决于您是使用 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)
【讨论】: