选择环境前先明确任务

本地部署应从界定清楚的化学任务开始,而不是从安装命令开始。确定你需要的是分子处理、模型训练、使用现有模型进行预测,还是教程环境。选择依赖项前,记录预期输入、输出和接口。

提供的资源草稿描述了不同的用途:

  • RDKit 提供分子操作、描述符和指纹,以及数据库和工作流集成。它是一套工具包,而非单一预测模型。
  • Chemprop 提供基于 PyTorch 的消息传递神经网络工作流,用于分子性质预测,包括通过命令行教程和 Python 模块进行训练、评估和预测。
  • DeepChem 提供科学机器学习工具链,以及适用于 TensorFlow、PyTorch 和 JAX 工作流的后端特定依赖项。

这些描述说明了候选工具的能力,并不能证明任意版本之间都兼容。组合使用这些工具属于拟议的集成方案;在检查所选版本并运行目标工作流之前,不应视为已验证。

记录文档所述要求和未决问题

为每项选定资源建立需求记录。查阅 RDKit 概览、RDKit 文档、Chemprop 文档和 DeepChem 文档。记录来源 URL 以及所依据的发行版或文档分支。

对每个组件,记录:

  • 文档所述的操作系统和语言运行时要求。
  • 所选功能所需的依赖项和可选依赖项。
  • 对该工作流而言,GPU 使用是必需、可选还是未说明。
  • 所需数据集、检查点及其他可下载资源。
  • 文档与软件包元数据之间尚未解决的任何差异。

版本选择值得特别关注。Chemprop 草稿提到 v2 进行了大幅重写、更改了默认设置,并停止支持 v1。DeepChem 草稿指出,其 README 和软件包配置文件中的 Python 兼容性声明存在差异;这些材料并未确立一个一致的受支持范围。不要靠猜测来填补这些空缺。

请思考:这项要求是否适用于我选定的版本和接口? 硬件基准和截图不能可靠替代安装要求。

隔离依赖并保留环境配置

使用项目专属环境,而不是更改主机系统的共享依赖。将所选版本、环境定义和安装命令以可检查的文本形式保存。执行前先阅读命令,尤其是会获取远程脚本或请求提升权限的命令。

DeepChem 提供的草稿列出了 pip、conda、Docker 和源代码安装方式,包括 stable 和 nightly 选项。这并不意味着每种方式都适用于每个后端。应针对预期功能选择文档中说明的安装方式,而不是默认安装所有可选框架。

如果计划中的工作流涉及多项资源,应先分别为每个相关组件建立一个小型示例,再评估组合环境。遇到依赖冲突时,应作出有记录的决定,例如将处理和训练环境分开,而不是不加说明地替换版本。

保留仓库链接,以便追溯配置和发行版相关问题:RDKit、Chemprop 和 DeepChem。

检查输入、输出和网络访问

在本地运行并不自动意味着可以离线运行。在引入敏感数据前,清点读取和写入的文件、下载的资源、外部端点及可选跟踪集成。

DeepChem 草稿描述了用于训练和评估指标的 Weights & Biases 集成。如果考虑使用,应检查所选配置会发送哪些内容,以及这是否符合项目要求。文档中提到该集成,并不能证明某个特定安装中已启用跟踪功能。

定义输入/输出约定:

  • **输入:**分子记录、标签、配置,以及所选示例需要的任何模型资源。
  • **输出:**适用时,包括处理后的特征、预测、模型文件、日志或指标。
  • **控制措施:**经批准的存储位置、访问权限、保留期限以及外部传输规则。

提供的摘录并未确立这三项资源的全部确切文件架构。应在相关教程中确认格式,而不要假设某项工具的输出一定是另一项工具可接受的输入。将凭据保存在适当的本地配置中,置于仓库和模型提示之外;不要将其写入共享日志和报告。

先运行一个小型官方示例

从文档中提供的示例和公开、非敏感输入开始。记录所选版本、配置、参数和观察到的输出。如果资源缺失或无法获取,应记录失败情况,而不是悄悄替换模型或发行版。

对于 RDKit,选择与预期任务相关的小型分子操作或特征生成示例。对于 Chemprop,选择与训练、评估或预测相匹配的教程。对于 DeepChem,选择适合拟议工作流的教程和后端;其草稿提到了一些旨在本地或 Google Colab 上运行的教程。

将以下两个问题分开:软件是否按预期运行?以及结果在科学上是否适用? 安装成功或完成教程,并不能回答模型对新数据集的泛化能力或预测准确性问题。

演练假设部署方案

**假设示例:**某研究团队希望根据带标签的分子记录预测一种分子性质,同时将其内部数据集保留在工作站上。

首先,团队选择一个与目标终点相匹配的 Chemprop 教程,并核对其确切输入架构。团队使用公开示例输入进行设置,记录预期预测输出和模型保存流程,并依据文档确定硬件要求,而不预设必须使用 GPU。

团队还考虑使用 RDKit 生成的描述符。RDKit 草稿支持描述符生成,Chemprop 草稿则描述了额外描述符工作流,但这种组合仍属于拟议的集成方案。尝试之前,团队必须检查分子表示、描述符顺序、缺失值处理和记录对齐方式。

如果有合适教程促使团队考虑 DeepChem,可将其作为独立环境进行评估;它并不是需要自动追加的另一项依赖。

决策门槛应当明确:只有在示例运行成功、输出可检查、依赖项已记录且网络行为已了解之后,才继续使用经批准的内部数据。科学评估仍需另行规划数据划分、目标终点有效性和适当的评估方法。

检查资源使用、恢复和维护

在扩大规模前,使用有界输入观察运行时间、内存消耗和存储增长。为长时间任务设定限制,保留有用的中间输出,并记录重启行为。除非所选工作流在文档中说明并已在你的环境中演示,否则不要假设检查点可以用于恢复。

除了环境定义,还应保留回滚方案。跟踪上游依赖项和许可证的变化,但不要把许可证标签视为对许可使用范围的完整评估。提供的草稿未提供性能保证、部署基准或经验证的组合兼容性。

最终部署检查清单

  • 明确任务和预期输入/输出约定。
  • 记录要求、所选版本和未决问题。
  • 隔离依赖并检查安装命令。
  • 批准数据存储、下载和外部通信。
  • 运行一个小型官方示例并保留观察记录。
  • 检查资源限制、重启流程和回滚方案。
  • 将科学适用性与运行成功分开评估。

浏览资源并浏览科学任务,以查找相关记录和来源链接。本指南用于部署规划,不构成兼容性或科学性能认证。