• @[email protected]OP
    link
    fedilink
    789 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.

    • @kurwa
      link
      449 months ago

      I hope it was garlic NaN at least.

      • @[email protected]OP
        link
        fedilink
        279 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
          link
          129 months ago

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

        • @[email protected]
          link
          fedilink
          3
          edit-2
          9 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

        • nickwitha_k (he/him)
          link
          fedilink
          19 months ago

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

  • @affiliate
    link
    319 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

  • kubica
    link
    fedilink
    69 months ago

    Fucking over-dramatic divisions by 0, sigh.

  • @[email protected]
    link
    fedilink
    5
    edit-2
    9 months ago

    Also applies to nulls in SQL queries.

    It’s not fun tracing where nulls are coming from when dealing with a 1500 line data warehouse pipeline query that aggregates 20 different tables.

  • @[email protected]
    link
    fedilink
    39 months ago

    NaN is such a fun floating point virus. Some really wonky gameplay after we hit NaN in a few spots.

  • @ElectricMoose
    link
    39 months ago

    Consider IEEE754 arithmetic as monadic, simple!

  • @[email protected]
    link
    fedilink
    39 months ago

    As I was coding in C++ my own Engine with OpenGL. I forgot something to do. Maybe forgot to assign a pointer or forgot to pass a variable. At the end I had copied a NaN value to a vertieces of my Model as the Model should be a wrapper for Data I wanted to read and visualize.

    Printing the entire Model into the terminal confused me why everything is NaN suddenly when it started nicely.

  • Moosely
    link
    English
    19 months ago

    This gave me some real Agent Smith vibes