classify-frog 0.2.4.1 → 0.2.4.2
raw patch · 5 files changed
+19/−25 lines, 5 filesdep ~comfort-arraydep ~hmm-lapackdep ~lapack
Dependency ranges changed: comfort-array, hmm-lapack, lapack, semigroups
Files
- classify-frog.cabal +6/−7
- src/Feature.hs +1/−1
- src/HiddenMarkovModel.hs +1/−2
- src/HiddenMarkovModel/Hardwired.hs +7/−13
- src/Main.hs +4/−2
classify-frog.cabal view
@@ -1,5 +1,5 @@ Name: classify-frog-Version: 0.2.4.1+Version: 0.2.4.2 License: BSD3 License-File: LICENSE Author: Henning Thielemann <haskell@henning-thielemann.de>@@ -42,7 +42,7 @@ model/diclo/hmm-supervised.csv Source-Repository this- Tag: 0.2.4.1+ Tag: 0.2.4.2 Type: darcs Location: http://hub.darcs.net/thielema/classify-frog @@ -98,9 +98,9 @@ Hs-Source-Dirs: src Build-Depends:- hmm-lapack >=0.3 && <0.4,- lapack >=0.2 && <0.3,- comfort-array >=0.2 && <0.3,+ hmm-lapack >=0.4 && <0.5,+ lapack >=0.3 && <0.4,+ comfort-array >=0.4 && <0.5, text >=1.1 && <1.3, lazy-csv >=0.5 && <0.6, tagchup >=0.4 && <0.5,@@ -125,12 +125,11 @@ filemanip >=0.3.6 && <0.4, pathtype >=0.8 && <0.9, non-empty >=0.3 && <0.4,- semigroups >=0.1 && <1.0, containers >=0.4 && <0.7, explicit-exception >=0.1.8 && <0.2, transformers >=0.2 && <0.6, bifunctors >=5 && <6,- semigroups >=0.8.4.1 && <0.19,+ semigroups >=0.8.4.1 && <1.0, utility-ht >=0.0.12 && <0.1, numeric-prelude >=0.4 && <0.5, deepseq >=1.3 && <1.5,
src/Feature.hs view
@@ -634,7 +634,7 @@ LabelChain.T Int String _fineFromCoarseIntervalsBand20 _params rate = LabelChain.fineFromCoarseIntervalsInt- (case 3::Int of+ (case fromInteger 3 :: Int of 0 -> LabelChain.detectClicksExtrema (timeCeil rate (Time 0.01), timeCeil rate (Time 0.03))
src/HiddenMarkovModel.hs view
@@ -10,7 +10,6 @@ import qualified Numeric.LAPACK.Matrix as Matrix import qualified Numeric.LAPACK.Vector as Vector-import Numeric.LAPACK.Matrix (ZeroInt) import Numeric.LAPACK.Vector (Vector) import qualified Data.Array.Comfort.Storable as ComfortArray@@ -154,7 +153,7 @@ (Storable a) => NonEmpty.T SVL.Vector a -> SVL.Vector a flattenStorableVectorLazy (NonEmpty.Cons x xs) = SVL.cons x xs -prepare :: [Named.NonEmptySignal] -> NonEmpty.T [] (Vector ZeroInt Double)+prepare :: [Named.NonEmptySignal] -> NonEmpty.T [] (Vector ShapeInt Double) prepare nxs = let xs = map Named.body nxs vecFromList = ComfortArray.map realToFrac . Vector.autoFromList
src/HiddenMarkovModel/Hardwired.hs view
@@ -16,7 +16,6 @@ import qualified Numeric.LAPACK.Matrix.Square as Square import qualified Numeric.LAPACK.Matrix as Matrix import qualified Numeric.LAPACK.Vector as Vector-import Numeric.LAPACK.Matrix (ZeroInt) import qualified Data.Array.Comfort.Boxed as Array import Data.Array.Comfort.Boxed (Array)@@ -135,21 +134,16 @@ hmmPattern :: Gaussian hmmPattern =- (HMM.finishTraining $- Pat.finish statesShape- (Distr.GaussianTrained $- Array.fromList statesShape (replicate numberOfStates Nothing) ::- Distr.GaussianTrained ShapeInt ShapeState Double)- pattern)- {HMM.distribution =- Distr.gaussian $ Array.fromList statesShape $+ HMM.finishTraining $ flip Pat.finish pattern $+ Distr.gaussianTrained $ Array.fromList statesShape $+ map (\(center,cov) -> (1,center,cov)) $ (Vector.autoFromList [1.00], covariance [[0.17]]) : (Vector.autoFromList [1.60], covariance [[0.60]]) : (Vector.autoFromList [0.75], covariance [[0.40]]) : (Vector.autoFromList [1.00], covariance [[0.20]]) : (Vector.autoFromList [0.60], covariance [[0.30]]) : (Vector.autoFromList [1.60], covariance [[0.60]]) :- []}+ [] hmmNamed :: NamedGaussian hmmNamed =@@ -160,13 +154,13 @@ } -type HermitianMatrix = Hermitian.Hermitian ZeroInt+type HermitianMatrix = Hermitian.Hermitian ShapeInt covariance :: [[Double]] -> HermitianMatrix Double covariance = maybe (Hermitian.autoFromList MatrixShape.RowMajor [])- (Hermitian.covariance . Matrix.fromRowsNonEmpty) .+ (Hermitian.gramian . Matrix.fromRowsNonEmpty) . NonEmpty.fetch . map Vector.autoFromList @@ -176,5 +170,5 @@ HMM.distribution = let Distr.Gaussian arr = HMM.distribution model in Distr.Gaussian $- fmap (\(center,dev,c) -> (center, Vector.scale k dev, c/k)) arr+ fmap (\(c,center,dev) -> (c/k, center, Matrix.scale k dev)) arr }
src/Main.hs view
@@ -143,6 +143,8 @@ import System.Path ((</>), (<.>), ) import Text.Printf (printf, ) +import qualified Numeric.LAPACK.Matrix.Array as ArrMatrix+import qualified Numeric.LAPACK.Matrix as Matrix import qualified Numeric.LAPACK.Vector as Vector import qualified Algebra.RealRing as Real import qualified Algebra.Ring as Ring@@ -559,8 +561,8 @@ printModelDifference :: HMM.Gaussian -> HMM.Gaussian -> IO () printModelDifference hmmSup hmmUnsup = void $ printf "difference between supervised and unsupervised: %f\n" $- Vector.normInf $- Vector.sub (HMM0.transition hmmSup) (HMM0.transition hmmUnsup)+ Vector.normInf $ ArrMatrix.toVector $+ Matrix.sub (HMM0.transition hmmSup) (HMM0.transition hmmUnsup)