DeepLearig.scala是一个DSL创建的深度神经网络,Scala语言编写。利用DeepLearig.scala,普通程序员能够从简单的代码构建复杂的神经网络。你可以像往常一样编写代码,唯一的区别是基于DeepLearig.scala的代码是可区分的,这使得这样的代码可以通过不断修改参数来改善。
特性可区分的基础类型
像 Theao 和其他深度学习工具包一样,DeepLearig.scala允许从数学公式构建神经网络。它支持浮点数,双精度,GPU加速的N维数组,并计算公式中权重的导数。
可区分的ADT
DeepLearig.scala创建的神经网络支持 ADT 数据结构(例如 HList 和 Coproduct),并通过这些数据结构计算导数。
可区分控制流
由DeepLearig.scala创建的神经网络可能包含像常规语言中的if/else/match/case这样的控制流。结合ADT数据结构,您可以在神经网络中实现任意算法,并且仍然保留在算法中使用的一些变量可区分和可训练。
可组合性
DeepLearig.scala创建的神经网络是可组合的。您可以通过组合较小的网络来创建大型网络。如果两个较大的网络共享一些子网络,则用一个网络训练的共享子网络中的权重影响另一个网络。
静态类型系统
所有上述功能都是静态类型检查。
配置:
{ "sudo": false, "addos": { "apt": { "packages": [ "graphviz" ] } }, "laguage": "scala", "jdk": "oraclejdk8", "before_cache": [ "fid $HOME/.sbt -ame '*.lock' -delete", "fid $HOME/.ivy2 -ame 'ivydata-*.properties' -delete" ], "cache": { "directories": [ "$HOME/.ivy2/cache", "$HOME/.sbt/boot/" ] }, "script": [ "sbt +test" ], "before_deploy": ull, "group": "stable", "dist": "precise", "os": "liux"}










评论