【技术实现步骤摘要】
编码方法、处理器、编码模块及存储介质
本申请涉及统计编码
,特别是涉及一种编码方法、处理器、编码模块及存储介质。
技术介绍
随着数字电子技术的不断发展,各类人工智能(ArtificialIntelligence,AI)芯片的快速发展对于神经网络处理器的要求也越来越高。神经网络算法作为智能芯片广泛应用的算法之一,运行于神经网络处理器中。然而,由于定点化和稀疏化的广泛应用,模型数据中通常会出现大量连续的零,占用了大量的带宽资源,影响神经网路处理器的整体处理效率。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够对模型数据中出现的大量连续的零进行游程编码,从而在减少数据冗余的同时,避免特殊字符定义冲突的编码方法、处理器、编码模块及存储介质。一种编码方法,所述方法包括:获取输入数据;若所述输入数据中连续排列的第一预设数字的数目大于游程阈值,则对大于所述游程阈值后排列在首位的所述第一预设数字进行字符编码,并根据游程位宽,对大于所述游程阈值后排列在首位的所述第一预设数字之后的其他所述第一预设数字进行编码,得到游程,写入目标编码中;利用第一预设字符,对所述目标编码中的所述第一预设数字的字符编码,以及排列在所述第一预设数字的字符编码之后的游程进行替换;若所述目标编码中存在与所述第一预设字符数值相同的字符编码,则为与所述第一预设字符数值相同的字符编码设置附加字符校验位。在其中一个实施例中,所述方法还包括:若所述输入数据的首位数字为所述第 ...
【技术保护点】
1.一种编码方法,其特征在于,所述方法包括:/n获取输入数据;/n若所述输入数据中连续排列的第一预设数字的数目大于游程阈值,则对大于所述游程阈值后排列在首位的所述第一预设数字进行字符编码,并根据游程位宽,对大于所述游程阈值后排列在首位的所述第一预设数字之后的其他所述第一预设数字进行编码,得到游程,写入目标编码中;/n利用第一预设字符,对所述目标编码中的所述第一预设数字的字符编码,以及排列在所述第一预设数字的字符编码之后的游程进行替换;/n若所述目标编码中存在与所述第一预设字符数值相同的字符编码,则为与所述第一预设字符数值相同的字符编码设置附加字符校验位。/n
【技术特征摘要】
1.一种编码方法,其特征在于,所述方法包括:
获取输入数据;
若所述输入数据中连续排列的第一预设数字的数目大于游程阈值,则对大于所述游程阈值后排列在首位的所述第一预设数字进行字符编码,并根据游程位宽,对大于所述游程阈值后排列在首位的所述第一预设数字之后的其他所述第一预设数字进行编码,得到游程,写入目标编码中;
利用第一预设字符,对所述目标编码中的所述第一预设数字的字符编码,以及排列在所述第一预设数字的字符编码之后的游程进行替换;
若所述目标编码中存在与所述第一预设字符数值相同的字符编码,则为与所述第一预设字符数值相同的字符编码设置附加字符校验位。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述输入数据的首位数字为所述第一预设数字,则根据所述第一预设数字的数据位宽,将所述第一预设数字进行字符编码,并根据所述游程位宽,对所述输入数据中位于所述首位数字之后的其他所述第一预设数字进行编码,得到所述游程,写入所述目标编码中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述输入数据拆分为第二预设数字和所述第一预设数字;
根据所述游程位宽,得到所述游程阈值;
若所述第二预设数字后连续排列的所述第一预设数字的数目小于或等于所述游程阈值,则对所述第二预设数字后连续排列的多个所述第一预设数字进行编码,得到所述游程。
4.根据权利要求3所述的方法,其特征在于,所述第一预设数字为零值,所述第二预设数字为非零值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述输入数据进行统计,得到所述第一预设数字的出现频率;
根据所述第一预设数字的出现频率,设定所述游程位宽。
6.根据权利要求1所述的方法,其特征在于,所述利用第一预设字符,对所述目标编码中的所述第一预设数字的字符编码,以及排列在所述第一预设数字的字符编码之后的游程进行替换,包括:
获取第一预设字符编码,其中,所述第一预设字符编码为在配置模块中对所述第一预设字符进行编码后得到的字符编码;
利用所述第一预设字符编码,对字符编码后的所述第一预设数字以及字符编码后的所述第一预设数字之后的游程进行替换。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
用第二预设字符对所述第一预设字符进行替换;
若所述目标编码中存在与所述第二预设字符值相同的字符编码,则为与所述第二预设字符数值相同的字符编码设置附加字符校验位。
8.一种处理器,其特征在于,所述处理器包括运算单元、与所述运算单元邻近设置的存储单元以及控制器单元,所述控制器单元连接于所述运算单元与所述存储单元之间;
其中,所述运算单元包括编码模块,所述编码模块用于若输入数据中连续排列的第一预设数字的数目大于游程阈值,则对大于所述游程阈值后排列在首位的所述第一预设数字进行字符编码,并根据游程位宽,对大于所述游程阈值后排列在首位的所述第一预设数字之后的其他所述第一预设数字进行编码,得到游程,写入目标编码中;
所述编码模块用于利用第一预设字符,对所述目标编码中的所述第一预设数字的字符编码,以及排列在所述第一预设数字的字符编码之后的游程进行替换;
所述编码模块用于若所述目标编码中存在与所述第一预设字符数值相同的字符编码,则为与所述第一预设字符数值相同的字符编码设置附加字符校验位;
所述存储单元用于存储原始数据以及编码后的数据,并与所述控制器单元以及所述运算单元之间进行数据传输;
所述控制器单元用于获取输入数据以及计...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。