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 Guys, I Am Having Some Problems About Parsing Arguments To A Task When Running On Agent. I Have A Task A That Creates Another Task B Via Subprocess. Some Arguments Of A And B Share The Same Names. The Problem Is That They'Re Visible To B Even Though I'

Hi guys, I am having some problems about parsing arguments to a task when running on agent.
I have a task A that creates another task B via subprocess.
Some arguments of A and B share the same names. The problem is that they're visible to B even though I'm not passing them.
I'm not sure if there're any options to stop clearml from interjecting arguments to subprocesses. Please share the wisdom if you know the causes or the fixes 🙏 ! Thanks in advance.

Here's the output and minimal code to reproduce. I'm passing only arga to A, then create a subprocess B by passing only argb and argc . However arga is still visible to B. What sys.argv sees is different too.

Environment setup completed successfully
Starting Task Execution:
Argparse: [('arga', 'aaa'), ('argb', None), ('argc', None)]
Sys.argv: ['/root/.clearml/venvs-builds/code/try_subproc.py']
ClearML results page: 

ClearML Monitor: GPU monitoring failed getting GPU reading, switching off GPU monitoring
Argparse: [('arga', 'aaa'), ('argb', ''), ('argc', 'stop')]
Sys.argv: ['try_subproc.py', '-b', '', '-c', 'stop']
Terminated without forking
  
  
Posted 4 months ago
Votes Newest

Answers 4


Hi @<1578193384537853952:profile|MoodyOx45>

I have a task A that creates another task B via subprocess.

So the thing about the agent, when it runs the code, there is only One task to rule them all. basically any fork/spawn of subprocess will automatically be logged as the parent Task
I think that what you want is to build a pipeline from those Tasks? Or create a Task and enqueue it manually directly from Task A?

(btw: you can forcefully cause the subprocess to create it's own Task but it will be a bit hackish)

  
  
Posted 4 months ago

the exported task

  
  
Posted 4 months ago

I think that what you want is to build a pipeline from those Tasks? Or create a Task and enqueue it manually directly from Task A?

Hi @<1523701205467926528:profile|AgitatedDove14> , exactly what I wanted 🙂 .
I was wondering about what i can do with the agent's argparse magic.
Thanks for your answer.

  
  
Posted 4 months ago

I was wondering about what i can do with the agent's argparse magic

You mean how to pass arguments to components a pipeline? btw did you check the pipeline example here?
None

  
  
Posted 4 months ago
231 Views
4 Answers
4 months ago
4 months ago
Tags