Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Answered
Automatic Logging For Generated Matplotlib Works Nicely, But For Some Reason It Names The Graphs As "00 Untitled" And Uses Series "Plot Image" In Clearml Ui -- Any Way To Circumvent This, Other Than Explicit Reporting?

Automatic logging for generated matplotlib works nicely, but for some reason it names the graphs as "00 untitled" and uses series "plot image" in ClearML UI -- any way to circumvent this, other than explicit reporting?

  
  
Posted 2 years ago
Votes Newest

Answers 14


The screenshot is small since the data is private anyway, but it's enough to see:
"Metric: untitled 00" "plot image" as the image title The attached histogram has a title ("histogram of ...")

  
  
Posted 2 years ago

Did you try what I added? Also the screenshot is too small, nothing is readable

  
  
Posted 2 years ago

There's a specific fig[1].set_title(title) call.

  
  
Posted 2 years ago

What versions of ClearML/matplotlib are you using?

  
  
Posted 2 years ago

The title is specified in the plot (see the example, even if small).
I'm just creating a figure normally with matplotlib and save it to disk.

  
  
Posted 2 years ago

Sure! It's a bit intricate as it accommodates many of our different plotting functionalities, but this consists of the important bits (I realize we have some bad naming here, but fig[0] is actually a Figure object, and fig[1] is an Axes object):

` plt.switch_backend('agg')
sns.set_theme(...)
fig = plt.subplots(...)

sns.histplot(data, ax=fig[1], ...)
fig[1].set_xlim(...)
fig[1].set_ylim(...)
fig[1].legend(loc='best')
fig[1].set_xlabel(xlabel)
fig[1].set_ylabel(ylabel)
fig[1].set_title(title)
sns.despine(fig=fig[0], ...)

plt.savefig(...) `

  
  
Posted 2 years ago

How are you reporting / generating them now?

  
  
Posted 2 years ago

Also, I think you can specify title with
plt.title('Image Title')

  
  
Posted 2 years ago

Any thoughts CostlyOstrich36 ?

  
  
Posted 2 years ago

Let me take a look 🙂

  
  
Posted 2 years ago

Can you add a snippet of how you're presenting/generating the matplotlibs?

  
  
Posted 2 years ago

Without knowing anything, I'm assuming maybe ClearML patches plt.title and not Axes.set_title ?

  
  
Posted 2 years ago

Yes -- that's what I meant by The title is specified in the plot . I make the plots manually - title, axes labels, ticks, etc. In that sense, the figure is entirely configured. ClearML just saves it as "untitled 00/plot image"

  
  
Posted 2 years ago

ClearML 1.1.4, Matplotlib 3.3.0 (it's not the latest as we have some backward compatibility issues)

  
  
Posted 2 years ago
939 Views
14 Answers
2 years ago
one year ago
Tags