python - 如何在 azureml 中记录绘图?
问题描述
我想将创建的绘图记录到我的工作区,如下所示:
from azureml.core import Run
from matplotlib import pyplot as plt
run = Run.get_context()
Foo = [1,2,3,4]
Bar = [4,3,2,1]
plt.title('Foo vs Bar')
plt.plot(Foo, label='Foo')
plt.plot(Bar, '-r', label='Bar')
run.log_image('Plot', plt)
但我收到以下错误:
"type": "AttributeError",
"message": "module 'matplotlib.pyplot' has no attribute 'tell'",
当它试图计算这个时会发生这种情况:
File "/usr/lib/python3.6/imghdr.py", line 19, in what
location = file.tell()
我可以将变量记录到 azureml。如果我在没有 azureml 的情况下在本地运行我的脚本,我可以正确地看到绘图。如何将我的情节记录到我的天蓝色实验中?
解决方案
我找到了答案。为了将 plt 保存到 azureml 中,您必须指定哪个是绘图,而不仅仅是将其作为第二个参数发送。
...
run.log_image('Plot', plot=plt)