基于云计算的大规模高光谱数据张量环分解随机抽样方法技术

技术编号:32738479 阅读:15 留言:0更新日期:2022-03-20 08:45
本发明专利技术公开了一种基于云计算的大规模高光谱数据张量环分解随机抽样方法,包括以下步骤:读取大规模高光谱张量数据,对其进行格式转换和划分;根据头文件计算抽样数据的数量J,高斯分布初始化n个初始核心张量coreInitialize,将J和coreInitialize广播至每一个计算节点;在计算节点中直方图抽样J次生成张量数据坐标idx1,根据idx1对高光谱张量数据进行抽样;根据idx1对核心张量G抽样生成抽样张量,根据计算节点确定未抽样核心张量Z,最小二乘法计算更新核心张量G;判断到迭代终止条件,迭代结束后,将计算结果核心张量G存储在云计算平台中。本发明专利技术能够对大规模高光谱张量数据进行快速、准确的张量环分解。准确的张量环分解。准确的张量环分解。

【技术实现步骤摘要】
基于云计算的大规模高光谱数据张量环分解随机抽样方法


[0001]本专利技术属于高光谱数据处理领域,特别是一种基于云计算的大规模高光谱数据张量环分解随机抽样方法。

技术介绍

[0002]张量数据分解是高光谱数据应用的一个重要研究方向。高光谱数据的处理和分解多采用张量形式数据表示,这种表示方法可以最大限度的保留原始数据的时空特征。但由于张量数据多模态、维度高的特性,往往在实际的张量数据分解中存在单机瓶颈,常规计算机难以处理大规模的高光谱张量数据。张量数据tucker分解是大规模高光谱张量数据常用的方法。这种方法将张量数据分解为若干个低秩核心张量,其结果可以更好地反映张量数据的维度特征,便于人们进一步对张量数据进行处理。与小规模矩阵数据相比,大规模高光谱张量数据tucker分解有着以下难点:1)数据量大,不易读入内存进行全局的分解;2)数据维度高,处理过程计算次数多;3)数据索引大,往往超过单个文件系统最大文件大小;4)分解结果不唯一,张量数据tucker分解的结果多样,收敛判定较为困难;5)张量秩分布未定。因此针对常规矩阵的方法处理张量数据不能满足大规模高光谱张量数据处理的需要,需要针对大规模高光谱张量数据的特点,在云计算,分布式文件系统,随机化方法等技术的基础上,进一出发展分布式大规模高光谱张量数据分解技术,进而更有效处理和存储传统矩阵中很难处理的大规模张量高光谱数据。
[0003]近几年来,随着计算机存储技术和计算能力的发展,分布式计算技术作为大规模高光谱张量数据存储和处理的有效技术,是一种并行分块进行分解计算的方法,突破单机计算瓶颈,可计算更大规模的数据。此外,其计算过程是同构同时进行计算,利用多个计算节点和资源,以内存和算力换取时间,达到加速计算的目的。为了处理大规模复杂张量数据,已有学者采用MapReduce、Graph等分布式计算框架处理张量数据,加速处理张量数据。
[0004]但是上述方法依然存在问题:1)在计算节点中,仍然受制于该计算节点的内存和存储资源,处理大规模高光谱张量数据仍具有一定限制。2)虽然利用分布式计算技术计算大规模高光谱张量数据的tucker分解是目前大规模数据最受欢迎的处理方法之一。但是,还没有一种方法可以处理不同规模的数据。特别对于小规模数据,分布式存储和计算也没有优势。3)分解过程中张量秩的确定是一大难题,传统的张量秩分布是作为张量数据的先验信息,但是实际的数据计算中,张量数据的秩是未知的,需要在分解过程中确定,计算成本大。

技术实现思路

[0005]本专利技术的目的在于提供一种基于云计算的大规模高光谱数据张量环分解随机抽样方法。
[0006]实现本专利技术目的的技术解决方案为:一种基于云计算的大规模高光谱数据张量环分解随机抽样方法,包括以下步骤:
[0007]步骤1,读取大规模高光谱张量数据,对其进行格式转换和划分;生成张量数据头文件,对数据文件进行分块部署到云平台;
[0008]步骤2,根据头文件计算抽样数据的数量J,高斯分布初始化n个初始核心张量coreInitialize,将J和coreInitialize广播至每一个计算节点;
[0009]步骤3,抽样张量数据;在计算节点中直方图抽样J次生成张量数据坐标idx1,将idx1坐标按数据存储排序为idx2,按idx2的顺序读取并映射为idx1顺序生成抽样张量
[0010]步骤4,根据idx1对核心张量G抽样生成抽样张量根据计算节点确定未抽样核心张量Z,最小二乘法计算更新核心张量G;
[0011]步骤5,判断是否达到迭代停止条件,若达到则停止迭代,将此次迭代的计算结果核心张量G作为最终结果存储在云计算平台;若未达到,将核心张量G广播作为coreInitialize,跳到步骤2继续计算。
[0012]一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的基于云计算的大规模高光谱数据张量环分解随机抽样方法。
[0013]一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的基于云计算的大规模高光谱数据张量环分解随机抽样方法。
[0014]本专利技术与现有技术相比,其显著优点在于:(1)基于云计算技术实现对大规模数据的张量环分解,克服了单机瓶颈和资源限制,能够对单机不能处理的大规模数据进行处理,填补了技术空白;(2)用分布式文件系统存储大规模高光谱张量数据,并设计了张量数据存储形式、处理方法和读取逻辑,对于不同规模的张量数据存储有一定的鲁棒性,极大帮助了并行计算张量数据时的数据获取和处理;(3)在张量数据处理的过程中,采用随机抽样计算,用多次随机抽样计算的结果作为张量数据整体结果,在降低计算资源需求的同时,既能保证计算的精度,使大规模数据张量环计算在分布式计算下效果较好,且有效降低了算法时间复杂度,保证其在张量数据阶数增加时,计算时间不以指数级变化,大大提高了计算效率。
[0015]下面结合附图详细说明本专利技术提供的分类多尺度的高光谱图像分类方法。
附图说明
[0016]图1是本专利技术基于云计算的大规模数据张量环分解的流程图。
具体实施方式
[0017]结合图1,本专利技术提出一种基于云计算的大规模高光谱数据张量环分解随机抽样方法,能够对大规模高光谱张量数据进行快速、准确的张量环分解,该方法具体过程为:
[0018]步骤1,读取大规模高光谱张量数据,对其进行格式转换和划分。生成张量数据头文件,对数据文件进行分块部署到云平台。具体如下:
[0019]对于n阶大规模高光谱张量数据A,其维度为I1×
I2×…×
I
n
,张量秩分布rank为{r1,r2,

,r
n
},生成的张量数据头文件格式为:
[0020]分布式存储张量数据的文件数“file”=张量数据大小/4GB+1
[0021]张量数据的阶数“order”=n
[0022]张量数据每一阶的维度“dim”=I1,I2,

,I
n
[0023]张量每一阶的秩“rank”=r1,r2,

,r
n
或“null”[0024]张量数据的数据类型“type”=double、float、int、short、unsigned int
[0025]对于张量数据A,数据划分方式具体如下:
[0026]令张量数据A中的元素的第i个索引坐标为dim[i

1]∈[0,I
i
),张量数据A中元素坐标为(dim[n

1],dim[n

2],

,dim[0]),保持dim[1]和dim[0]坐标不变进行切片,将元素坐标转化为(idx,dim[1],dim[0])。
[0027]其中,
[0028]将张量数据A划分为file个文件,前file<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于云计算的大规模高光谱数据张量环分解随机抽样方法,其特征在于,包括以下步骤:步骤1,读取大规模高光谱张量数据,对其进行格式转换和划分;生成张量数据头文件,对数据文件进行分块部署到云平台;步骤2,根据头文件计算抽样数据的数量J,高斯分布初始化n个初始核心张量coreInitialize,将J和coreInitialize广播至每一个计算节点;步骤3,抽样张量数据;在计算节点中直方图抽样J次生成张量数据坐标idx1,将idx1坐标按数据存储排序为idx2,按idx2的顺序读取并映射为idx1顺序生成抽样张量步骤4,根据idx1对核心张量G抽样生成抽样张量根据计算节点确定未抽样核心张量Z,最小二乘法计算更新核心张量G;步骤5,判断是否达到迭代停止条件,若达到则停止迭代,将此次迭代的计算结果核心张量G作为最终结果存储在云计算平台;若未达到,将核心张量G广播作为coreInitialize,跳到步骤2继续计算。2.根据权利要求1所述的基于云计算的大规模高光谱数据张量环分解随机抽样方法,其特征在于,步骤1中,张量数据头文件的数据格式包括:数据文件数“file”、张量阶数“order”、张量每一阶的维度“dim”、张量每一阶的秩“rank”、数据类型“type”。3.根据权利要求1所述的基于云计算的大规模高光谱数据张量环分解随机抽样方法,其特征在于,步骤1所述读取大规模高光谱张量数据,对其进行格式转换和划分;生成张量数据头文件,对数据文件进行分块部署到云平台,具体如下:(1.1)对于n阶大规模高光谱张量数据A,其维度为I1×
I2×…×
I
n
,张量秩分布rank为{r1,r2,

,r
n
},生成的张量数据头文件格式为:分布式存储张量数据的文件数“file”=张量数据大小/4GB+1张量数据的阶数“order”=n张量数据每一阶的维度“dim”=I1,I2,

,I
n
张量每一阶的秩“rank”=r1,r2,

,r
n
或“null”张量数据的数据类型“type”=double、float、int、short、unsigned int;(1.2)对于张量数据A,数据划分方式具体如下:令张量数据A中的元素的第i个索引坐标为dim[i

1]∈[0,I
i
),则张量数据A中元素坐标为(dim[n

1],dim[n

2],

,dim[0]),保持dim[1]和dim[0]坐标不变进行切片,将元素坐标转化为(idx,dim[1],dim[0]);其中,将张量数据A划分为file个文件,前file

1个文件中第k个文件包含的数据范围为第file个文件中包含的数据范围为
(1.3)在分布式系统中上传命名规则和抽样数据方法,具体如下:头文件命名为“数据名.hdr”,数据文件命名为“数据名_文件序号”,头文件和数据文件上传至分布式文件系统同一目录下;抽样数据时,先根据头文件获取张量数据信息计算出所需数据的索引和文件序号,通过文件序号和索引抽取张量数据的特定元素。4.根据权利要求1所述的基于云计算的大规模高光谱数据张量环分解随机抽样方法,其特征在于,步骤2所述的根据头文件计算抽样数量J,J表示根据头文件中张量秩rank和张量阶数n计算的读取张量数据的元素数量,高斯分布初始化n个初始核心张量coreInitialize,将J和coreInitialize广播至每一个计算节点,具体步骤如下:(2.1)根据头文件中的张量阶数order、张量维度dim、张量秩rank三个参量,若则确定的抽样元素J数量为:若头文件中张量秩为空时,采用预估秩分布;预估张量秩分布采用固定系数和张量维度的乘积确定,系数第i次迭代计算生成的张量秩分布(2.2)通过高斯分布初始化n个核心张量coreInitialize,第i个核心张量大小为r
mod(i+n

1,n)
×
J
×
r
i
;(2.3)广播数据至每一个计算节点,具体广播数据如下:broadcast1=(dim,rank,max(rank...

【专利技术属性】
技术研发人员:吴泽彬宁伟凯张毅孙晋徐洋
申请(专利权)人:南京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1