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
Hello! I'M Using The Self-Hosted Version Of Clearml. I'M Doing Some Testing And It Seems That The Clearml Isn'T Auto-Logging My Matplotlib Plots. The Versions I'M Using Are Matplotlib==3.6.2 And Clearml==1.6.4. Am I Missing Something?

Hello! I'm using the self-hosted version of clearml. I'm doing some testing and it seems that the Clearml isn't auto-logging my matplotlib plots. The versions I'm using are matplotlib==3.6.2 and clearml==1.6.4. Am I missing something?

  
  
Posted 2 years ago
Votes Newest

Answers 11


Hi FrothyShark37
Can you verify with the latest version?
pip install -U clearml

  
  
Posted 2 years ago

Updated to 1.8.0. Still no plot logging.

  
  
Posted 2 years ago

FrothyShark37 any chance you can share snippet to reproduce?

  
  
Posted 2 years ago

I can share the specific bit that's not being logged. I can't share much more. It's a violin plot.
plt_data = [df[df.col1 == x][col2] for x in df.col1.unique()] plt.violinplot(plt_data) plt.show()

  
  
Posted 2 years ago

This one seem to work

` from clearml import Task
task = Task.init(...)
import matplotlib.pyplot as plt
import numpy as np

plt.style.use('_mpl-gallery')

make data:

np.random.seed(10)
D = np.random.normal((3, 5, 4), (0.75, 1.00, 0.75), (200, 3))

plot:

fig, ax = plt.subplots()

vp = ax.violinplot(D, [2, 4, 6], widths=2,
showmeans=False, showmedians=False, showextrema=False)

styling:

for body in vp['bodies']:
body.set_alpha(0.9)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))

plt.show() `

  
  
Posted 2 years ago

Yap, this way works. I changed mine and it works now. Thank you

  
  
Posted 2 years ago

FrothyShark37 what was different in your script ?

  
  
Posted 2 years ago

I think the main diference was that I was using the plt directly but you used the ax from the subplots function. Maybe clearml doesn't pick up the plt function directly.

  
  
Posted 2 years ago

Can you post here the actual line? seems like we can fix it to also support this scenario (if we could test it)

  
  
Posted 2 years ago

it was in my first code bit. that's how I created the plot
plt.violinplot(plt_data)

  
  
Posted 2 years ago

Thanks FrothyShark37
I just verified, this would work as well, I suspect what was missing is the plt.show call, this is the actual call that triggers clearml

  
  
Posted 2 years ago
1K Views
11 Answers
2 years ago
one year ago
Tags