尼莫核心包。所有收藏都需要
nemo-toolkit的Python项目详细描述
NeMo(NeuralModules)是一个工具包,用于创建围绕神经模块构建的人工智能应用程序,这些神经网络的概念块接受typed输入并产生typed输出。在
NeMo Core为所有神经模型和NeMo类型系统提供基本的构建块。在
核心原则
NEMO基于以下原则构建:
- 神经模块是从一组输入中计算一组输出的块。
- 把它看作是层和神经网络之间的抽象。在
- 示例:预先训练的语言模型、声学模型、编码器、解码器等
- 基于NeMo的应用程序是一个DAG:class:
NeuralModule<nemo.core.neural_modules.NeuralModule>
对象通过typedinput和output端口连接在一起。- :class:
NmTensor<nemo.core.neural_types.NmTensor>
对象在模块之间从端口流向端口。在 - Lazy-execution模型。首先,用户定义激活流图。然后,调用action(例如培训)。实际计算只在调用action之后发生。在
- :class:
- 每个神经模块和:class:
NmTensor<nemo.core.neural_types.NmTensor>
对象的输入和输出端口都有neural Type-:class:NeuralType<nemo.core.neural_types.NeuralType>
。在 - :class:
NeuralType<nemo.core.neural_types.NeuralType>
张量的语义、轴顺序和维数等等。在 - 域或模块特定的Callbacks用于评估和检查培训性能。在
为在GPU上运行而构建
NeMo Core提供:
- 基于NVIDIA Volta和Turing gpu的张量核混合精度训练
- 分布式训练
- 分布式评估
- 项目
标签: