CN110019096A - 索引文件的生成方法及装置 - Google Patents
索引文件的生成方法及装置 Download PDFInfo
- Publication number
- CN110019096A CN110019096A CN201711474392.5A CN201711474392A CN110019096A CN 110019096 A CN110019096 A CN 110019096A CN 201711474392 A CN201711474392 A CN 201711474392A CN 110019096 A CN110019096 A CN 110019096A
- Authority
- CN
- China
- Prior art keywords
- index file
- group component
- class
- empty
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及索引文件的生成方法及装置。该方法包括:提取训练数据集中各个训练数据的特征向量;对所述各个训练数据的特征向量进行乘积量化处理,得到所述训练数据集的类中心;根据所述训练数据集的类中心生成空索引文件;将所述空索引文件发送至集群的各个任务节点;获取所述各个任务节点基于所述空索引文件返回的索引文件。在本公开中,集群的主节点基于乘积量化生成空索引文件,将空索引文件部署在集群的各个任务节点上,各个任务节点处理待处理数据得到索引文件,并将索引文件发送至主节点,由此能够适用于高维特征检索,且实现复杂性较低。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种索引文件的生成方法及装置。
背景技术
近年来,随着多媒体技术和计算机网络的飞速发展,全世界的数字图像的数量正以惊人的速度在增长。为了使这些庞杂的图像中所包含的信息被有效地访问和利用,必然需要一种能够快速且准确地查找访问图像的技术,即图像的检索技术。随着大规模数字图像库的出现,传统的依赖于人工标注进行的基于文本的图像检索技术已经无法满足用户日益增长的需求,CBIR(Content Based Image Retrieval,基于内容的图像检索)技术便应运而生。CBIR的一般做法是先提取出图像的特征建立特征数据库,这样就把图像库中的一个实例转换成了特征空间中的一个点。而图像特征一般都是高维的矢量数据,所以对图像基于内容的相似检索就转换为对高维特征矢量的最邻近检索。与此同时,对于大规模的图像数据库而言,其特征数据库也是大规模的。因此,传统的顺序扫描方式无法满足用户的检索要求,迫切需要有合适的索引机制来辅助、加速图像检索的进程。
相关技术中,主要通过基于K-D树的分布式索引方法和基于LSH(LocalitySensitive Hashing,基于局部敏感哈希)的分布式索引方法来辅助、加速图像检索的进程。
其中,基于K-D(K-Dimensional,K维)树的分布式索引方法对空间进行划分,将数据划分为多个子空间,查找的时候先找到目标所在子空间,然后计算与该子空间内所有点的距离。在基于K-D树的分布式索引方法的分布式集群上,每台机器存储一部分索引结构。基于K-D树的分布式索引方法在特征的维度大于一定值后,性能急剧下降。因此,基于K-D树的分布式索引方法不适合高维特征检索。
基于LSH的分布式索引方法的基础是哈希算法,其通过哈希函数将高维特征映射为一组哈希值。传统的LSH检索算法的索引文件较大,单机可能无法加载,需要通过Hadoop集群将索引文件读入多个机器的内存,实现复杂性较高。
发明内容
有鉴于此,本公开提出了一种索引文件的生成方法及装置。
根据本公开的第一方面,提供了一种索引文件的生成方法,包括:
提取训练数据集中各个训练数据的特征向量;
对所述各个训练数据的特征向量进行乘积量化处理,得到所述训练数据集的类中心;
根据所述训练数据集的类中心生成空索引文件;
将所述空索引文件发送至集群的各个任务节点;
获取所述各个任务节点基于所述空索引文件返回的索引文件。
在一种可能的实现方式中,对所述各个训练数据的特征向量进行乘积量化处理,得到所述训练数据集的类中心,包括:
将所述各个训练数据的特征向量的各个分量分成M组,其中,M为大于1的整数;
对每组分量进行K均值聚类,得到每组分量对应的个类中心;
分别根据每组分量对应的个类中心确定类中心集合;
将M个所述类中心集合的笛卡尔积确定为所述训练数据集的K个类中心。
在一种可能的实现方式中,在获取所述各个任务节点基于所述空索引文件返回的索引文件之后,所述方法还包括:
合并各个所述索引文件。
根据本公开的第二方面,提供了一种索引文件的生成方法,包括:
从集群的主节点中获取空索引文件;
提取待处理数据的特征向量;
将所述特征向量的各个分量分成M组,其中,M为大于1的整数;
确定各组分量的类标签;
根据各组分量的类标签,确定所述空索引文件中各组分量对应的类中心;
基于各组分量对应的类中心,将各组分量添加至所述空索引文件中,得到索引文件。
在一种可能的实现方式中,根据各组分量的类标签,确定所述空索引文件中各组分量对应的类中心,包括:
计算各组分量的类标签与所述空索引文件中各个类中心的残差;
对于任意一组分量,将与该组分量的类标签的残差最小的类中心确定为所述空索引文件中该组分量对应的类中心。
在一种可能的实现方式中,基于各组分量对应的类中心,将各组分量添加至所述空索引文件中,得到索引文件,包括:
对于任意一组分量,基于该组分量对应的类中心,将该组分量的类标签以及该组分量的类标签与该组分量对应的类中心的残差添加至所述空索引文件中,得到索引文件。
在一种可能的实现方式中,在得到索引文件之后,所述方法还包括:
将所述索引文件发送至所述主节点。
根据本公开的第三方面,提供了一种索引文件的生成装置,包括:
第一提取模块,用于提取训练数据集中各个训练数据的特征向量;
乘积量化处理模块,用于对所述各个训练数据的特征向量进行乘积量化处理,得到所述训练数据集的类中心;
生成模块,用于根据所述训练数据集的类中心生成空索引文件;
第一发送模块,用于将所述空索引文件发送至集群的各个任务节点;
第一获取模块,用于获取所述各个任务节点基于所述空索引文件返回的索引文件。
在一种可能的实现方式中,所述乘积量化处理模块包括:
分组子模块,用于将所述各个训练数据的特征向量的各个分量分成M组,其中,M为大于1的整数;
聚类子模块,用于对每组分量进行K均值聚类,得到每组分量对应的个类中心;
第一确定子模块,用于分别根据每组分量对应的个类中心确定类中心集合;
第二确定子模块,用于将M个所述类中心集合的笛卡尔积确定为所述训练数据集的K个类中心。
在一种可能的实现方式中,所述装置还包括:
合并模块,用于合并各个所述索引文件。
根据本公开的第四方面,提供了一种索引文件的生成装置,包括:
第二获取模块,用于从集群的主节点中获取空索引文件;
第二提取模块,用于提取待处理数据的特征向量;
分组模块,用于将所述特征向量的各个分量分成M组,其中,M为大于1的整数;
第一确定模块,用于确定各组分量的类标签;
第二确定模块,用于根据各组分量的类标签,确定所述空索引文件中各组分量对应的类中心;
添加模块,用于基于各组分量对应的类中心,将各组分量添加至所述空索引文件中,得到索引文件。
在一种可能的实现方式中,所述第二确定模块包括:
计算子模块,用于计算各组分量的类标签与所述空索引文件中各个类中心的残差;
第三确定子模块,用于对于任意一组分量,将与该组分量的类标签的残差最小的类中心确定为所述空索引文件中该组分量对应的类中心。
在一种可能的实现方式中,所述添加模块用于:
对于任意一组分量,基于该组分量对应的类中心,将该组分量的类标签以及该组分量的类标签与该组分量对应的类中心的残差添加至所述空索引文件中,得到索引文件。
在一种可能的实现方式中,所述装置还包括:
第二发送模块,用于将所述索引文件发送至所述主节点。
根据本公开的第五方面,提供了一种索引文件的生成装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行第一方面所述的方法。
根据本公开的第六方面,提供了一种索引文件的生成装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行第二方面所述的方法。
根据本公开的第七方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现第一方面所述的方法。
根据本公开的第八方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现第二方面所述的方法。
在本公开的各方面的索引文件的生成方法及装置中,集群的主节点基于乘积量化生成空索引文件,将空索引文件部署在集群的各个任务节点上,各个任务节点处理待处理数据得到索引文件,并将索引文件发送至主节点,由此能够适用于高维特征检索,且实现复杂性较低。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的索引文件的生成方法的流程图。
图2示出根据本公开一实施例的索引文件的生成方法步骤S12的一示例性的流程图。
图3示出根据本公开一实施例的索引文件的生成方法的一示例性的流程图。
图4示出根据本公开一实施例的索引文件的生成方法的流程图。
图5示出根据本公开一实施例的索引文件的生成方法步骤S45的一示例性的流程图。
图6示出根据本公开一实施例的索引文件的生成方法的一示例性的流程图。
图7示出根据本公开一实施例的索引文件的生成装置的框图。
图8示出根据本公开一实施例的索引文件的生成装置的一示例性的框图。
图9示出根据本公开一实施例的索引文件的生成装置的框图。
图10示出根据本公开一实施例的索引文件的生成装置的一示例性的框图。
图11是根据一示例性实施例示出的一种用于索引文件的生成的装置1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的索引文件的生成方法的流程图。该方法可以应用于集群的主节点中。该主节点可以为任意类型的服务器,在此不作限定。如图1所示,该方法包括步骤S11至步骤S15。
在步骤S11中,提取训练数据集中各个训练数据的特征向量。
例如,训练数据集的各个训练数据可以为图像。
在一种可能的实现方式中,对于训练数据集中的每个训练数据,可以提取该训练数据的局部特征向量和深度特征向量,并可以将该训练数据的局部特征向量和深度特征向量合为一个长向量,作为该训练数据的特征向量。其中,深度特征向量可以指通过深度学习网络提取的特征向量。
在另一种可能的实现方式中,对于训练数据集中的每个训练数据,可以提取该训练数据的局部特征向量,并可以将该训练数据的局部特征向量作为该训练数据的特征向量。
在另一种可能的实现方式中,对于训练数据集中的每个训练数据,可以提取该训练数据的深度特征向量,并可以将该训练数据的深度特征向量作为该训练数据的特征向量。
需要说明的是,尽管以以上实现方式介绍了提取训练数据的特征向量的方式如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员能够根据实际应用场景需求和/或个人喜好灵活设置提取训练数据的特征向量的方式。
在步骤S12中,对各个训练数据的特征向量进行乘积量化处理,得到训练数据集的类中心。
在本实施例中,通过对各个训练数据的特征向量进行乘积量化(ProductQuantize,PQ)处理,由此将高维特征进行拆分,从而能够适用于高维特征检索。
在步骤S13中,根据训练数据集的类中心生成空索引文件。
在一种可能的实现方式中,主节点可以基于Faiss训练空索引文件。其中,Faiss为一种开源的高维索引工具。
在本实施例中,可以由主节点基于大量的训练数据训练得到空索引文件,而无需各个任务节点分别训练空索引文件,由此能够提高空索引文件训练的效率。
在步骤S14中,将空索引文件发送至集群的各个任务节点。
在本实施例中,集群可以为分布式集群。其中,任务节点可以包括各个从节点,或者可以包括各个从节点和主节点。
在本实施例中,主节点通过将空索引文件发送至集群的各个任务节点,可以将空索引文件部署在各个任务节点上。
在步骤S15中,获取各个任务节点基于空索引文件返回的索引文件。
本实施例通过提取训练数据集中各个训练数据的特征向量,对各个训练数据的特征向量进行乘积量化处理,得到训练数据集的类中心,根据训练数据集的类中心生成空索引文件,将空索引文件发送至集群的各个任务节点,并获取各个任务节点基于空索引文件返回的索引文件,由此能够适用于高维特征检索,且实现复杂性较低。
图2示出根据本公开一实施例的索引文件的生成方法步骤S12的一示例性的流程图。如图2所示,步骤S12可以包括步骤S121至步骤S124。
在步骤S121中,将各个训练数据的特征向量的各个分量分成M组,其中,M为大于1的整数。
例如,训练数据的特征向量的维数为D,则可以将各个特征向量的D个分量分成M组,其中,D为大于或等于M的整数。
在步骤S122中,对每组分量进行K均值聚类,得到每组分量对应的个类中心。
其中,K为正整数。
在本实施例中,对每组分量进行K均值(K-means)聚类,总共进行M次K均值聚类,得到M组分量中的各组分量对应的类中心。例如,K=256,M=8。
在步骤S123中,分别根据每组分量对应的个类中心确定类中心集合。
在本实施例中,根据每组分量对应的个类中心确定类中心集合,可以得到M个类中心集合。
在步骤S124中,将M个类中心集合的笛卡尔积确定为训练数据集的K个类中心。
图3示出根据本公开一实施例的索引文件的生成方法的一示例性的流程图。如图3所示,该方法可以包括步骤S11至步骤S16。
在步骤S11中,提取训练数据集中各个训练数据的特征向量。
在步骤S12中,对各个训练数据的特征向量进行乘积量化处理,得到训练数据集的类中心。
在步骤S13中,根据训练数据集的类中心生成空索引文件。
在步骤S14中,将空索引文件发送至集群的各个任务节点。
在步骤S15中,获取各个任务节点基于空索引文件返回的索引文件。
在步骤S16中,合并各个索引文件。
在一种可能的实现方式中,可以通过Faiss合并各个索引文件。
在本实施例中,主节点可以合并各个索引文件,得到总索引文件,从而可以将总索引文件提供给各个查询节点使用。
图4示出根据本公开一实施例的索引文件的生成方法的流程图。该方法可以应用于集群的任务节点中。该任务节点可以为任意类型的服务器,在此不作限定。如图4所示,该方法包括步骤S41至步骤S46。
在步骤S41中,从集群的主节点中获取空索引文件。
其中,空索引文件可以由主节点基于大量的训练数据训练得到。
在本实施例中,可以仅由主节点训练空索引文件,而无需各个任务节点分别训练空索引文件,由此能够提高空索引文件训练的效率。
在步骤S42中,提取待处理数据的特征向量。
其中,待处理数据可以为图像。例如,待处理数据可以为从视频中抽取的图像。
在一种可能的实现方式中,对于每个待处理数据,可以提取该待处理数据的局部特征向量和深度特征向量,并可以将该待处理数据的局部特征向量和深度特征向量合为一个长向量,作为该待处理数据的特征向量。其中,深度特征向量可以指通过深度学习网络提取的特征向量。
在另一种可能的实现方式中,对于每个待处理数据,可以提取该待处理数据的局部特征向量,并可以将该待处理数据的局部特征向量作为该待处理数据的特征向量。
在另一种可能的实现方式中,对于每个待处理数据,可以提取该待处理数据的深度特征向量,并可以将该待处理数据的深度特征向量作为该待处理数据的特征向量。
需要说明的是,尽管以以上实现方式介绍了提取待处理数据的特征向量的方式如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员能够根据实际应用场景需求和/或个人喜好灵活设置提取待处理数据的特征向量的方式。
在步骤S43中,将该特征向量的各个分量分成M组,其中,M为大于1的整数。
在一种可能的实现方式中,可以基于乘积量化方法,将该特征向量的各个分量分成M组。
例如,待处理数据的特征向量的维数为D,则可以将该特征向量的D个分量分成M组,其中,D为大于或等于M的整数。
在步骤S44中,确定各组分量的类标签。
在一种可能的实现方式中,可以对每组分量进行K均值聚类,得到每组分量的类标签。其中,K为正整数。
在步骤S45中,根据各组分量的类标签,确定空索引文件中各组分量对应的类中心。
在步骤S46中,基于各组分量对应的类中心,将各组分量添加至空索引文件中,得到索引文件。
在一种可能的实现方式中,对于每一组分量,可以将该组分量添加至空索引文件中该组分量对应的类中心下。
本实施例通过从集群的主节点中获取空索引文件,提取待处理数据的特征向量,将该特征向量的各个分量分成M组,确定各组分量的类标签,根据各组分量的类标签,确定空索引文件中各组分量对应的类中心,并基于各组分量对应的类中心,将各组分量添加至空索引文件中,得到索引文件,由此能够适用于高维特征检索,且实现复杂性较低。
图5示出根据本公开一实施例的索引文件的生成方法步骤S45的一示例性的流程图。如图5所示,步骤S45可以包括步骤S451和步骤S452。
在步骤S451中,计算各组分量的类标签与空索引文件中各个类中心的残差。
在一种可能的实现方式中,对于每一组分量的类标签,可以将类标签与类中心的欧几里得距离作为类标签与类中心的残差。
在步骤S452中,对于任意一组分量,将与该组分量的类标签的残差最小的类中心确定为空索引文件中该组分量对应的类中心。
在一种可能的实现方式中,基于各组分量对应的类中心,将各组分量添加至空索引文件中,得到索引文件,可以包括:对于任意一组分量,基于该组分量对应的类中心,将该组分量的类标签以及该组分量的类标签与该组分量对应的类中心的残差添加至空索引文件中,得到索引文件。
图6示出根据本公开一实施例的索引文件的生成方法的一示例性的流程图。如图6所示,该方法可以包括步骤S41至步骤S47。
在步骤S41中,从集群的主节点中获取空索引文件。
在步骤S42中,提取待处理数据的特征向量。
在步骤S43中,将该特征向量的各个分量分成M组,其中,M为大于1的整数。
在步骤S44中,确定各组分量的类标签。
在步骤S45中,根据各组分量的类标签,确定空索引文件中各组分量对应的类中心。
在步骤S46中,基于各组分量对应的类中心,将各组分量添加至空索引文件中,得到索引文件。
在步骤S47中,将索引文件发送至主节点。
本实施例通过各个任务节点将索引文件发送至主节点,由此主节点可以根据各个索引文件合并得到总索引文件,从而可以将总索引文件提供给各个查询节点使用。
图7示出根据本公开一实施例的索引文件的生成装置的框图。如图7所示,该装置包括:第一提取模块71,用于提取训练数据集中各个训练数据的特征向量;乘积量化处理模块72,用于对各个训练数据的特征向量进行乘积量化处理,得到训练数据集的类中心;生成模块73,用于根据训练数据集的类中心生成空索引文件;第一发送模块74,用于将空索引文件发送至集群的各个任务节点;第一获取模块75,用于获取各个任务节点基于空索引文件返回的索引文件。
图8示出根据本公开一实施例的索引文件的生成装置的一示例性的框图。如图8所示:
在一种可能的实现方式中,乘积量化处理模块72包括:分组子模块721,用于将各个训练数据的特征向量的各个分量分成M组,其中,M为大于1的整数;聚类子模块722,用于对每组分量进行K均值聚类,得到每组分量对应的个类中心;第一确定子模块723,用于分别根据每组分量对应的个类中心确定类中心集合;第二确定子模块724,用于将M个类中心集合的笛卡尔积确定为训练数据集的K个类中心。
在一种可能的实现方式中,该装置还包括:合并模块76,用于合并各个索引文件。
本实施例通过提取训练数据集中各个训练数据的特征向量,对各个训练数据的特征向量进行乘积量化处理,得到训练数据集的类中心,根据训练数据集的类中心生成空索引文件,将空索引文件发送至集群的各个任务节点,并获取各个任务节点基于空索引文件返回的索引文件,由此能够适用于高维特征检索,且实现复杂性较低。
图9示出根据本公开一实施例的索引文件的生成装置的框图。如图9所示,该装置包括:第二获取模块91,用于从集群的主节点中获取空索引文件;第二提取模块92,用于提取待处理数据的特征向量;分组模块93,用于将该特征向量的各个分量分成M组,其中,M为大于1的整数;第一确定模块94,用于确定各组分量的类标签;第二确定模块95,用于根据各组分量的类标签,确定空索引文件中各组分量对应的类中心;添加模块96,用于基于各组分量对应的类中心,将各组分量添加至空索引文件中,得到索引文件。
图10示出根据本公开一实施例的索引文件的生成装置的一示例性的框图。如图10所示:
在一种可能的实现方式中,第二确定模块95包括:计算子模块951,用于计算各组分量的类标签与空索引文件中各个类中心的残差;第三确定子模块952,用于对于任意一组分量,将与该组分量的类标签的残差最小的类中心确定为空索引文件中该组分量对应的类中心。
在一种可能的实现方式中,添加模块96用于:对于任意一组分量,基于该组分量对应的类中心,将该组分量的类标签以及该组分量的类标签与该组分量对应的类中心的残差添加至空索引文件中,得到索引文件。
在一种可能的实现方式中,该装置还包括:第二发送模块97,用于将索引文件发送至主节点。
本实施例通过从集群的主节点中获取空索引文件,提取待处理数据的特征向量,将该特征向量的各个分量分成M组,确定各组分量的类标签,根据各组分量的类标签,确定空索引文件中各组分量对应的类中心,并基于各组分量对应的类中心,将各组分量添加至空索引文件中,得到索引文件,由此能够适用于高维特征检索,且实现复杂性较低。
图11是根据一示例性实施例示出的一种用于索引文件的生成的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图11,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种索引文件的生成方法,其特征在于,包括:
提取训练数据集中各个训练数据的特征向量;
对所述各个训练数据的特征向量进行乘积量化处理,得到所述训练数据集的类中心;
根据所述训练数据集的类中心生成空索引文件;
将所述空索引文件发送至集群的各个任务节点;
获取所述各个任务节点基于所述空索引文件返回的索引文件。
2.根据权利要求1所述的方法,其特征在于,对所述各个训练数据的特征向量进行乘积量化处理,得到所述训练数据集的类中心,包括:
将所述各个训练数据的特征向量的各个分量分成M组,其中,M为大于1的整数;
对每组分量进行K均值聚类,得到每组分量对应的个类中心;
分别根据每组分量对应的个类中心确定类中心集合;
将M个所述类中心集合的笛卡尔积确定为所述训练数据集的K个类中心。
3.根据权利要求1所述的方法,其特征在于,在获取所述各个任务节点基于所述空索引文件返回的索引文件之后,所述方法还包括:
合并各个所述索引文件。
4.一种索引文件的生成方法,其特征在于,包括:
从集群的主节点中获取空索引文件;
提取待处理数据的特征向量;
将所述特征向量的各个分量分成M组,其中,M为大于1的整数;
确定各组分量的类标签;
根据各组分量的类标签,确定所述空索引文件中各组分量对应的类中心;
基于各组分量对应的类中心,将各组分量添加至所述空索引文件中,得到索引文件。
5.根据权利要求4所述的方法,其特征在于,根据各组分量的类标签,确定所述空索引文件中各组分量对应的类中心,包括:
计算各组分量的类标签与所述空索引文件中各个类中心的残差;
对于任意一组分量,将与该组分量的类标签的残差最小的类中心确定为所述空索引文件中该组分量对应的类中心。
6.根据权利要求5所述的方法,其特征在于,基于各组分量对应的类中心,将各组分量添加至所述空索引文件中,得到索引文件,包括:
对于任意一组分量,基于该组分量对应的类中心,将该组分量的类标签以及该组分量的类标签与该组分量对应的类中心的残差添加至所述空索引文件中,得到索引文件。
7.根据权利要求4所述的方法,其特征在于,在得到索引文件之后,所述方法还包括:
将所述索引文件发送至所述主节点。
8.一种索引文件的生成装置,其特征在于,包括:
第一提取模块,用于提取训练数据集中各个训练数据的特征向量;
乘积量化处理模块,用于对所述各个训练数据的特征向量进行乘积量化处理,得到所述训练数据集的类中心;
生成模块,用于根据所述训练数据集的类中心生成空索引文件;
第一发送模块,用于将所述空索引文件发送至集群的各个任务节点;
第一获取模块,用于获取所述各个任务节点基于所述空索引文件返回的索引文件。
9.根据权利要求8所述的装置,其特征在于,所述乘积量化处理模块包括:
分组子模块,用于将所述各个训练数据的特征向量的各个分量分成M组,其中,M为大于1的整数;
聚类子模块,用于对每组分量进行K均值聚类,得到每组分量对应的个类中心;
第一确定子模块,用于分别根据每组分量对应的个类中心确定类中心集合;
第二确定子模块,用于将M个所述类中心集合的笛卡尔积确定为所述训练数据集的K个类中心。
10.根据权利要求8述的装置,其特征在于,所述装置还包括:
合并模块,用于合并各个所述索引文件。
11.一种索引文件的生成装置,其特征在于,包括:
第二获取模块,用于从集群的主节点中获取空索引文件;
第二提取模块,用于提取待处理数据的特征向量;
分组模块,用于将所述特征向量的各个分量分成M组,其中,M为大于1的整数;
第一确定模块,用于确定各组分量的类标签;
第二确定模块,用于根据各组分量的类标签,确定所述空索引文件中各组分量对应的类中心;
添加模块,用于基于各组分量对应的类中心,将各组分量添加至所述空索引文件中,得到索引文件。
12.根据权利要求11所述的装置,其特征在于,所述第二确定模块包括:
计算子模块,用于计算各组分量的类标签与所述空索引文件中各个类中心的残差;
第三确定子模块,用于对于任意一组分量,将与该组分量的类标签的残差最小的类中心确定为所述空索引文件中该组分量对应的类中心。
13.根据权利要求12所述的装置,其特征在于,所述添加模块用于:
对于任意一组分量,基于该组分量对应的类中心,将该组分量的类标签以及该组分量的类标签与该组分量对应的类中心的残差添加至所述空索引文件中,得到索引文件。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于将所述索引文件发送至所述主节点。
15.一种索引文件的生成装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1至3中任意一项所述的方法。
16.一种种索引文件的生成装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求4至7中任意一项所述的方法。
17.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至3中任意一项所述的方法。
18.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求4至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711474392.5A CN110019096A (zh) | 2017-12-29 | 2017-12-29 | 索引文件的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711474392.5A CN110019096A (zh) | 2017-12-29 | 2017-12-29 | 索引文件的生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019096A true CN110019096A (zh) | 2019-07-16 |
Family
ID=67187173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711474392.5A Pending CN110019096A (zh) | 2017-12-29 | 2017-12-29 | 索引文件的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019096A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949833A (zh) * | 2020-08-17 | 2020-11-17 | 北京字节跳动网络技术有限公司 | 索引构建方法、数据处理方法、装置、电子设备及介质 |
WO2023030184A1 (zh) * | 2021-08-31 | 2023-03-09 | 华为技术有限公司 | 一种数据检索方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831253A (zh) * | 2012-09-25 | 2012-12-19 | 北京科东电力控制系统有限责任公司 | 一种分布式全文检索系统 |
CN103744934A (zh) * | 2013-12-30 | 2014-04-23 | 南京大学 | 一种基于位置敏感哈希的分布式索引方法 |
CN107085607A (zh) * | 2017-04-19 | 2017-08-22 | 电子科技大学 | 一种图像特征点匹配方法 |
-
2017
- 2017-12-29 CN CN201711474392.5A patent/CN110019096A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831253A (zh) * | 2012-09-25 | 2012-12-19 | 北京科东电力控制系统有限责任公司 | 一种分布式全文检索系统 |
CN103744934A (zh) * | 2013-12-30 | 2014-04-23 | 南京大学 | 一种基于位置敏感哈希的分布式索引方法 |
CN107085607A (zh) * | 2017-04-19 | 2017-08-22 | 电子科技大学 | 一种图像特征点匹配方法 |
Non-Patent Citations (1)
Title |
---|
杨国营: "基于MapReduce模型文本分类算法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949833A (zh) * | 2020-08-17 | 2020-11-17 | 北京字节跳动网络技术有限公司 | 索引构建方法、数据处理方法、装置、电子设备及介质 |
WO2023030184A1 (zh) * | 2021-08-31 | 2023-03-09 | 华为技术有限公司 | 一种数据检索方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021143800A1 (en) | System and method for semantic analysis of multimedia data using attention-based fusion network | |
US11657084B2 (en) | Correlating image annotations with foreground features | |
CN110516096A (zh) | 合成感知数字图像搜索 | |
CN111324774A (zh) | 一种视频去重方法和装置 | |
Hii et al. | Multigap: Multi-pooled inception network with text augmentation for aesthetic prediction of photographs | |
CN110188210B (zh) | 一种基于图正则化与模态独立的跨模态数据检索方法及系统 | |
US20200175332A1 (en) | Out-of-sample generating few-shot classification networks | |
US20210279279A1 (en) | Automated graph embedding recommendations based on extracted graph features | |
WO2016142285A1 (en) | Method and apparatus for image search using sparsifying analysis operators | |
CN114443899A (zh) | 视频分类方法、装置、设备及介质 | |
US20230177089A1 (en) | Identifying similar content in a multi-item embedding space | |
CN115062134B (zh) | 知识问答模型训练及知识问答方法、装置和计算机设备 | |
WO2014118978A1 (ja) | 学習方法、情報処理装置および学習プログラム | |
WO2019082362A1 (ja) | 単語意味関係推定装置および単語意味関係推定方法 | |
CN110019875A (zh) | 索引文件的生成方法及装置 | |
Zhang et al. | Dataset-driven unsupervised object discovery for region-based instance image retrieval | |
WO2022042638A1 (en) | Deterministic learning video scene detection | |
Kapadia et al. | Improved CBIR system using Multilayer CNN | |
CN110019096A (zh) | 索引文件的生成方法及装置 | |
CN110019910A (zh) | 图像检索方法及装置 | |
Mo et al. | Class-incremental grouping network for continual audio-visual learning | |
JP2012155394A (ja) | 文書分類学習制御装置、文書分類装置およびコンピュータプログラム | |
CN110019874A (zh) | 索引文件的生成方法、装置及系统 | |
US11755671B2 (en) | Projecting queries into a content item embedding space | |
US11676410B1 (en) | Latent space encoding of text for named entity recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200514 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 200241 room 1162, building 555, Dongchuan Road, Shanghai, Minhang District Applicant before: SHANGHAI QUAN TOODOU CULTURAL COMMUNICATION Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190716 |