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
Hi, It Seems That Report_Image Puts The Image Both In Plots And Both In Debug Samples, Why Is That?

Hi, it seems that report_image puts the image both in plots and both in debug samples, why is that?

  
  
Posted 4 years ago
Votes Newest

Answers 23


Hi SmarmySeaurchin8

I tried to reproduce your issue (run https://github.com/allegroai/trains/blob/master/examples/reporting/image_reporting.py example with many report_image calls) and got all the outputs in the debug samples section, can you share a snippet or how can I reproduce this issue?

  
  
Posted 4 years ago

I use local path instead of providing the image as an object, does this change things?

  
  
Posted 4 years ago

nope, this example use local path (for the PIL image)

  
  
Posted 4 years ago

Well, I do exactly that but it still puts them under plots

  
  
Posted 4 years ago

Logger.current_logger().report_media(title=f"visualization images f{output_category}", series=output_path.split('.')[-2].split('/')[-1], iteration=1, local_path=output_path)

  
  
Posted 4 years ago

Can you send a screen grab?

  
  
Posted 4 years ago

I think I know what happens TimelyPenguin76
Could it be that trains automatically logs these images to plots?
Because when I removed the report_media/report_image the images were still logged into plots

  
  
Posted 4 years ago

Trains auto-magical reports many frameworks plots: matplotlib, Tensorboard and more, maybe this is the issue? The report_media / report_image was double reporting?

  
  
Posted 4 years ago

I think so. The issue is that I want to report only a sub set of the images (for example I create an image for every sample in the dataset but I want to display on trains only the top 10 with highest score) but when it's magically logged I have no control over this. What can be done?

  
  
Posted 4 years ago

Which framework do you use?

  
  
Posted 4 years ago

Matplotlib

  
  
Posted 4 years ago

If you like, you can disable the auto magical for matplotlib and report manually.

For doing so, pass auto_connect_frameworks={"matplotlib": False} to Task.init .

  
  
Posted 4 years ago

Great! Thanks 🙂

  
  
Posted 4 years ago

TimelyPenguin76 it didn't help 😞

  
  
Posted 4 years ago

Could it be because it's running from a draft on an agent?

  
  
Posted 4 years ago

When you run it locally with auto_connect_frameworks={"matplotlib": False} , did it send the matplotlib outputs?

  
  
Posted 4 years ago

Quite hard for me to check locally, could you check it using trans-agent?

  
  
Posted 4 years ago

Well the happy flow is to execute is locally, then clone this task and run it in the agent. If you dont want to run it locally, you can use the task.execute_remotely() and clone this one or just start running it and kill it manually, or run one epoch to view the outputs

  
  
Posted 4 years ago

Can you try it?

  
  
Posted 4 years ago

Okay so in the end I've run it locally and it behaved as expected (no auto logging for matplotlib) but for trains agent it didn't work, it auto - logged it anyway. TimelyPenguin76

  
  
Posted 4 years ago

Was the agent task cloned from the one works as expected (the dev task)?

  
  
Posted 4 years ago

No, the task it was cloned from was created with Task.create, but there is a Task.init in the file that is run by Task.create

  
  
Posted 4 years ago

Can you send me the general flow in code?

BTW, if you want to clone a task, you can use Task.clone

  
  
Posted 4 years ago