• Kajika@lemmy.mlOP
    link
    fedilink
    arrow-up
    47
    ·
    5 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.

      • Kajika@lemmy.mlOP
        link
        fedilink
        arrow-up
        17
        ·
        5 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.

        • fkn@lemmy.world
          cake
          link
          fedilink
          arrow-up
          5
          ·
          5 months ago

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

        • TheFadingOne@feddit.de
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          5 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

  • affiliate@lemmy.world
    cake
    link
    fedilink
    arrow-up
    3
    ·
    5 months ago

    this is just like in regular math too. not being a number is just so fun that nobody wants to go back to being a number once they get a taste of it