bionemo-core
所有 BioNeMo 框架包所依赖的通用代码。包含高度可重用、经过实战检验的抽象和实现,这些抽象和实现在各种领域和应用中都很有价值。
至关重要的是,bionemo-core
Python 包 (命名空间 bionemo.core
) 依赖于 PyTorch 和 PyTorch Lightning。其他关键的 BioNeMo 组件库,例如 bionemo-llm
和 bionemo-geometric
,通过 bionemo-core
获取它们的 PyTorch 依赖项。
开发者设置
在按照 README 中指定的设置进行设置后,您可以执行以下操作在您的环境中安装此项目的代码
pip install -e .
要运行具有代码覆盖率的单元测试,请执行
pytest -v --cov=bionemo --cov-report=term .
包亮点
在 bionemo.core.model.config
中: - ModelOutput
:模型的正向传递可能会生成张量、多个张量或命名张量。 - LossType
:损失函数的泛型类型参数。 - Model
:接受并产生 torch.Tensor
的任何 ML 模型的接口。 - ModelType
:约束为 Model
接口的泛型类型参数。 - BionemoModelConfig
:一个抽象类,支持参数化模型实例化,该实例化与 Megatron 兼容。 - BionemoTrainableModelConfig
:一个扩展,包含在训练期间与模型一起使用的损失函数。
在 bionemo.core.utils
中: - batching_utils
模块的 pad_token_ids
,它使用填充值填充 token id 并返回掩码。 - dtype
模块的 get_autocast_dtype
,它将 nemo/nvidia 数据类型转换为其 PyTorch 等效项。 - random_utils
模块,其中包括用于管理随机种子和执行采样的函数。
在 bionemo.data
包中,有: - multi_epoch_dataset
:包含许多对多 epoch 训练有用的数据集实现。 - resamplers
:包含基于 P-RNG 的数据集实现。
有一个常量全局值 bionemo.core.BIONEMO_CACHE_DIR
,它用作资源的本地磁盘缓存。