当前位置: 首页 > backend >正文

来自麻省理工和AI制药公司 Recursion 的结构与结合亲和力预测模型Boltz-2,解决小分子药物发现的关键问题

1. Boltz-2介绍

 文章来源:http://jeremywohlwend.com/assets/boltz2.pdf

开源代码来源:https://github.com/jwohlwend/boltz

该AI模型由麻省理工学院计算机科学与人工智能实验室与上市AI制药公司Recursion一起开发,双方在Boltz-1的基础之上,通过改进和拓展性能而来。

简单来说,Boltz 与 AlphaFold3 一样,均是一种全原子共折叠模型,它将蛋白质折叠或结构预测的概念扩展到DNA、RNA、配体中。该模型不仅可以预测分子相互作用的 3D 结构,还可用于分子设计等下游任务。Boltz-2将亲和力预测与结构建模相结合,提高了预测结构的物理真实感。

Boltz-2 在一个大型数据集上进行了训练,该数据集结合了500万个结合亲和力测量值、分子动力学模拟和蒸馏数据,这些方法显著提高了预测结构的物理真实感。

在标准 FEP+ 亲和力基准测试中,Boltz-2 实现了 0.62 的平均 Pearson相关系数,能够与可开源 FEP 流程 OpenFE 相媲美。在速度方面,Boltz-2 只需 20 秒即可计算出结合亲和值,比当前FEP预测快1000倍

在表示学习方面,亲和力预测建立在驱动共折叠过程的潜在表示之上。这种表示本质上编码了关于生物分子相互作用的丰富信息。因此,Boltz-2在结合亲和力预测方面的改进是由结构建模的进步所推动的。这些进步源于:(1)扩展训练数据,超越静态结构,包括实验和分子动力学集合;(2)显著扩大多样模态下的蒸馏数据集;(3)通过基于实验方法、用户定义的距离约束和多链模板集成来增强用户控制。
整体解析:
这段文字主要讨论了Boltz-2在结合亲和力预测方面的改进与其背后的驱动因素。首先提到的是表示学习的重要性,其中潜在表示(latent representation)是亲和力预测的核心,它能够捕捉生物分子相互作用的关键信息。接着指出,Boltz-2的性能提升得益于结构建模的进步,而这些进步来源于三个方面:一是扩展了训练数据的范围,使其不仅限于静态结构,还包括实验数据和分子动力学模拟数据;二是通过增加蒸馏数据集的规模和多样性来提高模型的泛化能力;三是通过引入用户自定义参数(如实验方法和距离约束)以及多链模板集成,增强了模型的灵活性和可控性。这表明,Boltz-2不仅在算法层面有所改进,还在数据和用户交互方面进行了优化。

Boltz-2药物发现的重要场景

Boltz-2对亲和力的准确预测,使得它可用于药物发现的重要场景:

苗头化合物发现(Hit discovery):该模型在高通量筛选中区分结合剂(binders)与诱饵(decoys),并在MF-PCBA基准测试中实现了显著的富集增益 [Buterez等, 2023],其表现优于对接(docking)和机器学习(ML)方法。具体来说,该模型的任务是从高通量筛选(high-throughput screens)中识别出真正的结合剂(binders),同时排除非活性分子(decoys)。通过使用MF-PCBA基准测试对该模型进行评估,结果表明它在富集增益(enrichment gains)方面表现优异。富集增益是指模型能够以更高的比例挑选出真正有活性的分子,相较于随机选择或传统方法更具优势。此外,该模型的表现超越了传统的对接(docking)方法以及基于机器学习(ML)的方法,体现了其在药物筛选中的潜力。

苗头化合物到先导化合物以及先导化合物优化(Hit-to-lead and lead optimization): 是药物发现和开发过程中的两个关键阶段。首先,“Hit-to-lead” 指的是在初期筛选中找到具有活性的化合物(称为“hit”),然后通过进一步的化学修饰和生物学测试,将这些“hit”转化为更具潜力和选择性的候选分子,即“lead”。接下来,“lead optimization” 是对这些先导化合物进行优化的过程,通过对化合物的结构进行调整,提高其药效、选择性、代谢稳定性等特性,以使其更接近成为临床试验中的候选药物。这两个阶段是药物研发的重要步骤,为后续的临床研究奠定基础。

从头生成(de-novo Generation):De-novo Generation(从头生成)与生成模型相结合 [Cretu et al., 2024],Boltz-2 能够发现新的结合剂。在针对 TYK2 靶点的前瞻性筛选中,该流程能够生成多样化、可合成的高亲和力结合剂,这一点通过绝对结合自由能 (ABFE) 模拟 [Wu et al., 2025] 估算得出。这种方法特别适用于发现针对特定靶点(如 TYK2)的新结合剂(binders)。文中提到,该流程不仅能够生成多样化的分子,还确保这些分子具有高亲和力(high-affinity),并且可以通过化学手段合成(synthetizable)。为了验证这些分子的实际效果,研究团队使用了绝对结合自由能(ABFE)模拟来评估分子与靶点之间的结合强度。这种结合强度是药物设计中的关键指标,直接反映了分子作为潜在药物的潜力。

Boltz-2的改进及对比优势

与Boltz-1相比,Boltz-2在跨模态的晶体结构预测方面有所改进,特别是在抗体-抗原复合物等具有挑战性的目标上表现尤为突出。当与分子动力学模拟进行基准比较时,Boltz-2在预测关键动态特性(如均方根波动RMSF)方面的性能可以与近期的专用模型(例如AlphaFlow [Jing et al., 2024] 和 BioEmu [Lewis et al., 2025])相媲美。

igure 3: Evaluation of the performance of Boltz-2 against existing co-folding models on a diverse
set of unseen complexes. Error bars indicate 95% confidence intervals.

2. 安装及应用

安装:

创建一个conda环境,boltz-2

conda create -n boltz-2 python=3.12

激活环境,后续在环境中操作。

conda activate boltz-2

方法1:创建一个新的python环境(比如使用conda),使用pip安装:

pip install boltz -U

方法2:下载并安装最新版本:

git clone https://github.com/jwohlwend/boltz.git
cd boltz; pip install -e .
使用推理:
boltz predict input_path --use_msa_server

input_path 应指向一个 YAML 文件,或用于批量处理的 YAML 文件目录,描述您想要建模的生物分子及其预测的属性(例如亲和力)。要查看所有可用选项:boltz predict --help;有关这些输入格式的更多信息,请参阅我们的预测说明。默认情况下,boltz 命令将运行模型的最新版本。

YAML 格式更加灵活,允许更复杂的输入,尤其是共价键相关的输入。YAML 的架构如下:

sequences:- ENTITY_TYPE:id: CHAIN_ID sequence: SEQUENCE    # only for protein, dna, rnasmiles: 'SMILES'        # only for ligand, exclusive with ccdccd: CCD              # only for ligand, exclusive with smilesmsa: MSA_PATH         # only for proteinmodifications:- position: RES_IDX   # index of residue, starting from 1ccd: CCD            # CCD code of the modified residuecyclic: false- ENTITY_TYPE:id: [CHAIN_ID, CHAIN_ID]    # multiple ids in case of multiple identical entities...
constraints:- bond:atom1: [CHAIN_ID, RES_IDX, ATOM_NAME]atom2: [CHAIN_ID, RES_IDX, ATOM_NAME]- pocket:binder: CHAIN_IDcontacts: [[CHAIN_ID, RES_IDX/ATOM_NAME], [CHAIN_ID, RES_IDX/ATOM_NAME]]max_distance: DIST_ANGSTROM- contact:token1: [CHAIN_ID, RES_IDX/ATOM_NAME]token2: [CHAIN_ID, RES_IDX/ATOM_NAME]max_distance: DIST_ANGSTROMtemplates:- cif: CIF_PATH  # if only a path is provided, Boltz will find the best matchings- cif: CIF_PATHchain_id: CHAIN_ID   # optional, specifiy which chain to find a template for- cif: CIF_PATHchain_id: [CHAIN_ID, CHAIN_ID]  # can be more than onetemplate_id: [TEMPLATE_CHAIN_ID, TEMPLATE_CHAIN_ID]
properties:- affinity:binder: CHAIN_ID

sequences输入中每个唯一的链/分子都有一个条目。每个聚合物实体都表示为ENTITY_TYPE 、proteindnarna并具有一个sequence属性。非聚合物实体用ENTITY_TYPE等于表示ligand,并具有smilesccd属性。CHAIN_ID是每个链/分子的唯一标识符,如果结构中存在多个相同的实体,则应将其设置为列表。对于蛋白质,msa默认情况下需要键,但可以通过传递--use_msa_server标志来省略,该标志将使用 mmseqs2 服务器自动生成 MSA。如果您希望使用预先计算的 MSA,请使用msa属性,该属性MSA_PATH指示包含该蛋白质 MSA 的文件的路径。如果您希望明确运行单序列模式(通常不建议这样做,因为它会损害模型性能),您可以使用该蛋白质的特殊关键字(例如: ).a3m来实现。对于自定义 MSA,您可能希望向模型指示配对键。您可以使用 CSV 格式(而不是 a3m)来实现此目的,其中包含两列:包含蛋白质序列和 ,其中 是一个唯一标识符,指示每个蛋白质链在 CSV 文件中的匹配行。emptymsa: emptysequencekey

字段modifications为可选字段,用于指定聚合物中的修饰残基(proteindnarna)。position字段指定残基的索引(从 1 开始),ccd为修饰残基的 CCD 代码。此字段目前仅支持 CCD 配体。 标志cyclic应用于指定环状聚合物链(而非配体)。

constraints是一个可选字段,允许您指定有关输入结构的附加信息。

  • bond约束指定两个原子之间的共价键(atom1atom2)。目前仅支持CCD配体和规范残基,CHAIN_ID指的是上面设置的残基的id,RES_IDX是残基的索引(从1开始)(配体为1),ATOM_NAME是标准化的原子名称(可以在RCSB网站上该组件的CIF文件中验证)。

  • 约束pocket指定与配体结合的残基,其中binder表示与口袋(可以是分子、蛋白质、DNA 或 RNA)结合的链, 表示contacts与口袋结合的链和残基索引列表(从 1 开始)。该模型目前仅支持指定单条链(以及其他链中binder任意数量的残基)。contacts

templates是一个可选字段,允许您为预测指定结构模板。您至少必须提供结构模板的路径,该路径必须以 CIF 文件的形式提供。如果您希望明确定义 YAML 中的哪些链应该使用此 CIF 文件进行模板化,您可以使用该chain_id条目来指定它们。无论是否提供一组 ID,Boltz 都会从提供的模板中找到最佳匹配的链。如果您希望自己明确定义映射,可以提供相应的 template_id。请注意,只有蛋白质链可以进行模板化。

properties是一个可选字段,用于指定是否要计算亲和力。如果启用,您还必须提供与要计算亲和力的小分子对应的 chain_id。只能指定一个分子进行亲和力计算,并且该分子必须是配体链(不能是蛋白质、DNA 或 RNA)。

version: 1
sequences:- protein:id: [A, B]sequence: MVTPEGNVSLVDESLLVGVTDEDRAVRSAHQFYERLIGLWAPAVMEAAHELGVFAALAEAPADSGELARRLDCDARAMRVLLDALYAYDVIDRIHDTNGFRYLLSAEARECLLPGTLFSLVGKFMHDINVAWPAWRNLAEVVRHGARDTSGAESPNGIAQEDYESLVGGINFWAPPIVTTLSRKLRASGRSGDATASVLDVGCGTGLYSQLLLREFPRWTATGLDVERIATLANAQALRLGVEERFATRAGDFWRGGWGTGYDLVLFANIFHLQTPASAVRLMRHAAACLAPDGLVAVVDQIVDADREPKTPQDRFALLFAASMTNTGGGDAYTFQEYEEWFTAAGLQRIETLDTPMHRILLARRATEPSAVPEGQASENLYFQmsa: ./examples/msa/seq1.a3m- ligand:id: [C, D]ccd: SAH- ligand:id: [E, F]smiles: 'N[C@@H](Cc1ccc(O)cc1)C(=O)O'

例如,要使用 10 个回收步骤和 25 个样本(AlphaFold3 的默认参数)预测结构,请使用:

boltz predict input_path --recycling_steps 10 --diffusion_samples 25
选项类型默认描述
--out_dirPATH./保存预测的路径。
--cachePATH~/.boltz下载数据和模型的目录。BOLTZ_CACHE如果设置,将使用环境变量作为绝对路径
--checkpointPATH没有任何可选检查点。默认使用提供的 Boltz-2 模型。
--devicesINTEGER1用于预测的设备数量。
--accelerator[gpu,cpu,tpu]gpu用于预测的加速器。
--recycling_stepsINTEGER3用于预测的回收步骤数。
--sampling_stepsINTEGER200用于预测的采样步骤数。
--diffusion_samplesINTEGER1用于预测的扩散样本的数量。
--max_parallel_samplesINTEGER5并行预测的最大样本数。
--step_scaleFLOAT1.638步长与扩散过程采样分布的温度有关。步长越低,样本间的多样性越高(建议在 1 到 2 之间)。
--output_format[pdb,mmcif]mmcif用于预测的输出格式。
--num_workersINTEGER2用于预测的数据加载器工作者的数量。
--method字符串没有任何用于预测的方法。
--preprocessing-threadsINTEGERmultiprocessing.cpu_count()用于预处理的线程数。
--affinity_mw_correctionFLAGFALSE是否将分子量校正添加到亲和力值头。
--sampling_steps_affinityINTEGER200用于亲和力预测的采样步骤数。
--diffusion_samples_affinityINTEGER5用于亲和力预测的扩散样本数量。
--affinity_checkpointPATH没有任何可选的亲和性检查点。默认使用提供的 Boltz-2 模型。
--max_msa_seqsINTEGER8192用于预测的 MSA 序列的最大数量。
--subsample_msaFLAGFALSE是否对 MSA 进行子采样。
--num_subsampled_msaINTEGER1024要进行子采样的 MSA 序列的数量。
--no_trifastFLAGFALSE是否不使用 trifast 内核进行三角更新。
--overrideFLAGFALSE如果发现,是否覆盖现有预测。
--use_msa_serverFLAGFALSE是否使用 msa 服务器生成 msa。
--msa_server_url字符串https://api.colabfold.comMSA 服务器 URL。仅当设置了 --use_msa_server 时使用。
--msa_pairing_strategy字符串greedy使用的配对策略。仅当设置了 --use_msa_server 时才使用。选项包括“greedy”和“complete”。
--use_potentialsFLAGFALSE是否使用推理时间潜力运行原始 Boltz-2 模型。
--write_full_paeFLAGFALSE是否将完整的 PAE 矩阵保存为文件。
--write_full_pdeFLAGFALSE是否将完整的 PDE 矩阵保存为文件。

亲和力输出中有两个主要预测:affinity_pred_value 和 affinity_probability_binary。它们在截然不同的数据集上进行训练,并采用不同的监督方法,因此应在不同的情况下使用。affinity_probability_binary 字段应用于从诱饵中检测结合剂,例如在发现目标化合物阶段。其值范围为 0 到 1,表示预测配体为结合剂的概率。affinity_pred_value 旨在测量不同结合剂的特定亲和力,以及这种亲和力如何随着分子的细微修改而变化。这应该用于配体优化阶段,例如从目标化合物到先导化合物和先导化合物优化。它将结合亲和力值报告为 log(IC50),该值源自以 μM 为单位测量的 IC50。有关如何运行亲和力预测和解析输出的更多详细信息,请参阅我们的预测说明。

输出:

out_dir/
├── lightning_logs/                                            # Logs generated during training or evaluation
├── predictions/                                               # Contains the model's predictions├── [input_file1]/├── [input_file1]_model_0.cif                          # The predicted structure in CIF format, with the inclusion of per token pLDDT scores├── confidence_[input_file1]_model_0.json              # The confidence scores (confidence_score, ptm, iptm, ligand_iptm, protein_iptm, complex_plddt, complex_iplddt, chains_ptm, pair_chains_iptm)├── affinity_[input_file1].json                        # The affinity scores (affinity_pred_value, affinity_probability_binary, affinity_pred_value1, affinity_probability_binary1, affinity_pred_value2, affinity_probability_binary2)├── pae_[input_file1]_model_0.npz                      # The predicted PAE score for every pair of tokens├── pde_[input_file1]_model_0.npz                      # The predicted PDE score for every pair of tokens├── plddt_[input_file1]_model_0.npz                    # The predicted pLDDT score for every token...└── [input_file1]_model_[diffusion_samples-1].cif      # The predicted structure in CIF format...└── [input_file2]/...
└── processed/                                                 # Processed data used during execution 

predictions文件夹为每个输入文件包含一个唯一的文件夹。输入文件夹包含diffusion_samples按置信度分数排序的 output_format 格式的预测结果,以及包含置信度模型和亲和度模型预测结果的附加文件。该processed文件夹包含模型在推理过程中使用的已处理输入文件。

输出置信度.json文件包含特定样本的各种聚合置信度得分。文件结构如下:

{"confidence_score": 0.8367,       # Aggregated score used to sort the predictions, corresponds to 0.8 * complex_plddt + 0.2 * iptm (ptm for single chains)"ptm": 0.8425,                    # Predicted TM score for the complex"iptm": 0.8225,                   # Predicted TM score when aggregating at the interfaces"ligand_iptm": 0.0,               # ipTM but only aggregating at protein-ligand interfaces"protein_iptm": 0.8225,           # ipTM but only aggregating at protein-protein interfaces"complex_plddt": 0.8402,          # Average pLDDT score for the complex"complex_iplddt": 0.8241,         # Average pLDDT score when upweighting interface tokens"complex_pde": 0.8912,            # Average PDE score for the complex"complex_ipde": 5.1650,           # Average PDE score when aggregating at interfaces  "chains_ptm": {                   # Predicted TM score within each chain"0": 0.8533,"1": 0.8330},"pair_chains_iptm": {             # Predicted (interface) TM score between each pair of chains"0": {"0": 0.8533,"1": 0.8090},"1": {"0": 0.8225,"1": 0.8330}}
}

confidence_scoreptm分数plddt(及其界面和单个链类似物)的范围是[0, 1],其中值越高表示置信度越高。pde分数的单位是埃,其中值越低表示置信度越高。

输出亲和性.json文件的组织如下:

{"affinity_pred_value": 0.8367,             # Predicted binding affinity from the enseble model"affinity_probability_binary": 0.8425,     # Predicted binding likelihood from the ensemble model"affinity_pred_value1": 0.8225,            # Predicted binding affinity from the first model of the ensemble"affinity_probability_binary1": 0.0,       # Predicted binding likelihood from the first model in the ensemble"affinity_pred_value2": 0.8225,            # Predicted binding affinity from the second model of the ensemble"affinity_probability_binary2": 0.8402,    # Predicted binding likelihood from the second model in the ensemble
}

亲和力输出中有两个主要预测:affinity_pred_valueaffinity_probability_binary。它们在截然不同的数据集上进行训练,并采用不同的监督方法,因此应该在不同的情境中使用。添加评论更多操作

affinity_probability_binary字段应用于检测结合物和诱饵,例如在发现目标物阶段。其值范围为 0 到 1,表示预测配体为结合物的概率。

旨在affinity_pred_value测量不同结合剂的特异性亲和力,以及其如何随着分子的微小修改而变化。这应该用于配体优化阶段,例如命中到先导化合物和先导化合物优化。它报告的结合亲和力值为log(IC50),源自于IC50测量的μM。值越低,预测的结合力越强,例如:

  • IC50 10−9M⟶我们的模型输出 −3(强亲和力分子)
  • IC50 10−6M⟶我们的模型输出 0(中等亲和力分子)
  • IC50 10−4M⟶我们的模型输出 2(弱亲和力)

kcal/mol您可以使用y --> (6 - y) * 1.364模型y的预测将模型的输出转换为 pIC50 。

3. 使用示例

下载boltz程序包:

git clone https://github.com/jwohlwend/boltz.git

使用examples中的affinity计算实例:

cd boltz
boltz predict ./examples/affinity.yaml --use_msa_server

初次运行,会下载解压CCD data,在/home/user/.boltz/mols目录下,大小1.8G,包含45227个mol文件。

然后会下载 Boltz-2 weights,在 /home/user/.boltz目录下,名称为boltz2_conf.ckpt,大小2.3G。

affinity预测,首次会下载affinity weights在/home/user/.boltz目录下,名称boltz2_aff.ckpt,大小2.1G。

错误提示1:RuntimeError: PytorchStreamReader failed

原因1:主要是weights文件不完整,可以提前下载放在/home/user/.boltz下。下载URL在/boltz/src/boltz/main.py文件中,如下:

CCD_URL = "https://huggingface.co/boltz-community/boltz-1/resolve/main/ccd.pkl"
MOL_URL = "https://huggingface.co/boltz-community/boltz-2/resolve/main/mols.tar"

BOLTZ1_URL_WITH_FALLBACK = [
    "https://model-gateway.boltz.bio/boltz1_conf.ckpt",
    "https://huggingface.co/boltz-community/boltz-1/resolve/main/boltz1_conf.ckpt",
]

BOLTZ2_URL_WITH_FALLBACK = [
    "https://model-gateway.boltz.bio/boltz2_conf.ckpt",
    "https://huggingface.co/boltz-community/boltz-2/resolve/main/boltz2_conf.ckpt",
]

BOLTZ2_AFFINITY_URL_WITH_FALLBACK = [
    "https://model-gateway.boltz.bio/boltz2_aff.ckpt",
    "https://huggingface.co/boltz-community/boltz-2/resolve/main/boltz2_aff.ckpt",
]

结果文件夹名称为:boltz_results_affinity,内容如下:

结果在affinity_affinity.json文件中,可以看到,亲和力以log(IC50)为单位,等于6-2.5=3.5,大致等于300μM,是一个弱的binder。

复合物结构文件为affinity_model_0.cif,使用pymol打开:

pymol /boltz_results_affinity/predictions/affinity/affinity_model_0.cif

结构如下:

又一例,如下是EGFR抑制剂吉非替尼的亲和力计算文件:

version: 1  # Optional, defaults to 1
sequences:- protein:id: Asequence: GAMGEAPNQALLRILKETEFKKIKVLGSGAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLLGICLTSTVQLITQLMPFGCLLDYVREHKDNIGSQYLLNWCVQIAKGMNYLEDRRLVHRDLAARNVLVKTPQHVKITDFGLAKLLGAEEKEYHAEGGKVPIKWMALESILHRIYTHQSDVWSYGVTVWELMTFGSKPYDGIPASEISSILEKGERLPQPPICTIDVYMIMVKCWMIDADSRPKFRELIIEFSKMARDPQRYLVIQGDERMHLPSPTDSNFYRALMDEEDMDDVVDADEYLIPQQG- ligand:id: Bsmiles: 'Clc1c(F)ccc(Nc2ncnc3c2cc(OCCCN2CCOCC2)c(OC)c3)c1'
properties:- affinity:binder: B

预测结果显示,预测的复合物结构与吉非替尼-EGFR复合物的PDB结构(PDBID: 4WKQ)非常接近,RMSD=0.267。

吉非替尼的亲和力为-6.56 log(IC50),低于1 μM,属于强的binder,与实际情况符合。

以上是boltz-2的初步使用介绍。

参考文献:

https://github.com/jwohlwend/boltz/tree/main/docs

http://www.xdnf.cn/news/14353.html

相关文章:

  • 高频计网面试题(附模板答案)
  • 电子计数跳绳加长改造
  • 多线程5(Thread)
  • wpa_supplicant:无线网络连接的“智能管家”
  • 龟兔赛跑算法(Floyd‘s Cycle-Finding Algorithm)寻找重复数
  • ResizeObserver的错误
  • Bootstrap 5学习教程,从入门到精通, Bootstrap 5 分页(Pagination)知识点及案例代码(13)
  • Android平台如何高效移动RTMP|RTSP直播流的录像文件?
  • Web端测试、App测试和小程序测试的主要内容、注意事项及三者区别
  • CocosCreator 之 ScrollView拓展:上拉、下拉及List的拓展
  • 人工智能学习20-Pandas-自定义的函数
  • FreeRTOS任务相关API简介
  • Linux操作系统批量装机实战
  • 03.利用显卡内核模块等特性为算法提速百倍
  • cannot allocate memory in static TLS block昇腾910报错
  • 图片优化方案
  • 【DVWA系列】——JavaScript——Medium详细教程
  • 【阿里巴巴 x 浙江大学】信息与交互设计 - 商业化场景设计
  • Seata的TC(事务协调器)高可用如何实现?
  • keil一键烧录boot和app程序
  • pycharm2020.2版本给项目选择了虚拟环境解释器,项目文件都运行正常,为什么terminal文件路径的前面没有虚拟解释器的名称
  • 解决STM32H7系列串口DMA发送一次卡死
  • [CVPR2025]GLASS:Guided Latent Slot Diffusion for Object-Centric Learning
  • uniapp打包报错
  • oracle19C(ZHS16GBK - 简体中文字符集) 数据库迁移到 oracle19C(AL32UTF8 - Unicode字符集)数据库方案
  • 【网络信息安全】题目合集
  • 遥控电风扇
  • Prompt工程在企业场景的实战应用:用Grok 3 API优化客服系统的3个技巧
  • LeetCode 第64题 最小路径和
  • JAVA学习-练习试用Java实现“激活函数 :如ReLU、Sigmoid和Tanh,并比较它们的效果”