@Kajika@lemmy.ml
creator
link
fedilink
859M

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.

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

@Omega_Haxors@lemmy.ml
link
fedilink
English
3
edit-2
9M

If (var.nan){var = 0} my beloved.

It also depends on the context

@Kajika@lemmy.ml
creator
link
fedilink
319M

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.

Oof. This makes me appreciate the abstractions in Go. It’s a small thing but initializing structs with zero values by default is nice.

fkn
link
fedilink
129M

I too have forgotten to memset my structs in c++ tensorflow after prototyping in python.

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

Oof. C++ really is a harsh mistress.

I hope it was garlic NaN at least.

Create a post

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

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.
  • 1 user online
  • 77 users / day
  • 211 users / week
  • 413 users / month
  • 2.92K users / 6 months
  • 1 subscriber
  • 1.53K Posts
  • 33.8K Comments
  • Modlog