如何在 azureml 中记录绘图?

Gon*_*cia 4 python machine-learning matplotlib azure

我想像这样将创建的图记录到我的工作区:

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)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

"type": "AttributeError",
"message": "module 'matplotlib.pyplot' has no attribute 'tell'",
Run Code Online (Sandbox Code Playgroud)

当它试图计算这个时会发生这种情况:

File "/usr/lib/python3.6/imghdr.py", line 19, in what
location = file.tell()
Run Code Online (Sandbox Code Playgroud)

我可以将变量记录到 azureml。如果我在没有 azureml 的情况下在本地运行我的脚本,我可以正确地看到这些图。如何将我的情节记录到我的天蓝色实验中?

Gon*_*cia 5

我找到了答案。为了将 plt 保存到 azureml 中,您必须指定哪个是绘图,而不仅仅是将其作为第二个参数发送。

...
run.log_image('Plot', plot=plt)
Run Code Online (Sandbox Code Playgroud)