Haskell Artificial Neural Networking library
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

25 rindas
768B

  1. import Network
  2. import Numeric.LinearAlgebra
  3. trainData :: Samples Double
  4. trainData = [(vector [0, 0], vector [0]),
  5. (vector [0, 1], vector [1]),
  6. (vector [1, 0], vector [1]),
  7. (vector [0, 0], vector [0])]
  8. l1 = Layer { weights = (3><2) [1..], biases = vector [1..3] }
  9. l2 = Layer { weights = (1><3) [1..], biases = vector [1] }
  10. fixedNet = Network [l1, l2]
  11. debug _ _ = "Bla!"
  12. main :: IO ()
  13. main = do
  14. net <- newNetwork [2, 3, 1]
  15. {-let smartNet = update 0.06 net trainData-}
  16. {-[>let smartNet = trainSGD net trainData 4 0.06<]-}
  17. let debug _ _ = ""
  18. smartNet = trainNTimes 100000 debug net trainData 4 100
  19. putStrLn "Output after learning: "
  20. mapM_ (print . Network.output smartNet sigmoid . fst) trainData