reordered inputs and improved style
This commit is contained in:
+7
-6
@@ -18,7 +18,7 @@ module Network (
|
||||
Layer(..),
|
||||
newNetwork,
|
||||
output,
|
||||
|
||||
|
||||
-- * Learning functions
|
||||
trainShuffled,
|
||||
trainNTimes,
|
||||
@@ -39,19 +39,19 @@ module Network (
|
||||
loadNetwork
|
||||
) where
|
||||
|
||||
import Data.List.Split (chunksOf)
|
||||
import Data.List (foldl')
|
||||
import Data.Binary
|
||||
import Data.List.Split (chunksOf)
|
||||
import Data.Maybe (fromMaybe)
|
||||
import Text.Read (readMaybe)
|
||||
import Data.Binary
|
||||
|
||||
import System.Directory
|
||||
import System.Random
|
||||
import Control.Monad (zipWithM, forM)
|
||||
import Data.Array.IO
|
||||
import Debug.Trace (trace)
|
||||
import Text.Regex.PCRE
|
||||
|
||||
import Text.Regex.PCRE
|
||||
import Numeric.LinearAlgebra
|
||||
|
||||
-- | The generic feedforward network type, a binary instance is implemented.
|
||||
@@ -109,7 +109,8 @@ type Sample a = (Vector a, Vector a)
|
||||
-- | A list of 'Sample's
|
||||
type Samples a = [Sample a]
|
||||
|
||||
-- | A simple synonym for the (,) operator, used to create samples very intuitively.
|
||||
-- | A simple synonym for the (,) operator, used to create samples very
|
||||
-- intuitively.
|
||||
(-->) :: Vector a -> Vector a -> Sample a
|
||||
(-->) = (,)
|
||||
|
||||
@@ -139,7 +140,7 @@ newNetwork layerSizes
|
||||
return $ Network lays
|
||||
where go :: Int -> Int -> IO (Layer Double)
|
||||
go inputSize outputSize = do
|
||||
ws <- fmap (/ (sqrt $ fromIntegral inputSize)) (randn outputSize inputSize)
|
||||
ws <- (/ (sqrt $ fromIntegral inputSize)) <$> randn outputSize inputSize
|
||||
seed <- randomIO
|
||||
let bs = randomVector seed Gaussian outputSize
|
||||
return $ Layer ws bs
|
||||
|
||||
Reference in New Issue
Block a user