所以我遇到的问题是,我想在Google Colab上的iPython中测量一个单元线的内存消耗和时间,其中的单元线也返回一个对象。我使用memory-profiler执行此操作,因此我可以将基准测试的所有结果自动存储在一个文件中。
我发现memit -o给了我一个MemitResult对象,但问题是对象赋值给了一个未定义的m̀odel
NameError: name 'model' is not defined
简短的MWE:
%%time
import pmdarima as pm
trainMemory = %memit -o model= pm.auto_arima(df["y"], seasonal=True, m=12, maxiter=10, njobs = -1)理想情况下,我会在一个训练函数调用中分配所有3个变量,用于时间、内存和对象,以节省训练时间。
发布于 2020-09-06 21:27:56
最后,我使用Weights and biases来同时跟踪图形处理器和内存消耗。
设置非常简单,但是我还没有找到如何提取最大值、最小值等信息。
设置:
import wandb
import pmdarima as pm
wandb.init()
model= pm.auto_arima(df["y"], seasonal=True, m=12, maxiter=10, njobs = -1)然后在网站上,您可以看到随着运行时间的消耗

事实证明,您可以通过api获得最大使用率,而不是查看图表
import wandb
api = wandb.Api()
run = api.run(f"YOURNAME/{wandb.run.name}/{wandb.run.id}")
system_metrics = run.history(stream = 'events') print(system_metrics["system.gpu.0.memory"].max())
system_metrics.to_csv("metrics.csv")然后,您可以访问system_metrics对象的属性
https://stackoverflow.com/questions/63709241
复制相似问题