CN111563600B - 一种用于定点转化的系统和方法 - Google Patents
一种用于定点转化的系统和方法 Download PDFInfo
- Publication number
- CN111563600B CN111563600B CN201910115155.2A CN201910115155A CN111563600B CN 111563600 B CN111563600 B CN 111563600B CN 201910115155 A CN201910115155 A CN 201910115155A CN 111563600 B CN111563600 B CN 111563600B
- Authority
- CN
- China
- Prior art keywords
- cluster
- value
- target
- determining
- sample values
- 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.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000007667 floating Methods 0.000 claims abstract description 58
- 238000012549 training Methods 0.000 claims abstract description 50
- 238000010801 machine learning Methods 0.000 claims description 36
- 238000009826 distribution Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 12
- 108091026890 Coding region Proteins 0.000 claims description 9
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 8
- 108700026244 Open Reading Frames Proteins 0.000 claims 2
- 238000012545 processing Methods 0.000 description 65
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000007477 logistic regression Methods 0.000 description 8
- 238000012706 support-vector machine Methods 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000003066 decision tree Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 239000011521 glass Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 241000579895 Chlorostilbon Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000010976 emerald Substances 0.000 description 1
- 229910052876 emerald Inorganic materials 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/24—Conversion to or from floating-point codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种用于定点转化的系统和方法。该方法包括:获得训练样本集,其中训练样本集包括多个样本值;基于样本值将多个样本值划分为多个参考簇;对于多个参考簇,基于参考簇内的一个或多个样本值,确定对应该参考簇的一个或多个转换参数;以浮点格式获取目标值;基于目标值确定多个参考簇中的目标簇;基于与目标簇对应的一个或多个转换参数,将浮点格式的目标值转换为定点格式。
Description
技术领域
本申请涉及机器学习技术领域,具体地,涉及通过嵌入式芯片执行机器学习网络的系统和方法。
背景技术
机器学习网络是一种计算模型,可用于解决使用传统计算模型难以解决的任务。例如,可以训练机器学习网络以执行使用其他传统编程范例极难实现的模式识别任务。利用机器学习网络通常需要执行计算和操作来开发、训练和更新机器学习网络。传统上,机器学习网络已经使用浮点数操作的台式计算机处理器或服务器来实现。例如,使用IEEE 754格式编码的32位浮点数表示数据并执行机器学习网络的计算。
然而,在嵌入式处理器(例如,移动设备的处理器)上执行浮点计算和操作是非常困难的。因此,需要提高使用定点数操作的嵌入式处理器来实现机器学习网络的效率。另外,随着机器学习网络越来越庞大和复杂,需要降低机器学习网络的计算复杂度以改进速度,降低功率要求和其他低效率。
发明内容
本申请实施例之一提供一种数据格式转化的系统,包括:至少一个非暂时性存储设备,包括一组指令集;以及与该至少一个非暂时性存储设备通信的至少一个处理器,其中,当执行该指令集时,该至少一个处理器用于:获得训练样本集,其中训练样本集包括多个样本值;基于样本值将多个样本值划分为多个参考簇;对于多个参考簇中的每一个,基于参考簇内的一个或多个样本值,确定对应该参考簇的一个或多个转换参数;以浮点格式获取目标值;基于目标值确定多个参考簇中的目标簇;基于与目标簇对应的一个或多个转换参数,将浮点格式的目标值转换为定点格式。
在一些实施例中,所述一个或多个转换参数包括Q数值,以确定与所述参考簇相对应的Q数值,所述系统还用于:确定与参考簇对应的簇中心值;基于与参考簇对应的簇中心值和具有参考簇的样本值,确定与参考簇对应的最大范围值;基于与参考簇对应的最大范围值确定与参考簇对应的Q数值。
在一些实施例中,所述一个或多个转换参数包括位移值,为了确定对应于所述参考簇的位移值,所述系统还用于:确定训练样本集的多个样本值的原始中心值;确定与参考簇对应的簇中心值;基于原始中心值和与参考簇对应的簇中心值,确定与参考簇对应的位移值。
在一些实施例中,所述浮点格式的目标值包括目标簇编码区域,所述系统还用于:确定多个样本值的分布;基于多个样本值的分布确定目标簇编码区域的长度。
在一些实施例中,所述系统还被配置为:基于目标簇编码区域的长度确定参考簇的数量;基于参考簇的数量确定多个参考簇。
在一些实施例中,所述系统还被配置为:根据定点格式的目标值和机器学习网络生成基于定点格式的第一结果;基于与目标簇对应的一个或多个转换参数将第一结果转换为浮点格式。
在一些实施例中,所述系统还被配置为:其中基于所述训练样本集生成所述机器学习网络。
在一些实施例中,所述系统还被配置为:基于与多个参考簇对应的转换参数确定查找表。
在一些实施例中,所述查找表是哈希表。
在一些实施例中,所述基于所述目标簇对应的所述一个或多个转换参数,将所述浮点格式的目标值转换为定点格式,所述系统还用于:从查找表中获取与目标簇对应的一个或多个转换参数。
申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是显而易见的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。
图1是根据本申请的一些实施例所示的用于浮点转定点系统的示意图;
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图;
图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的示例性处理引擎的框图;
图5是根据本申请的一些实施例所示的用于浮点转定点的示例性过程和/或方法的流程图;
图6是根据本申请的一些实施例所示的用于确定转换参数的示例性过程和/或方法的流程图;
图7是根据本申请的一些实施例所示的示例性参考簇的示意图。
具体实施方式
下述描述是为了使本领域的普通技术人员能够制造和使用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,另外,在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中所使用的术语仅仅用来描述特定的示例性实施例,并不旨在对其进行。如本申请和权利要求书中所示,除非上下文明确提示例外情形,
“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可以包括复数。可以进一步理解的是,术语“包括”与“包含”是指存在多个明确标识的特征、整数、步骤、步骤、元件和/或组件,但并不排除呈现或添加至少一个其他特征、整数、步骤、步骤、元件和/或组件,和/或它们的组合。
在考虑了作为本申请一部分的附图的描述内容后,本申请的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照相反的顺序或同时处理各种步骤。此外,可以向流程图添加至少一个其他操作。也可以从流程图中删除至少一个操作。
图1是根据本申请的一些实施例所示的用于数据格式转化示例性系统的示意图。系统100可以包括服务器110、网络120、终端130和数据库140。服务器110可包含处理引擎112。
服务器110可以用于为与多个服务请求有关的过程信息和/或数据,例如,服务器110可以用于为查询数据库140。在一些实施例中,服务器110可以用于生成数据表并将数据表存储在数据库140中。在一些实施例中,服务器110可以基于查询请求确定数据库140中的至少一个目标数据表。在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。该服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储在终端130和/或数据库140中的信息和/或数据。又例如,服务器110可以直接连接到终端130和/或数据库140以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在如本申请图2中描述的包含了至少一个组件的计算设备上执行。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与服务请求有关的信息和/或数据(例如,数据格式转化请求)以执行本申请中描述的至少一个功能。在一些实施例中,该处理引擎112可包括至少一个处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为范例,处理引擎112可以包括中央处理单元(CPU)、专用集成电路(ASIC)、应用专用指令处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可程序逻辑装置(PLD)、控制器、微控制器单元、精简一组指令计算机(RISC)、微处理器等或其任意组合。
终端130可以是与服务请求直接相关的个人、工具或其他实体的用户。在一些实施例中,用户可以经由终端130向查询数据库140发送查询请求。在一些实施例中,服务器110可以通过收集由终端130发送的数据来生成数据表。在一些实施例中,终端130可以包括乘客终端和/或司机终端。在一些实施例中,终端130可以包括移动设备130-1、平板计算机130-2、膝上型计算机130-3,以及机动车辆中的内置设备130-4等,或任何其组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,该可穿戴设备可包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实补丁、增强现实头盔、增强现实眼镜、增强现实补丁等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括GoogleGlassTM、OculusRiftTM、HololensTM或GearVRTM等。在一些实施例中,机动车内置设备130-4可以包括车载计算机、车载电视等。
网络120可以促进信息和/或数据的交换。在一些实施例中,系统100中的至少一个组件(例如,服务器110、终端130或数据库140)可以向/从系统中的其他组件发送和/或接收信息和/或数据。100通过网络120。例如,服务器110可以经由网络120从终端130获得/获取服务请求(例如,数据格式转化请求)。在一些实施例中,网络120可以为任意形式的有线或无线网络,或其任意组合。例如,网络120可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网络(LAN)、广域网路(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共开关电话网络(PSTN)、蓝牙网络、无线个域网、近场通讯(NFC)网络、全球行动通讯系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线服务(GPRS)网络、增强数据速率GSM演进(EDGE)网络、宽带码分多址接入(WCDMA)网络、高速下行分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短讯息服务(SMS)网络、无线应用协议(WAP)网络、超宽带(UWB)网络、红外线等中的一种,或类似或其任意组合。在一些实施例中,网络120可以包括至少一个网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2、……,通过系统100的一个及以上部件可以连接到网络120以交换数据和/或信息。
数据库140可以储存数据和/或指令。在一些实施例中,数据库140可以存储从终端130获得/获取的数据。在一些实施例中,数据库140可以存储由服务器110执行或使用的不同模型,以执行本申请中描述的示例性方法。在一些实施例中,数据库140可以存储不同的数据表。在一些实施例中,存储器140可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(PEROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,数据库140可在云端平台上执行。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,数据库140可以连接到网络120以与系统100中的至少一个组件(例如,服务器110、终端130)通信。系统100中的一个或多个部件可以通过网络120访问储存于数据库140中的数据或指令。在一些实施例中,数据库140可以直接连接到系统100(例如,服务器110,终端130)中的至少一个组件或与之通信。在一些实施例中,数据库140可以是服务器110的一部分。
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图。根据本申请的一些实施例,服务器110、终端130和/或数据库140可以在计算设备200上实现。本实施例中的特定系统利用框图说明了一个包含用户界面的硬件平台。这种计算机可以是一个通用目的的计算机,也可以是一个有特定目的的计算机。两种计算机都可以被用于实现本实施例中的特定系统。计算设备200可以用于实现执行本申请中公开的至少一个功能的任何组件。例如,计算设备200可用于实现如本文该的系统100的任何组件。仅出于方便的目的,仅示出了一个这样的计算机设备。本领域普通技术人员在提交本申请时将理解,与本文该的服务有关的计算机功能可以在多个类似平台上以分布式方式实现,以分配处理负载。
例如,计算设备200可以包括与网络相连接通信端口250,以实现数据通信。计算设备200还可以包括处理器(例如,处理器220),其形式为至少一个处理器(例如,逻辑电路),用于执行程序指令。例如,处理器220可以包括接口电路和其中的处理电路。接口电路可以用于为从总线210接收电信号,其中电信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线210从处理电路发出电信号。
计算设备200还可以包括不同形式的程序存储和数据存储,例如磁盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,用于存储由计算设备处理和/或传输的各种数据文件。示例性计算设备也可以包括储存于ROM230、RAM240和/或其他形式的非暂时性存储介质中的能够被处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200还包括I/O组件260,支持计算机和其他组件之间的输入/输出。计算设备200也可以通过网络通信接收编程和数据。
仅用于说明,图2中仅示出了一个CPU和/或处理器。还可以考虑多个CPU和/或处理器;因此,由本申请中描述的一个CPU和/或处理器执行的操作和/或方法步骤也可以由多个CPU和/或处理器联合或单独执行。例如,如果在本申请中,计算设备200的CPU和/或处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由计算设备200的两个不同的CPU和/或处理器共同地或独立地执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同地执行步骤A和步骤B)。
图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图。根据本申请的一些实施例,终端130可以在移动设备300上实现。如图3所示,移动设备300可以包括通信模块310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、内存360和存储器390。CPU340可以包括接口电路和类似于处理器220的处理电路。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。
在一些实施例中,操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM)和至少一个应用程序380可以从存储器390以订单的形式加载到存储器360中以由CPU 340执行。应用380可以包括浏览器或任何其他合适的移动应用程序,用于从系统100接收和发送与服务请求有关的信息(例如,数据格式转化请求)。用户与信息流的交互可以通过I/O350实现,并通过网络120提供给处理引擎112和/或系统100的其他组件。
为了实现上述各种模块,单元及其功能,计算机硬件平台可以用作至少一个元件(例如,图1中描述的服务器110的组件)的硬件平台。由于这些硬件元素,操作系统和程序语言很常见,可以假设本领域技术人员可以熟悉这些技术,并且他们可以根据本公开中描述的技术提供数据格式转化中所需的信息。具有用户界面的计算机可以用作个人计算机(PC)或其他类型的工作站或终端设备。在正确编程之后,具有用户界面的计算机可以用作服务器。可以认为本领域普通技术人员也可以熟悉这种类型的计算机设备的这种结构、程序或一般操作。因此,没有针对附图描述额外的解释。
图4是根据本申请的一些实施例所示的示例性处理引擎的框图。处理引擎112可以包括获取模块401、聚类模块402、转换参数确定模块403、目标簇确定模块404和转换模块405
获取模块401可以获取训练样本集。训练样本集可包括多个样本值。训练样本集可以包括多个训练样本。在一些实施例中,训练样本可以用来生成或更新机器学习网络。机器学习网络可以是卷积神经网络(CNN),深度置信网络(DBN),堆叠自动编码器(SAE),逻辑回归(LR)模型,支持向量机(SVM),决策树模型,朴素贝叶斯模型,随机森林模型,限制玻尔兹曼机(RBM),Q学习模型等,或其组合。在一些实施例中,可以通过基于历史数据训练初步模型来生成训练模型。训练样本可以包括一个或多个样本值。例如,如果训练样本集是包括多个图像的图像集,则训练样本可以是图像集中的图像,训练样本的一个或多个样本值可以是图像中像素的像素值。样本值可以具有一定的范围。在一些实施例中,样本值的范围可以是预先设定的。例如,如果训练样本是三通道256色的图像,样本值(即,每个通道的像素值)可以在[0,255]内。在一些实施例中,可以基于统计方法确定样本值的范围。
获取模块401可以获得浮点格式的目标值。目标值可以通过机器学习网络处理。由于在嵌入式处理器(例如,移动设备的处理器)上执行浮点计算在计算量上的代价很高,因此以浮点格式存储的目标值需要转换为定点格式值,以便机器学习网络处理。
聚类模块402可以根据样本值的分布将多个样本值聚类为多个参考簇。聚类模块402可以将相近的样本值聚类在相同的参考簇里。例如,对于具有样本值{1,1.1,2.5,3,7,8,9}的训练样本集,聚类模块402可以将样本值“1”,“1.1”,“2.5”,和“3”分入同一个参考簇,将样本值“7”,“8”和“9”分入另一个参考簇。在一些实施例中,参考簇的数量可以预先确定,聚类模块402可以基于预定的数量将样本值聚类为多个参考簇。关于使用预定量确定参考簇有关的详细描述请参见操作505的相关描述。在一些实施例中,聚类模块402可以给参考簇分配编号。例如,如果在操作502中生成了四个参考簇,则处理引擎112可以将四个参考簇分别命名为“簇1”,“簇2”,“簇3”和“簇4”。
仅仅作为说明,可以基于聚类技术确定多个参考聚类。示例性聚类技术可以包括基于连接的聚类技术,基于质心的聚类,基于密度的聚类和基于分布的聚类等,或其任何组合。
转换参数确定模块403可以基于该参考簇内的样本值来确定与该参考聚类对应的一个或多个转换参数。转换参数用于浮点值和定点值之间的相互转换。在一些实施例中,转换参数可以包括Q数值,浮点值可以基于Q数值转换为定点值。图7是示出根据本公开的一些实施例的示例性参考簇的示意图。在图7中,轴上的点表示多个样本值。样本值被划分为参考簇701和参考簇702。由于参考簇701中的样本值的分布比参考群集702中的样本值的分布更稀疏,因此,为了满足准确度的需求,参考簇702的Q值(例如,15)要高于参考簇701的Q数值(例如,13)。然而,当Q值是15时,根据表1,实际值的最大值为1。因此,实际样本值和表示参考群集702中的样本值的定点值之间会存在偏移误差。在一些实施例中,转换参数还可以包括偏移量。偏移量可以用来校正由浮点值转换的定点值的偏移误差。确定Q数值和偏移量有关的详细描述请参见图6及其描述。
转换参数确定模块403可以基于多个参考簇的一个或多个转换参数生成查找表(例如,哈希表),其中,在操作502中分配的参考簇编号可以当做查找索引。
转换参数确定模块403可以确定训练样本集的多个样本值的原始中心值。在一些实施例中,多个样本值的原始中心值可以是预定的,例如,原始中心可以是零。在一些实施例中,多个样本值的原始中心值可以与多个样本值的平均值相关。在一些实施例中,多个样本值的原始中心值可以与多个样本值的中值相关。
转换参数确定模块403可以确定与参考簇相对应的簇中心值。在一些实施例中,对应于参考簇的簇中心值可以根据参考簇内的样本值的平均值确定。在一些实施例中,与参考簇对应的簇中心值可以根据参考簇内的样本值的中值确定。
转换参数确定模块403可以根据与参考簇对应的簇中心值和参考簇内的样本值来确定与参考簇的最大范围值。处理引擎112可以将群集中心值与参考群集内的样本值之间的最大差异确定为最大范围值。
转换参数确定模块403可以基于与参考簇对应的最大范围值来确定与参考簇对应的Q数值。如表1所示,Q数值与浮点数的十进制数值范围有关。例如,如果参考簇的最大范围值是7,则对应参考簇的Q数值为12。
处理引转换参数确定模块403基于原始中心值和与参考簇对应的簇中心值来确定该参考簇的偏移量。处理引擎112可以基于原始中心值与该参考簇对应的簇中心值之间的差来确定该参考簇对应的偏移量。
目标簇确定模块404可以根据目标值从多个参考簇中确定一个目标簇。在一些实施例中,处理引擎112可以基于目标值与参考簇中心之间的距离来确定目标簇。处理引擎112可以将于目标值之间的距离最短参考簇作为目标值的目标簇。
在一些实施例中,浮点格式的目标值可以包括一段目标簇编码区域。目标簇编码区域可以包括用于编码目标簇编号的一个或多个比特位。同时,根据目标群集编码区域的长度可以确定步骤502中提到的参考簇的数量。例如,如果目标簇编码区域的长度是2比特,则参考簇的最大数量是4(22)。如果“簇3”被确定为目标簇,则目标簇编码区域可以包括比特“10”,用于表示目标簇为簇3。处理引擎112可以根据样本值的分布确定目标簇编码区域长度。
转换模块405可以基于与目标簇相对应的一个或多个转换参数将浮点格式的目标值转换为定点格式。在一些实施例中,转换模块405可以通过搜索查找表来确定与目标簇相对应的转换参数。根据目标簇对应的转换参数将浮点格式的目标值转换为定点格式之后,定点格式目标值可以在机器学习网络中进行定点运算。所述机器学习网络跟根据训练样本集生成。一些实施例中,训练样本可以用来生成或更新机器学习网络。机器学习网络可以是卷积神经网络(CNN),深度置信网络(DBN),堆叠自动编码器(SAE),逻辑回归(LR)模型,支持向量机(SVM),决策树模型,朴素贝叶斯模型,随机森林模型,限制玻尔兹曼机(RBM),Q学习模型等,或其组合。根据机器学习网络和目标值可以生成定点格式的第一结果。在一些实施例中,可以基于与目标簇相对应转换参数将定点格式的第一结果转换为浮点格式。
关于处理引擎112的上述应当注意描述是出于说明的目的而提供的,并非旨在限制本申请的范围。本领域技术人员能够理解,本申请所披露的内容可以出现多种变型和改进。但是,那些变化与修改不会脱离本申请的范围。例如,处理引擎112还可以包括存储模块(图4中未示出)。存储模块可以用于存储在由处理引擎112的任何组件执行的任何过程期间生成的数据。又例如,处理引擎112的每个组件可以与存储模块相关联。附加地或替代地,处理引擎112的组件可以共享公共存储模块。类似的修改应属于本申请的范围。
图5是根据本申请的一些实施例所示的用于将浮点数转化为定点数的示例性过程的流程图。过程500可以由系统100执行。例如,过程500可以被实现为存储设备(例如,ROM230或RAM240)中的一组指令(例如,应用程序),并且由处理引擎112调用和/或执行(例如,处理器220,图2中所示的计算设备200和/或图4中所示的模块和/或单元。处理引擎112可以执行该组指令,并且当执行指令时,可以将其配置为执行过程500。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程500在实施时可以添加至少一个本申请未描述的额外操作,和/或删减至少一个此处所描述的操作。另外,其中如图5所示和下面描述的过程的操作的订单不是限制性的。
十进制格式的实际值可以在处理器中以浮点格式存储和处理。由于在嵌入式处理器(例如,移动设备的处理器)上很难执行浮点计算和操作,因此浮点值需要转换为定点值以进行处理。在一些实施例中,为了将浮点值转化为定点值,需要标定小数位的数量。例如,Q格式数使用Q数值来指定小数位的数量从而表示浮点数。由Q格式编号表示的十进制数的范围和精度取决于Q数值。浮点值和定点值和定点值之间的转换关系可以表示为以下公式:
xi=xf*2Q, (1)
其中xi代表一个实数的定点值(如,一个十进制数字),xf代表一个实数的浮点值(如,一个十进制数字),Q代表Q数值。
表1是表示根据本公开的一些实施例示出的16位字节的Q数值与实际值的范围之间的关系的示例性表格。
表1
例如,如果Q数值为15,则实际值的十进制范围为[-1,0.9999695]。如果Q值为10,则实际值的十进制范围为[-32,31.9990234],与Q值为10的情况相比,实际值的范围更宽,但实际值的精度更低(因为当Q值为10时的小数部分的值低于当Q数为15小数部分的值)。生成或更新机器学习网络需要大量的数据。对于这些数据,起其范围需求和准确度需求可能不同。因此,需要针对海量数据的不同范围需求和精度需求确定不同的Q值。
在501中,处理引擎112(例如,获取模块401)可以获取训练样本集。训练样本集可包括多个样本值。训练样本集可以包括多个训练样本。在一些实施例中,训练样本可以用来生成或更新机器学习网络。机器学习网络可以是卷积神经网络(CNN),深度置信网络(DBN),堆叠自动编码器(SAE),逻辑回归(LR)模型,支持向量机(SVM),决策树模型,朴素贝叶斯模型,随机森林模型,限制玻尔兹曼机(RBM),Q学习模型等,或其组合。在一些实施例中,可以通过基于历史数据训练初步模型来生成训练模型。训练样本可以包括一个或多个样本值。例如,如果训练样本集是包括多个图像的图像集,则训练样本可以是图像集中的图像,训练样本的一个或多个样本值可以是图像中像素的像素值。样本值可以具有一定的范围。在一些实施例中,样本值的范围可以是预先设定的。例如,如果训练样本是三通道256色的图像,样本值(即,每个通道的像素值)可以在[0,255]内。在一些实施例中,可以基于统计方法确定样本值的范围。
在502中,处理引擎112(例如,聚类模块402)可以根据样本值的分布将多个样本值聚类为多个参考簇。处理引擎112可以将相近的样本值聚类在相同的参考簇里。例如,对于具有样本值{1,1.1,2.5,3,7,8,9}的训练样本集,处理引擎112可以将样本值“1”,“1.1”,“2.5”,和“3”分入同一个参考簇,将样本值“7”,“8”和“9”分入另一个参考簇。在一些实施例中,参考簇的数量可以预先确定,处理引擎112可以基于预定的数量将样本值聚类为多个参考簇。关于使用预定量确定参考簇有关的详细描述请参见操作505的相关描述。在一些实施例中,处理引擎112可以给参考簇分配编号。例如,如果在操作502中生成了四个参考簇,则处理引擎112可以将四个参考簇分别命名为“簇1”,“簇2”,“簇3”和“簇4”。
仅仅作为说明,可以基于聚类技术确定多个参考聚类。示例性聚类技术可以包括基于连接的聚类技术,基于质心的聚类,基于密度的聚类和基于分布的聚类等,或其任何组合。
在503中,对于每一个参考簇,处理引擎112(例如,转换参数确定模块403)可以基于该参考簇内的样本值来确定与该参考聚类对应的一个或多个转换参数。转换参数用于浮点值和定点值之间的相互转换。在一些实施例中,转换参数可以包括Q数值,浮点值可以基于Q数值转换为定点值。图7是示出根据本公开的一些实施例的示例性参考簇的示意图。在图7中,轴上的点表示多个样本值。样本值被划分为参考簇701和参考簇702。由于参考簇701中的样本值的分布比参考群集702中的样本值的分布更稀疏,因此,为了满足准确度的需求,参考簇702的Q值(例如,15)要高于参考簇701的Q数值(例如,13)。然而,当Q值是15时,根据表1,实际值的最大值为1。因此,实际样本值和表示参考群集702中的样本值的定点值之间会存在偏移误差。在一些实施例中,转换参数还可以包括偏移量。偏移量可以用来校正由浮点值转换的定点值的偏移误差。确定Q数值和偏移量有关的详细描述请参见图6及其描述。
在一些实施例中,处理引擎112(例如,转换参数确定模块403)可以基于多个参考簇的一个或多个转换参数生成查找表(例如,哈希表),其中,在操作502中分配的参考簇编号可以当做查找索引。
在504中,处理引擎112(例如,获取模块401)可以获得浮点格式的目标值。目标值可以通过机器学习网络处理。由于在嵌入式处理器(例如,移动设备的处理器)上执行浮点计算在计算量上的代价很高,因此以浮点格式存储的目标值需要转换为定点格式值,以便机器学习网络处理。
在505中,处理引擎112(例如,目标簇确定模块404)可以根据目标值从多个参考簇中确定一个目标簇。在一些实施例中,处理引擎112可以基于目标值与参考簇中心之间的距离来确定目标簇。处理引擎112可以将于目标值之间的距离最短参考簇作为目标值的目标簇。
在一些实施例中,浮点格式的目标值可以包括一段目标簇编码区域。目标簇编码区域可以包括用于编码目标簇编号的一个或多个比特位。同时,根据目标群集编码区域的长度可以确定步骤502中提到的参考簇的数量。例如,如果目标簇编码区域的长度是2比特,则参考簇的最大数量是4(22)。如果“簇3”被确定为目标簇,则目标簇编码区域可以包括比特“10”,用于表示目标簇为簇3。处理引擎112可以根据样本值的分布确定目标簇编码区域长度。
在506中,处理引擎112(转换模块405)可以基于与目标簇相对应的一个或多个转换参数将浮点格式的目标值转换为定点格式。在一些实施例中,处理引擎112可以通过搜索查找表来确定与目标簇相对应的转换参数。根据目标簇对应的转换参数将浮点格式的目标值转换为定点格式之后,定点格式目标值可以在机器学习网络中进行定点运算。所述机器学习网络跟根据训练样本集生成。一些实施例中,训练样本可以用来生成或更新机器学习网络。机器学习网络可以是卷积神经网络(CNN),深度置信网络(DBN),堆叠自动编码器(SAE),逻辑回归(LR)模型,支持向量机(SVM),决策树模型,朴素贝叶斯模型,随机森林模型,限制玻尔兹曼机(RBM),Q学习模型等,或其组合。根据机器学习网络和目标值可以生成定点格式的第一结果。在一些实施例中,可以基于与目标簇相对应转换参数将定点格式的第一结果转换为浮点格式。
应当注意以上浮点值转化为定点值的说明仅用于说明目的。显然,在理解了有向图的存储方法的基本原理之后,本领域技术人员可以根据实际需要,对浮点值转化为定点值的流程进行各种形式或细节的修改和变化。这些修改或变化应被视为在本申请的范围内。
图6是示出根据本申请的一些实施例所示的用于确定转换参数的示例性过程的流程图。过程600可以由系统100执行。例如,过程600可以被实现为存储设备(例如,ROM230或RAM240)中存储的一组指令(例如,应用程序),并且由处理引擎112调用和/或执行(例如,图2中所示的计算设备200的处理器220和/或图4中所示的模块和/或单元。处理引擎112可以执行一组指令,并且当执行指令时,可以将其配置为执行处理600。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程600在实现时可以添加至少一个未描述的额外操作,和/或删减至少一个此处所描述的操作。另外,其中如图6所示和下面描述的过程的操作的订单不是限制性的。
在601中,处理引擎112(例如,转换参数确定模块403)可以确定训练样本集的多个样本值的原始中心值。在一些实施例中,多个样本值的原始中心值可以是预定的,例如,原始中心可以是零。在一些实施例中,多个样本值的原始中心值可以与多个样本值的平均值相关。在一些实施例中,多个样本值的原始中心值可以与多个样本值的中值相关。
在602中,处理引擎112(例如,转换参数确定模块403)可以确定与参考簇相对应的簇中心值。在一些实施例中,对应于参考簇的簇中心值可以根据参考簇内的样本值的平均值确定。在一些实施例中,与参考簇对应的簇中心值可以根据参考簇内的样本值的中值确定。
在603中,处理引擎112(例如,转换参数确定模块403)可以根据与参考簇对应的簇中心值和参考簇内的样本值来确定与参考簇的最大范围值。处理引擎112可以将群集中心值与参考群集内的样本值之间的最大差异确定为最大范围值。
在604中,处理引擎112(例如,转换参数确定模块403)可以基于与参考簇对应的最大范围值来确定与参考簇对应的Q数值。如表1所示,Q数值与浮点数的十进制数值范围有关。例如,如果参考簇的最大范围值是7,则对应参考簇的Q数值为12。
在605中,处理引擎112(例如,转换参数确定模块403)可以基于原始中心值和与参考簇对应的簇中心值来确定该参考簇的偏移量。处理引擎112可以基于原始中心值与该参考簇对应的簇中心值之间的差来确定该参考簇对应的偏移量。
应当注意以上描述基于确定转换参数的过程是为了说明的目的而提供的,并不旨在限制本申请的范围。对于具有本领域普通技能的人员,模块可以以各种方式组合,或者作为子系统与其他模块连接。在本发明的指导下可以进行各种变化和修改。然而,那些变化与修改可能不脱离本公开的精神和范围。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述之至少一个组件的硬件平台。具有用户接口组件的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。若程控得当,计算机亦可用作服务器。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述申请披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等、或合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令集执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质、或任何上述介质的组合。
本申请各部分步骤所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向主体编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的申请实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,例如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个申请实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请主体所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
Claims (16)
1. 一种用于定点转化的系统,包括:
至少一个非暂时性存储设备,包括一组指令集;以及
与该至少一个非暂时性存储设备通信的至少一个处理器,其中,当执行该指令集时,该至少一个处理器用于:
获得训练样本集,其中训练样本集包括多个样本值; 训练样本集是包括多个图像的图像集,训练样本的一个或多个样本值是图像中像素的像素值;
基于样本值将多个样本值划分为多个参考簇;
对于多个参考簇,基于参考簇内的一个或多个样本值,确定对应该参考簇的一个或多个转换参数;所述一个或多个转换参数包括位移值,为了确定对应于所述参考簇的位移值,执行以下一个或多个操作:
确定训练样本集的多个样本值的原始中心值;
确定与参考簇对应的簇中心值;
基于原始中心值和与参考簇对应的簇中心值,确定与参考簇对应的位移值;
以浮点格式获取目标值;所述浮点格式的目标值包括目标簇编码区域,所述获取目标值包括:
确定多个样本值的分布;
基于多个样本值的分布确定目标簇编码区域的长度;
将与所述目标值的距离最短的参考簇确定为目标簇;
基于与目标簇对应的一个或多个转换参数,按浮点数和定点数之间的转换关系将浮点格式的目标值转换为定点格式。
2.如权利要求1所述的系统,其中,所述一个或多个转换参数包括Q数值,为了确定与所述参考簇相对应的Q数值,所述系统还用于:
确定与参考簇对应的簇中心值;
基于与参考簇对应的簇中心值和具有参考簇的样本值,确定与参考簇对应的最大范围值;
基于与参考簇对应的最大范围值确定与参考簇对应的Q数值。
3.如权利要求1所述的系统,其中,所述系统还被配置为:
基于目标簇编码区域的长度确定参考簇的数量;
基于参考簇的数量确定多个参考簇。
4.如权利要求3所述的系统,其中,所述系统被配置为:
根据定点格式的目标值和机器学习网络生成基于定点格式的第一结果;
基于与目标簇对应的一个或多个转换参数将第一结果转换为浮点格式。
5.如权利要求4所述的系统,其中所述机器学习网络基于训练样本集生成。
6.根据权利要求1所述的系统,其中,所述系统还被配置为:
基于与多个参考簇对应的转换参数确定查找表。
7.如权利要求6所述的系统,其中所述查找表是哈希表。
8.如权利要求5所述的系统,其特征在于,为了基于所述目标簇对应的所述一个或多个转换参数,按浮点数和定点数之间的转换关系将所述浮点格式的目标值转换为定点格式,所述系统还用于:
从查找表中获取与目标簇对应的一个或多个转换参数。
9.一种用于定点转化的方法,包括:
获得训练样本集,其中训练样本集包括多个样本值;训练样本集是包括多个图像的图像集,训练样本的一个或多个样本值是图像中像素的像素值;
基于样本值将多个样本值划分为多个参考簇;
对于多个参考簇,基于参考簇内的一个或多个样本值,确定对应该参考簇的一个或多个转换参数;所述一个或多个转换参数包括位移值,为了确定对应于所述参考簇的位移值,执行以下一个或多个操作:
确定训练样本集的多个样本值的原始中心值;
确定与参考簇对应的簇中心值;
基于原始中心值和与参考簇对应的簇中心值,确定与参考簇对应的位移值;
以浮点格式获取目标值; 所述浮点格式的目标值包括目标簇编码区域,所述获取目标值包括:
确定多个样本值的分布;
基于多个样本值的分布确定目标簇编码区域的长度;
将与所述目标值的距离最短的参考簇确定为目标簇;
基于与目标簇对应的一个或多个转换参数,按浮点数和定点数之间的转换关系将浮点格式的目标值转换为定点格式。
10.如权利要求9所述的方法,其中,所述一个或多个转换参数包括Q数值,为了确定与所述参考簇相对应的Q数值,所述方法还包括:
确定与参考簇对应的簇中心值;
基于与参考簇对应的簇中心值和具有参考簇的样本值,确定与参考簇对应的最大范围值;
基于与参考簇对应的最大范围值确定与参考簇对应的Q数值。
11.如权利要求9所述的方法,其中,所述方法还包括:
基于目标簇编码区域的长度确定参考簇的数量;
基于参考簇的数量确定多个参考簇。
12.如权利要求11所述的方法,其中,所述方法还包括:
根据定点格式的目标值和机器学习网络生成基于定点格式的第一结果;
基于与目标簇对应的一个或多个转换参数将第一结果转换为浮点格式。
13.如权利要求12所述的方法,其中所述机器学习网络基于训练样本集生成。
14.如根据权利要求9所述的方法,其中,所述方法还包括:
基于与多个参考簇对应的转换参数确定查找表。
15.如权利要求14所述的方法,其中所述查找表是哈希表。
16.如权利要求13所述的方法,其特征在于,为了基于所述目标簇对应的所述一个或多个转换参数,按浮点数和定点数之间的转换关系将所述浮点格式的目标值转换为定点格式,所述方法还包括:
从查找表中获取与目标簇对应的一个或多个转换参数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910115155.2A CN111563600B (zh) | 2019-02-14 | 2019-02-14 | 一种用于定点转化的系统和方法 |
PCT/CN2019/075428 WO2020164162A1 (en) | 2019-02-14 | 2019-02-19 | Systems and methods for fixed-point conversion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910115155.2A CN111563600B (zh) | 2019-02-14 | 2019-02-14 | 一种用于定点转化的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111563600A CN111563600A (zh) | 2020-08-21 |
CN111563600B true CN111563600B (zh) | 2024-05-10 |
Family
ID=72045185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910115155.2A Active CN111563600B (zh) | 2019-02-14 | 2019-02-14 | 一种用于定点转化的系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111563600B (zh) |
WO (1) | WO2020164162A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466439A (zh) * | 2022-01-26 | 2022-05-10 | 广州慧睿思通科技股份有限公司 | 一种用于基站的输入功率转换方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368375A (zh) * | 2016-05-11 | 2017-11-21 | 华中科技大学 | 一种基于MapReduce的K-means聚类算法FPGA加速系统 |
CN108764458A (zh) * | 2018-05-15 | 2018-11-06 | 武汉环宇智行科技有限公司 | 一种非均匀量化的模型压缩方法及系统 |
CN108875921A (zh) * | 2017-08-03 | 2018-11-23 | 北京旷视科技有限公司 | 神经网络参数定点化方法、装置、系统和计算机可读介质 |
CN109086815A (zh) * | 2018-07-24 | 2018-12-25 | 中国人民解放军国防科技大学 | 基于fpga的决策树模型中的浮点数离散化方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9384042B2 (en) * | 2008-12-16 | 2016-07-05 | International Business Machines Corporation | Techniques for dynamically assigning jobs to processors in a cluster based on inter-thread communications |
US9436442B1 (en) * | 2012-12-05 | 2016-09-06 | The Mathworks, Inc. | Automatic floating-point to fixed-point conversion |
CN105760933A (zh) * | 2016-02-18 | 2016-07-13 | 清华大学 | 卷积神经网络的逐层变精度定点化方法及装置 |
US20180107451A1 (en) * | 2016-10-14 | 2018-04-19 | International Business Machines Corporation | Automatic scaling for fixed point implementation of deep neural networks |
CN109102064B (zh) * | 2018-06-26 | 2020-11-13 | 杭州雄迈集成电路技术股份有限公司 | 一种高精度的神经网络量化压缩方法 |
-
2019
- 2019-02-14 CN CN201910115155.2A patent/CN111563600B/zh active Active
- 2019-02-19 WO PCT/CN2019/075428 patent/WO2020164162A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368375A (zh) * | 2016-05-11 | 2017-11-21 | 华中科技大学 | 一种基于MapReduce的K-means聚类算法FPGA加速系统 |
CN108875921A (zh) * | 2017-08-03 | 2018-11-23 | 北京旷视科技有限公司 | 神经网络参数定点化方法、装置、系统和计算机可读介质 |
CN108764458A (zh) * | 2018-05-15 | 2018-11-06 | 武汉环宇智行科技有限公司 | 一种非均匀量化的模型压缩方法及系统 |
CN109086815A (zh) * | 2018-07-24 | 2018-12-25 | 中国人民解放军国防科技大学 | 基于fpga的决策树模型中的浮点数离散化方法 |
Non-Patent Citations (1)
Title |
---|
消除溢出问题的精确Baum-Welch算法;贾宾等;《软件学报》(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111563600A (zh) | 2020-08-21 |
WO2020164162A1 (en) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885046B2 (en) | Systems and methods for querying a database | |
WO2018171267A1 (en) | Systems and methods for route searching | |
US20210247961A1 (en) | Dot product calculators and methods of operating the same | |
US11193786B2 (en) | System and method for determining location | |
WO2017148202A1 (en) | Systems and methods for determining predicted distribution of future transportation service time point | |
CN113297396A (zh) | 基于联邦学习的模型参数更新方法、装置及设备 | |
WO2020147145A1 (en) | Systems and methods for online to offline services | |
CN110709829B (zh) | 一种数据处理的系统和方法 | |
EP4033208A2 (en) | Method and apparatus for correcting positioning information, electronic device and storage medium | |
WO2023125838A1 (zh) | 数据处理方法、装置、终端设备及计算机可读存储介质 | |
US20150331909A1 (en) | Application programming interface for tabular genomic datasets | |
TWI713922B (zh) | 用於新道路確定的系統和方法 | |
CN108280513B (zh) | 模型生成方法和装置 | |
CN111563600B (zh) | 一种用于定点转化的系统和方法 | |
CN115473841A (zh) | 网络路径的确定方法、装置及存储介质 | |
CN111831713A (zh) | 一种数据处理方法、装置及设备 | |
CN110717405B (zh) | 人脸特征点定位方法、装置、介质及电子设备 | |
CN110266834B (zh) | 基于互联网协议地址的地区查找方法及装置 | |
US9436715B2 (en) | Data management apparatus and data management method | |
CN111737587B (zh) | 设备操作方法、装置、电子设备和计算机可读介质 | |
US20200293424A1 (en) | Systems and methods for evaluating performance of models | |
CN113778078A (zh) | 定位信息生成方法、装置、电子设备和计算机可读介质 | |
WO2021031222A1 (en) | Systems and methods for predicting service demand information | |
CN111046409A (zh) | 一种私有数据多方安全计算方法和系统 | |
CN112330768A (zh) | 基于数据特征的图像快速合成方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |