Basically I’m building a classifier, which I’ve discussed at length in this thread, and as part of the nice breakthrough I had yesterday I thought that it would be good to be able to update/replace the data for a single label. Like I do all my training for like 10 classes, but fuck up on the last one, or decide that I want to completely redo the 1st class, it would be nice to just replace that one individual label without having to redo everything.
I was pleased to see that this isn’t some crazy idea, and that fluid.labelset~
allows you to deletelabel
. Hell, you can even getlabel
!
However, unless there’s something that I’m completely missing here (this is obviously impossible), both of those messages instead refer to and impact the identifier. deletelabel
deletes the corresponding identifier, leaving all of those label
s intact, and if I want to iterate through the fluid.labelset~
manually with the getlabel
, I’m instead get
-ing identifiers.
Short of dumping it out to a dict
or coll
and manually parsing the whole labelset, it appears to be impossible to address the contents of fluid.labelset~
via a label.
Again, what I’d like to do in this use case is to completely re-do all of the entries for a specific label (e.g. “snare edge” or “oboe”).
Is this some kind of odd use case? What’s the intended approach here?
I guess I could keep a second labelset (via coll
) for my fluid.labelset~
so I know what identifiers correspond with what labels, and then iterate through my labelset to delete things in my fluid.labelset~
but that starts getting a bit recursive.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
So on that note, how would one go about “removing all of a given label” in a fluid.labelset~
?
And given how things are structured, how would then go about deleting the corresponding entries in a fluid.dataset~
as that seems like it would be even more complicated? (short of keeping a whole parallel data structure)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Here’s a code example:
----------begin_max5_patcher----------
1320.3ocyY00abhCE84Y9UXgz9R0TVai4q9z939eXypHOfmD2x.HvjlsUs+1
WaCzgogObXbnMnjHbb3x4368bO1yW2uy4XwyrZGvG.+CX2tute2N8PpA10c+
NmyzmSxn05o4jTb9LKW3bn8uIXOKziKdjAxnGYYf6bP24.30fL1IAnIWTzj7
HK8.flmB340BFMEnl963oxmD+DmU8tK+WorLlfk1GfLdNKoP9TTQA2MXdy4h
Fgbd52IX2n7T8aRwwO9dOu9++RpH4Qd9C2WwRDs.MLf3BO.PAgpeg8z+xyyE
B92KOedd+iGoF6a62q9wACYob1mkuFufjNk0vSc0zTMS7cPM+bYFq8dmQwF9
kXCG2O014I9uRVKvbbNH+9GnXFnKQqWvfqPhbPerlOv1jHlJcA61sPCnxkdM
CbmiyrKumJxE4zyZr572rrmXBdB0YDBJb4Eehj.vgWtBQRBHNPS.ACH.UPOQ
SzAEMXrZ9WziggtPawUmY00zGXufqZIp1hKz3bDZDVHX5zDCRQhtlfhhjYHg
gymffsHnKq3WRaVFrj0A1n.bGXw9jAWR8.r8w5TECnitZwQJnWZ.7Yt3QPkb
vhyfq0GFUPrrhUKexTAuH+9Wgjo40T3Ypo7krHVwY9HWz.ZLfboph7qppZBo
XA3HfatlKZx7qiz7GT5tpz04R0HHMOHEaeIGgic8ssx6D3tjl7I.MMsUNgOE
GLRMFJZc0Xc.m.wtHXb+EB5Ed.D6OeUl2uY8dQdqu2aOOPPtvAcdHduU8dmf
H5TU7LdgeZ+FKlyGimLm2OdCEXcAIULp1sQJUPUJrm3YYrzqDZkw+HqpdEVO
MVGMXFYTDD0Ii1ZCA96nt4wlSmXUeGHX0hxBYB.3upomKqAQFWD4OcB0orBp
PUIoUUmK0JPm93qP7.erwDcwTf8KlriOExJMkgj3zeBMz2BmJSr3+9Wg+SO7
pkMvRkRsELhKJ5xEVs3tTqRrMsHvAGMNq1CNKdMImtC2XXnKNdvxLRJWJsXs
YVDXrO02eTWhatEA7BU1lrpOVyBDLXyLJz7E9ThYdi.4kcFZpCQjzMju5bIh
tduoDrpxeyJx+SIaCgtFunGcKq4sM4vQ9t3gk5DotFweyfbW+eEtMF1gqWdq
CzxV6+7tNCeCLEcrQHJxMW2Nd9D5kaJSZqUI8+bBAqe7XpjFmDrp6Y4ziY5X
AsqHtTFeJgbxH60KZIg7g54lnqiB0snQxdWu3T27g1WWeJuJIYLZk4I3n04U
oKIXTqJaWIcuO0Aswd8NUQPq4TkDcsS0HOUasPzlssuZsS0Sp892xF+Q5p5w
6uRGrs0.ilVfV5fEQ1s6tRmGBfF2imXsV7s4BwPWBb3WAJwgsyFe6QgzsQ39
RDe08lWYr9yAoOSX7yAAZdlfdF5co+SeBV5fpF+ZpotnoJo+0r+TiAWBTpbK
s7b8YnNbRwsSZT523HErUQhXRjTGi0fIUTkxpltuqogVc.gFG5aJRwlDH0aC
9VW2j44.jIQBYiHYDlt4bwHCvT+qyskK1tBLefrFjVh77sUfVBRHjshj2BQx
FBFgnecBFHCXS04pbyfr+gLejv1JRKUcEZi.gMYcyJPxD4VhkzKVh556usAM
IGOkGcSQ127.eaU0FDmnMS83sfIiLM8+5NyslFokkOwpp6lsNFRmyerP+dEc
PeKOu8V8FBbpXOw6mudWQNzJoyVgzVaSU6m6yyAsaTv4bgDg4M7NPJQmLjZW
4pOin5xtOAGs488ea++C2YCKa
-----------end_max5_patcher-----------