贡献
如何贡献Eclipse Deeplearning4j源代码。
在做出贡献之前,确保你知道所有的Eclipse DL4J库的结构。早在2018年初,所有的库都入住在Deeplearning4j monorepo。这些包括:
DeepLearning4J: 包含用于既在单个机器上,又在分布式上学习神经网络的所有代码。
ND4J: “Java的n维数组”。ND4J是建立DL4J的数学后端。所有的DL4J神经网络都是使用ND4J中的运算(矩阵乘法、向量运算等)来构建的。ND4J是DL4J实现在没有改变网络本身的情况化,即可以CPU又可以GPU训练网络的原因。 没有Nd4J,就不会有DL4J。
DataVec: DataVec处理管道侧的数据导入和转换。如果你 想将图像、视频、音频或简单CSV数据导入DL4J:你可能想要使用DataVec来实现。
Arbiter: Arbiter是一种用于神经网络超参数优化的软件包。超参数优化是指自动选择网络超参数(学习速率、层数等)以获得良好性能的过程。
我们也有一个额外的示例仓库在 .
有多种方式为DeepLearning4J (和相关项目)做贡献,这取决于你的兴趣和经验。这有一些建议:
添加一个新的神经网络类型 (例如: 不同类型的 RNNs, 本地连接网络等)
这有很多不同的方法来寻找工作。这些包括:
在你开始做之前,有一些事情你需要知道。特别是我们使用的工具:
Maven: 一个依赖性管理和构建工具,用于我们所有的项目。有关Maven的详细信息,请参见此。
Project Lombok: Lombok项目是一种代码生成/注释工具,其目的是减少Java中所需的“多余”代码(即标准重复代码)的数量。要使用源代码,你需要为IDE安装Lombok插件。
要记住的事情:
为一个明显的功能添加添加一个作者标签是受大家欢迎的。这也可以帮助特征贡献者,以防他们需要问原作者问题。如果多个作者出现在一个类中:提供谁做了什么的细节(“初始实现”,“添加一个特征”等)