packages feed

fei-nn-1.0.0: fei-nn.cabal

cabal-version:              2.2
name:                       fei-nn
version:                    1.0.0
synopsis:                   Train a neural network with MXNet in Haskell.
description:                High level APIs to rain a neural network with MXNet in Haskell.
homepage:                   http://github.com/pierric/fei-nn
license:                    BSD-3-Clause
license-file:               LICENSE
author:                     Jiasen Wu
maintainer:                 jiasenwu@hotmail.com
copyright:                  Copyright: (c) 2020 Jiasen Wu
category:                   Machine Learning, AI
build-type:                 Simple

Flag mxnet_geq_10600 {
    Description: MXNet >= 1.6.0
    Default: False
}

Flag neptune {
    Description: Integrate Neptune
    Default: False
}

Library
    exposed-modules:        MXNet.NN
                            MXNet.NN.Types
                            MXNet.NN.Session
                            MXNet.NN.Utils
                            MXNet.NN.Utils.GraphViz
                            MXNet.NN.Utils.Repa
                            MXNet.NN.Utils.Render
                            MXNet.NN.Layer
                            MXNet.NN.Optimizer
                            MXNet.NN.LrScheduler
                            MXNet.NN.EvalMetric
                            MXNet.NN.Initializer
                            MXNet.NN.Callback
                            MXNet.NN.TaggedState
                            MXNet.NN.Module
                            MXNet.NN.DataIter.Class
                            MXNet.NN.DataIter.Vec
                            MXNet.NN.DataIter.Streaming
                            MXNet.NN.DataIter.Conduit
                            MXNet.NN.DataIter.ConduitAsync
    other-modules:
    hs-source-dirs:         src
    ghc-options:            -Wall
    default-language:       Haskell2010
    default-extensions:     GADTs,
                            TypeFamilies,
                            TypeOperators,
                            OverloadedLabels,
                            OverloadedStrings,
                            FlexibleContexts,
                            FlexibleInstances,
                            LambdaCase,
                            MultiWayIf,
                            DoAndIfThenElse,
                            TypeApplications,
                            DataKinds,
                            RecordWildCards,
                            ExplicitForAll,
                            ExistentialQuantification,
                            NoImplicitPrelude
    if impl(ghc >= 8.6)
        default-extensions: NoMonadFailDesugaring
    build-depends:          base >= 4.7 && < 5.0
                          , resourcet >= 1.1.8
                          , lens >= 4.12
                          , transformers-base >= 0.4.4
                          , aeson >= 1.2
                          , containers >= 0.5
                          , template-haskell >= 2.12
                          , graphviz
                          , time < 2.0
                          , type-combinators
                          , streaming >= 0.1.4.5
                          , conduit >= 1.2 && < 1.4
                          , conduit-combinators >= 1.1.2 && < 1.4
                          , stm-conduit
                          , formatting
                          , wl-pprint-text
                          , repa
                          , Rasterific
                          , JuicyPixels
                          , FontyFruity
                          , rio
                          , uuid
                          , fei-base
    if flag(mxnet_geq_10600) {
        cpp-options:        -DMXNET_GEQ_10600
    }
    if flag(neptune) {
        cpp-options:        -DNEPTUNE
        build-depends:      neptune-backend < 0.2
    }