Haskell Artificial Neural Networking library
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

25 lignes
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