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, The Following Does Not Seem To Work

Hi, the following does not seem to work
task.connect({'a':{},'b':'moshe'}, name='Train Data Params'))It seems that 'a' is absent from the recorded arguments.

  
  
Posted 3 years ago
Votes Newest

Answers 14


Train Data Params/a = {} Train Data Params/b = ...Then maybe we could "hack" it so that if you edit it in the UI like so:
Train Data Params/a = {'new': 'value'} Train Data Params/b = ...You end up with
param = {'a': {'new': 'value'}, 'b' : ... }What do you think?

  
  
Posted 3 years ago

task.connect({'a':{},'b':'moshe'}, name='Train Data Params'))how this would then be appeared in the UI? (assume I don't want to update said empty dict for the moment)

  
  
Posted 3 years ago

Hahaha, you got me confused

  
  
Posted 3 years ago

Hi AgitatedDove14 ,
How could this be used in case of multiple configurations per task? How can I name such configuration?
Also this is sadly much less readable.
Would I be able to add customized columns like I am able to in task.connect ? Same question applies for parallel coordinates and all kinds of comparisons

  
  
Posted 3 years ago

Usually it's not an empty dict, it's optional additional keyword arguments. But it can also be empty if there is no optional keyword required.

  
  
Posted 3 years ago

I understand how this is problematic. This might require more thinking if you guys wish to support this.

  
  
Posted 3 years ago

Would I be able to add customized columns like I am able to in 

task.connect

 ? Same question applies for parallel coordinates and all kinds of comparisons

No to both 😞

  
  
Posted 3 years ago

Okay, another suggestion, simply record the type of each argument when you store it, and keep it in the database, unbeknownst to the user, what do you say?

  
  
Posted 3 years ago

simply record the type of each argument when you store it, and keep it in the database, unbeknownst to the user, what do you say?

This is now supported, but then you still need to flatten the dict.
Maybe we can just support "empty_dict/new_value = 42" if the original was "empty_dict = {}"
WDYT?

  
  
Posted 3 years ago

Sure That's a really good question I am not sure how to answer. I know there is the problem of visualizing '{}' and visualizing {}. Maybe a bolded {} like this: {} ? or like this {} ? to emphasize the difference?

  
  
Posted 3 years ago

Hi SmarmySeaurchin8
Could you open a bug on GitHub, so this is not lost? Let's assume 'a' is tracked, how would one change 'a' in the UI?

  
  
Posted 3 years ago

SmarmySeaurchin8 regrading (2)
I'm not sure the current visualization supports it. I mean we can put "{}", but that would imply you can edit it, which then we have to support, possible but weird, and this is why:
task.connect({'a':{},'b': {'nested': 'value}}will become
'a' = '{}'
'b/nested' = 'value'
But then if you edit to:
'a' = '{'nested': 'value'}'
'b/nested' = 'value'
you have two different ways of presenting the same type of structure...

  
  
Posted 3 years ago

SmarmySeaurchin8 what do you think?
https://github.com/allegroai/trains/issues/265#issuecomment-748543102

task.connect_configuration

  
  
Posted 3 years ago

yes ...
What's your use case for passing an empty dict ? (meaning how would one use it later)

  
  
Posted 3 years ago