722
submitted 7 months ago by Kajika@lemmy.ml to c/programmerhumor@lemmy.ml
you are viewing a single comment's thread
view the rest of the comments
[-] Kajika@lemmy.ml 85 points 7 months ago

Took me 2 hours to find out why the final output of a neural network was a bunch of NaN. This is always very annoying but I can't really complain, it make sense. Just sucks.

[-] flying_sheep@lemmy.ml 16 points 7 months ago

I guess you can always just add an assert not data.isna().any() in strategic locations

[-] Kajika@lemmy.ml 31 points 7 months ago

That could be a nice way. Sadly it was in a C++ code base (using tensorflow). Therefore no such nice things (would be slow too). I skill-issued myself thinking a struct would be 0 -initialized but MyStruct input; would not while MyStruct input {}; will (that was the fix). Long story.

[-] TheFadingOne@feddit.de 5 points 7 months ago* (last edited 7 months ago)

If you use the GNU libc the feenableexcept function, which you can use to enable certain floating point exceptions, could be useful to catch unexpected/unwanted NaNs

load more comments (3 replies)
load more comments (5 replies)
load more comments (6 replies)
this post was submitted on 08 Feb 2024
722 points (99.3% liked)

Programmer Humor

32050 readers
1554 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS