packages feed

fei-base-0.2.0.0: fei-base.cabal

cabal-version:       2.2
name:                fei-base
version:             0.2.0.0
synopsis:            FFI to MXNet
description:         This package provides a FFI wrap of MXNet, including c-apis and symbol/array/executor operations.
homepage:
license:             BSD-3-Clause
license-file:        LICENSE
author:              Jiasen Wu
maintainer:          jiasenwu@hotmail.com
copyright:           2018 Jiasen Wu
category:            Machine Learning, AI
build-type:          Simple
extra-source-files:  README.md

Flag MXNet_1_5 {
  Description: With MXNet 1.5.x operators
  Default: True
}

Flag MXNet_1_4 {
  Description: With MXNet 1.4.x operators
  Default: False
}

Flag MXNet_1_3 {
  Description: With MXNet 1.3.x operators
  Default: False
}

Flag MXNet_1_0 {
  Description: With MXNet 1.0.x operators
  Default: False
}

library
  hs-source-dirs:      c-apis
  if flag(MXNet_1_0) {
      hs-source-dirs:  ops/1.0
  }
  elif flag(MXNet_1_3) {
      hs-source-dirs:  ops/1.3
  }
  elif flag(MXNet_1_4) {
      hs-source-dirs:  ops/1.4
  }
  elif flag(MXNet_1_5) {
      hs-source-dirs:  ops/1.5
  }
  build-depends:       base >= 4.7 && < 5,
                       c2hs-extra == 0.1.0.1,
                       tuple-ops == 0.0.0.3,
                       vector >= 0.11 && < 0.13,
                       constraints,
                       repa
  default-language:    Haskell2010
  Build-tools:         c2hs
  default-extensions:  FlexibleContexts,
                       GADTs,
                       StandaloneDeriving,
                       DeriveGeneric,
                       GeneralizedNewtypeDeriving,
                       ExplicitForAll,
                       DataKinds,
                       TypeFamilies,
                       OverloadedLabels,
                       TupleSections
  exposed-modules:     MXNet.Base,
                       MXNet.Base.Raw,
                       MXNet.Base.Types,
                       MXNet.Base.Symbol,
                       MXNet.Base.NDArray,
                       MXNet.Base.Executor,
                       MXNet.Base.Spec.Operator,
                       MXNet.Base.Spec.HMap
  if flag(MXNet_1_0) || flag(MXNet_1_3) || flag(MXNet_1_4) || flag(MXnet_1_5) {
    exposed-modules:   MXNet.Base.Operators.Symbol,
                       MXNet.Base.Operators.NDArray
  }
  other-modules:       MXNet.Base.Raw.Common,
                       MXNet.Base.Raw.NDArray,
                       MXNet.Base.Raw.Symbol,
                       MXNet.Base.Raw.Executor,
                       MXNet.Base.Raw.DataIter
  extra-libraries:     mxnet

executable mxnet-op-gen
  hs-source-dirs:      cmdline
  main-is:             Main.hs
  build-depends:       base >= 4.7 && < 5,
                       optparse-applicative >= 0.14 && < 0.15,
                       haskell-src-exts >= 1.20,
                       hslogger >= 1.2,
                       text >= 1.2.0 && < 1.3,
                       mtl,
                       filepath >= 1.4 && < 1.5,
                       directory >= 1.3 && < 1.4,
                       fei-base
  default-language:    Haskell2010
  default-extensions:  FlexibleContexts
  extra-libraries:     mxnet

source-repository head
  type:     git
  location: https://github.com/pierric/fei-base