“基于常识知识的推理问题”源代码分析-总体结构问题

本文分析了DrFact模型如何调用DrKit的函数,涉及convert_dpr_index.py、fact2fact_index.py等源文件,强调了search_utils.py中write_to_checkpoint()和write_ragged_to_checkpoint()函数的重要性。后续将对这些调用函数进行深入探讨。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

前几周的源代码分析中,我们已经了解了drfact是如何对语料库进行预处理的,也了解了drfact模型算法的前几步都做了什么事情。但这一周的源代码分析我不会对具体的源代码进行分析,原因在于我在本周进行源代码分析,并回顾了过往的源代码分析内容时,注意到drfact模型对其他模型进行了一定程度的借鉴,这一点尤其体现在其核心源代码之中——调用了其他模型中编写好的函数。因此,体现在源代码之中的内容也就不再是仅仅只要关注到drfact这一个项目包即可,而是需要对整个OpenCSR项目的其他源代码也进行审视。

某种意义上,我对OpenCSR这个项目源代码的核心产生了一定程度错误的评判,这也意味着我需要花上更多的力气对这个项目进行更深层次的理解。因此,在我对源代码的整体结构以及各模型之间的相互勾连达成宏观层面的理解之前,我暂且不会对drfact模型中具体实现算法以及其它进行数据处理的代码中具体细微的详细描述进行进一步的分析与探究,而是转头分析各个模型之间可以互通的模块以及函数特点。这些可以互通的模块以及函数特点会一并体现在这篇博客之中。

一、DrFact模型与其对DrKit模型函数的调用情况

要分析诸多模型之间的关联,尤其是这些关联对我们的主要研究对象——DrFact模型究竟产生了怎样的影响,有着怎样的作用,首先便是从DrFact模型本身入手。而从DrFact模型本身的源代码中不难看出,与DrFact模型有着直接关联的便是DrKit模型,在DrFact模型的许多源文件中,均可见来自于DrKit模型的python源文件模块被导入,源代码中也调用了许多来源于DrKit模型的函数。其中包含有以下的源文件。

1.1 convert_dpr_index.py源文件

在convert_dpr_index.py源文件中,导入了来自于DrKit模型的search_utils.py,并且调用了其中的write_to_checkpoint()函数。这个源文件正是在上一周的代码分析中分析到的源文件,正是在这次源码分析的过程中,让我意识到了我对于这些源文件之间的关联并不是特别明晰,为此我中断了之前的单篇源文件分析的工作,转头去研究这些源文件之间的关联程度。

具体调用代码如下所示:

from language.labs.drkit import search_utils

  with tf.device("/cpu:0"):
    search_utils.write_to_checkpoint("fact_db_emb", fact_emb, tf.float32, output_index_path)

1.2 fact2fact_index.py源文件

在fact2fact_index.py源文件中,同样也导入了来自DrKit模型的search_utils.py,并且调用了其中的write_ragged_to_checkpoint()函数。从名字上来看,这个函数的功能应该是比较类似于在之前的convert_dpr_ind

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值