前言
在PTQ量化时,会遇到int16的conv或matmul精度不足,这是因为bpu限制,只支持input和weight一个int16。
本文将讲述在使用地平线PTQ链路基于J6 系列平台进行模型部署时,对conv进行精度调优的相关手段,主要包括以下内容:
如何确定是单int16导致的精度不足?
如何解决这一问题
如何确定是单int16导致的精度不足
使用精度debug工具
得到weight的敏感度分析,如在已经设置int16的情况下,相似度仍然很低,并且在真int16时精度正常,可以确定是单int16导致的精度不足。
node cosine-similarity mse
Conv_60 0.77795 68.02103
Conv_48 0.78428 64.36318
Conv_82 0.80394 61.09268
Conv_94 0.80499 65.05224
Conv_42 0.83787 49.4949
Conv_88 0.84614 49.81132
Conv_54 0.86602 41.69972
Conv_71 0.87148 39.96296
Conv_65 0.87495 40.45997
Conv_25 0.89214 34.30351
Conv_20 0.89829 32.35053
Conv_77 0.89916 31.9907
Conv_14 0.90058 32.40179
Conv_9 0.90107 34.08191
Conv_37 0.91162 28.21194
Conv_31 0.91637 28.79291
<span data-lark-record-data="{"isCut":false,"rootId":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","parentId":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","blockIds":[2,5,6,8,9,7,11,14,15,17,10,13,18,22,20,21],"recordIds":["SjrKdltyCoYjH7x7UaJc7f0Un8f","Up0rd0C1qoaBMYxA5H5cY35inWh","DRfQdvJqXosL6BxDTBJcMM1BnKf","ECT0ddsTZo801AxL4Jecs0BNnVh","BFt3dywsTo8cwIxjBEecuDUgnjg","UJLKdk25moXedHxvKy0c2Yt8noc","AFVydTgBtooaWdx8wJ4cstftnWh","IsziddBlJoUKITxUXn2csx7Vnfb","GuaqdqOljo8dyHxIdQUc9LxrnFd","To0mdIgptoTRgrxgNnOcVB5nnFg","TBhjdtH4foxr3zx68vDcSxfFn2Q","Mq8mdG5y1oYbdUxXKMRc2UC6nLb","F0kqdztHpoQqy4xjDC8cfyKDn3f","OHCodoshtolkrhxDzO8cuwopn8e","JYiSdaOkooQp3bxbVxEciusTngc","M7mjdiL31orM2cxCxfPcV88inSj"],"recordMap":{"SjrKdltyCoYjH7x7UaJc7f0Un8f":{"id":"SjrKdltyCoYjH7x7UaJc7f0Un8f","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"heading1","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"前言"},"attribs":{"0":"*0+2"},"rows":{},"cols":{}}},"folded":false}},"Up0rd0C1qoaBMYxA5H5cY35inWh":{"id":"Up0rd0C1qoaBMYxA5H5cY35inWh","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"在PTQ量化时,会遇到int16的conv或matmul精度不足,这是因为bpu限制,只支持input和weight一个int16。"},"attribs":{"0":"*0+1u"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"text_indent":1}},"DRfQdvJqXosL6BxDTBJcMM1BnKf":{"id":"DRfQdvJqXosL6BxDTBJcMM1BnKf","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"本文将讲述在使用地平线PTQ链路基于J6 系列平台进行模型部署时,对conv进行精度调优的相关手段,主要包括以下内容:"},"attribs":{"0":"*0+1n"},"rows":{},"cols":{}}},"folded":false,"text_indent":1}},"UJLKdk25moXedHxvKy0c2Yt8noc":{"id":"UJLKdk25moXedHxvKy0c2Yt8noc","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"heading1","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"如何确定是单int16导致的精度不足"},"attribs":{"0":"*0+i"},"rows":{},"cols":{}}},"folded":false}},"ECT0ddsTZo801AxL4Jecs0BNnVh":{"id":"ECT0ddsTZo801AxL4Jecs0BNnVh","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"ordered","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"如何确定是单int16导致的精度不足?"},"attribs":{"0":"*0+j"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"seq":"1"}},"BFt3dywsTo8cwIxjBEecuDUgnjg":{"id":"BFt3dywsTo8cwIxjBEecuDUgnjg","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"ordered","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"如何解决这一问题"},"attribs":{"0":"*0+8"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"level":1,"folded":false,"seq":"auto"}},"TBhjdtH4foxr3zx68vDcSxfFn2Q":{"id":"TBhjdtH4foxr3zx68vDcSxfFn2Q","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"heading1","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"如何解决这一问题"},"attribs":{"0":"*0+8"},"rows":{},"cols":{}}},"folded":false}},"AFVydTgBtooaWdx8wJ4cstftnWh":{"id":"AFVydTgBtooaWdx8wJ4cstftnWh","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"使用精度debug工具"},"attribs":{"0":"*0+b"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false}},"Mq8mdG5y1oYbdUxXKMRc2UC6nLb":{"id":"Mq8mdG5y1oYbdUxXKMRc2UC6nLb","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"此时可以在config.json文件中配置编译配置如下:"},"attribs":{"0":"*0+s"},"rows":{},"cols":{}}},"folded":false}},"IsziddBlJoUKITxUXn2csx7Vnfb":{"id":"IsziddBlJoUKITxUXn2csx7Vnfb","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"code","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"hmct-debugger get-sensitivity-of-nodes MODEL_OR_FILE CALIBRATION_DATA --other options"},"attribs":{"0":"*0+2d"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"language":"Python","wrap":false,"caption":{"text":{"initialAttributedTexts":{"text":{"0":"\n"},"attribs":{"0":"|1+1"}},"apool":{"numToAttrib":{},"nextNum":0}}}}},"GuaqdqOljo8dyHxIdQUc9LxrnFd":{"id":"GuaqdqOljo8dyHxIdQUc9LxrnFd","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"得到weight的敏感度分析,如在已经设置int16的情况下,相似度仍然很低,并且在真int16时精度正常,可以确定是单int16导致的精度不足。"},"attribs":{"0":"*0+21"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false}},"To0mdIgptoTRgrxgNnOcVB5nnFg":{"id":"To0mdIgptoTRgrxgNnOcVB5nnFg","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"code","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"===============node sensitivity===============\nnode cosine-similarity mse\n---------------------------------------------------\nConv_60 0.77795 68.02103\nConv_48 0.78428 64.36318\nConv_82 0.80394 61.09268\nConv_94 0.80499 65.05224\nConv_42 0.83787 49.4949\nConv_88 0.84614 49.81132\nConv_54 0.86602 41.69972\nConv_71 0.87148 39.96296\nConv_65 0.87495 40.45997\nConv_25 0.89214 34.30351\nConv_20 0.89829 32.35053\nConv_77 0.89916 31.9907\nConv_14 0.90058 32.40179\nConv_9 0.90107 34.08191\nConv_37 0.91162 28.21194\nConv_31 0.91637 28.79291"},"attribs":{"0":"*0|i+ow*0+1d"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"language":"Python","wrap":false,"caption":{"text":{"initialAttributedTexts":{"text":{"0":"\n"},"attribs":{"0":"|1+1"}},"apool":{"numToAttrib":{},"nextNum":0}}}}},"F0kqdztHpoQqy4xjDC8cfyKDn3f":{"id":"F0kqdztHpoQqy4xjDC8cfyKDn3f","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"code","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"{\n model_config: {\n activation: {\n calibration_type: max,\n max_percentile: 0.99996\n }\n },\n node_config: {\n // 拆分3个weight\n .../Conv: {input1: ec},\n .../Conv: {input1: ec},\n .../Conv: {input1: ec}\n }\n}"},"attribs":{"0":"*0|d+8g*0+1"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"language":"JSON","wrap":false,"caption":{"text":{"initialAttributedTexts":{"text":{"0":"\n"},"attribs":{"0":"|1+1"}},"apool":{"numToAttrib":{},"nextNum":0}}}}},"JYiSdaOkooQp3bxbVxEciusTngc":{"id":"JYiSdaOkooQp3bxbVxEciusTngc","snapshot":{"type":"image","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","image":{"src":"","token":"PV9CbTdnUoOqTQxgxiecWkXMnkh","mimeType":"image/png","size":53453,"name":"image.png","scale":0.7286432160804021,"width":796,"height":858,"align":"center"},"align":"center","parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh"}},"M7mjdiL31orM2cxCxfPcV88inSj":{"id":"M7mjdiL31orM2cxCxfPcV88inSj","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":""},"text":{"0":""}}},"folded":false}},"OHCodoshtolkrhxDzO8cuwopn8e":{"id":"OHCodoshtolkrhxDzO8cuwopn8e","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"配置之后工具会自动进行高低位拆分达到input+weight双int16的效果"},"attribs":{"0":"*0+13"},"rows":{},"cols":{}}},"folded":false}},"Yv2LddrjeoiSDbxOjK1c9UmdnGh":{"id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","snapshot":{"type":"page","parent_id":"","comments":null,"revisions":null,"locked":false,"hidden":false,"author":"7387614015750488068","children":["SjrKdltyCoYjH7x7UaJc7f0Un8f","Up0rd0C1qoaBMYxA5H5cY35inWh","DRfQdvJqXosL6BxDTBJcMM1BnKf","ECT0ddsTZo801AxL4Jecs0BNnVh","BFt3dywsTo8cwIxjBEecuDUgnjg","UJLKdk25moXedHxvKy0c2Yt8noc","AFVydTgBtooaWdx8wJ4cstftnWh","IsziddBlJoUKITxUXn2csx7Vnfb","GuaqdqOljo8dyHxIdQUc9LxrnFd","To0mdIgptoTRgrxgNnOcVB5nnFg","TBhjdtH4foxr3zx68vDcSxfFn2Q","Mq8mdG5y1oYbdUxXKMRc2UC6nLb","F0kqdztHpoQqy4xjDC8cfyKDn3f","OHCodoshtolkrhxDzO8cuwopn8e","JYiSdaOkooQp3bxbVxEciusTngc","M7mjdiL31orM2cxCxfPcV88inSj"],"text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"Ptq conv实现双int16"},"attribs":{"0":"*0+g"},"rows":{},"cols":{}}},"align":"","doc_info":{"editors":["7387614015750488068"],"options":["editors","edit_time"],"deleted_editors":null,"option_modified":null}}}},"payloadMap":{"Up0rd0C1qoaBMYxA5H5cY35inWh":{"level":1},"DRfQdvJqXosL6BxDTBJcMM1BnKf":{"level":1},"AFVydTgBtooaWdx8wJ4cstftnWh":{"level":1},"GuaqdqOljo8dyHxIdQUc9LxrnFd":{"level":1},"Mq8mdG5y1oYbdUxXKMRc2UC6nLb":{"level":1},"OHCodoshtolkrhxDzO8cuwopn8e":{"level":1},"M7mjdiL31orM2cxCxfPcV88inSj":{"level":1},"lingoClipboardPayload":{"spaceSubExtraInfo":[{"spaceSubId":"Up0rd0C1qoaBMYxA5H5cY35inWh","word":"PTQ"},{"spaceSubId":"Up0rd0C1qoaBMYxA5H5cY35inWh","word":"input"},{"spaceSubId":"DRfQdvJqXosL6BxDTBJcMM1BnKf","word":"PTQ"},{"spaceSubId":"OHCodoshtolkrhxDzO8cuwopn8e","word":"input"}],"spaceId":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","spaceType":1}},"extra":{"channel":"saas","pasteRandomId":"534f73e1-c6fc-489e-a31b-ca2b5e8ba9d1","mention_page_title":{},"external_mention_url":{},"isEqualBlockSelection":true},"isKeepQuoteContainer":false,"selection":[{"id":2,"type":"block","recordId":"SjrKdltyCoYjH7x7UaJc7f0Un8f"},{"id":5,"type":"block","recordId":"Up0rd0C1qoaBMYxA5H5cY35inWh"},{"id":6,"type":"block","recordId":"DRfQdvJqXosL6BxDTBJcMM1BnKf"},{"id":8,"type":"block","recordId":"ECT0ddsTZo801AxL4Jecs0BNnVh"},{"id":9,"type":"block","recordId":"BFt3dywsTo8cwIxjBEecuDUgnjg"},{"id":7,"type":"block","recordId":"UJLKdk25moXedHxvKy0c2Yt8noc"},{"id":11,"type":"block","recordId":"AFVydTgBtooaWdx8wJ4cstftnWh"},{"id":14,"type":"block","recordId":"IsziddBlJoUKITxUXn2csx7Vnfb"},{"id":15,"type":"block","recordId":"GuaqdqOljo8dyHxIdQUc9LxrnFd"},{"id":17,"type":"block","recordId":"To0mdIgptoTRgrxgNnOcVB5nnFg"},{"id":10,"type":"block","recordId":"TBhjdtH4foxr3zx68vDcSxfFn2Q"},{"id":13,"type":"block","recordId":"Mq8mdG5y1oYbdUxXKMRc2UC6nLb"},{"id":18,"type":"block","recordId":"F0kqdztHpoQqy4xjDC8cfyKDn3f"},{"id":22,"type":"block","recordId":"OHCodoshtolkrhxDzO8cuwopn8e"},{"id":20,"type":"block","recordId":"JYiSdaOkooQp3bxbVxEciusTngc"},{"id":21,"type":"block","recordId":"M7mjdiL31orM2cxCxfPcV88inSj"}],"pasteFlag":"040b4e5a-a3a7-4fcb-b780-759ee91293ea"}" data-lark-record-format="docx/record" class="lark-record-clipboard">
Conv_48 0.78428 64.36318
Conv_82 0.80394 61.09268
Conv_94 0.80499 65.05224
Conv_42 0.83787 49.4949
Conv_88 0.84614 49.81132
Conv_54 0.86602 41.69972
Conv_71 0.87148 39.96296
Conv_65 0.87495 40.45997
Conv_25 0.89214 34.30351
Conv_20 0.89829 32.35053
Conv_77 0.89916 31.9907
Conv_14 0.90058 32.40179
Conv_9 0.90107 34.08191
Conv_37 0.91162 28.21194
Conv_31 0.91637 28.79291
如何解决这一问题
此时可以在config.json文件中配置编译配置如下:配置之后工具会自动进行高低位拆分达到input+weight双int16的效果<div style="text-align:center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"d72816ff-bbf0-4a76-a9a3-7952834a1a7a","height":625.175879396985,"width":580,"currHeight":625.175879396985,"currWidth":580,"natrualHeight":858,"natrualWidth":796,"pluginName":"imageUpload","scale":0.7286432160804021,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FPV9CbTdnUoOqTQxgxiecWkXMnkh%2F%3Fpreview_type%3D16","file_token":"PV9CbTdnUoOqTQxgxiecWkXMnkh","image_type":"image/png","size":53453,"comments":[]}]}" class="image-uploaded gallery old-record-id-JYiSdaOkooQp3bxbVxEciusTngc">
<span data-lark-record-data="{"isCut":false,"rootId":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","parentId":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","blockIds":[2,5,6,8,9,7,11,14,15,17,10,13,18,22,20,21],"recordIds":["SjrKdltyCoYjH7x7UaJc7f0Un8f","Up0rd0C1qoaBMYxA5H5cY35inWh","DRfQdvJqXosL6BxDTBJcMM1BnKf","ECT0ddsTZo801AxL4Jecs0BNnVh","BFt3dywsTo8cwIxjBEecuDUgnjg","UJLKdk25moXedHxvKy0c2Yt8noc","AFVydTgBtooaWdx8wJ4cstftnWh","IsziddBlJoUKITxUXn2csx7Vnfb","GuaqdqOljo8dyHxIdQUc9LxrnFd","To0mdIgptoTRgrxgNnOcVB5nnFg","TBhjdtH4foxr3zx68vDcSxfFn2Q","Mq8mdG5y1oYbdUxXKMRc2UC6nLb","F0kqdztHpoQqy4xjDC8cfyKDn3f","OHCodoshtolkrhxDzO8cuwopn8e","JYiSdaOkooQp3bxbVxEciusTngc","M7mjdiL31orM2cxCxfPcV88inSj"],"recordMap":{"SjrKdltyCoYjH7x7UaJc7f0Un8f":{"id":"SjrKdltyCoYjH7x7UaJc7f0Un8f","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"heading1","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"前言"},"attribs":{"0":"*0+2"},"rows":{},"cols":{}}},"folded":false}},"Up0rd0C1qoaBMYxA5H5cY35inWh":{"id":"Up0rd0C1qoaBMYxA5H5cY35inWh","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"在PTQ量化时,会遇到int16的conv或matmul精度不足,这是因为bpu限制,只支持input和weight一个int16。"},"attribs":{"0":"*0+1u"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"text_indent":1}},"DRfQdvJqXosL6BxDTBJcMM1BnKf":{"id":"DRfQdvJqXosL6BxDTBJcMM1BnKf","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"本文将讲述在使用地平线PTQ链路基于J6 系列平台进行模型部署时,对conv进行精度调优的相关手段,主要包括以下内容:"},"attribs":{"0":"*0+1n"},"rows":{},"cols":{}}},"folded":false,"text_indent":1}},"UJLKdk25moXedHxvKy0c2Yt8noc":{"id":"UJLKdk25moXedHxvKy0c2Yt8noc","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"heading1","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"如何确定是单int16导致的精度不足"},"attribs":{"0":"*0+i"},"rows":{},"cols":{}}},"folded":false}},"ECT0ddsTZo801AxL4Jecs0BNnVh":{"id":"ECT0ddsTZo801AxL4Jecs0BNnVh","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"ordered","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"如何确定是单int16导致的精度不足?"},"attribs":{"0":"*0+j"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"seq":"1"}},"BFt3dywsTo8cwIxjBEecuDUgnjg":{"id":"BFt3dywsTo8cwIxjBEecuDUgnjg","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"ordered","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"如何解决这一问题"},"attribs":{"0":"*0+8"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"level":1,"folded":false,"seq":"auto"}},"TBhjdtH4foxr3zx68vDcSxfFn2Q":{"id":"TBhjdtH4foxr3zx68vDcSxfFn2Q","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"heading1","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"如何解决这一问题"},"attribs":{"0":"*0+8"},"rows":{},"cols":{}}},"folded":false}},"AFVydTgBtooaWdx8wJ4cstftnWh":{"id":"AFVydTgBtooaWdx8wJ4cstftnWh","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"使用精度debug工具"},"attribs":{"0":"*0+b"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false}},"Mq8mdG5y1oYbdUxXKMRc2UC6nLb":{"id":"Mq8mdG5y1oYbdUxXKMRc2UC6nLb","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"此时可以在config.json文件中配置编译配置如下:"},"attribs":{"0":"*0+s"},"rows":{},"cols":{}}},"folded":false}},"IsziddBlJoUKITxUXn2csx7Vnfb":{"id":"IsziddBlJoUKITxUXn2csx7Vnfb","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"code","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"hmct-debugger get-sensitivity-of-nodes MODEL_OR_FILE CALIBRATION_DATA --other options"},"attribs":{"0":"*0+2d"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"language":"Python","wrap":false,"caption":{"text":{"initialAttributedTexts":{"text":{"0":"\n"},"attribs":{"0":"|1+1"}},"apool":{"numToAttrib":{},"nextNum":0}}}}},"GuaqdqOljo8dyHxIdQUc9LxrnFd":{"id":"GuaqdqOljo8dyHxIdQUc9LxrnFd","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"得到weight的敏感度分析,如在已经设置int16的情况下,相似度仍然很低,并且在真int16时精度正常,可以确定是单int16导致的精度不足。"},"attribs":{"0":"*0+21"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false}},"To0mdIgptoTRgrxgNnOcVB5nnFg":{"id":"To0mdIgptoTRgrxgNnOcVB5nnFg","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"code","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"===============node sensitivity===============\nnode cosine-similarity mse\n---------------------------------------------------\nConv_60 0.77795 68.02103\nConv_48 0.78428 64.36318\nConv_82 0.80394 61.09268\nConv_94 0.80499 65.05224\nConv_42 0.83787 49.4949\nConv_88 0.84614 49.81132\nConv_54 0.86602 41.69972\nConv_71 0.87148 39.96296\nConv_65 0.87495 40.45997\nConv_25 0.89214 34.30351\nConv_20 0.89829 32.35053\nConv_77 0.89916 31.9907\nConv_14 0.90058 32.40179\nConv_9 0.90107 34.08191\nConv_37 0.91162 28.21194\nConv_31 0.91637 28.79291"},"attribs":{"0":"*0|i+ow*0+1d"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"language":"Python","wrap":false,"caption":{"text":{"initialAttributedTexts":{"text":{"0":"\n"},"attribs":{"0":"|1+1"}},"apool":{"numToAttrib":{},"nextNum":0}}}}},"F0kqdztHpoQqy4xjDC8cfyKDn3f":{"id":"F0kqdztHpoQqy4xjDC8cfyKDn3f","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"code","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"initialAttributedTexts":{"text":{"0":"{\n model_config: {\n activation: {\n calibration_type: max,\n max_percentile: 0.99996\n }\n },\n node_config: {\n // 拆分3个weight\n .../Conv: {input1: ec},\n .../Conv: {input1: ec},\n .../Conv: {input1: ec}\n }\n}"},"attribs":{"0":"*0|d+8g*0+1"},"rows":{},"cols":{}},"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}}},"folded":false,"language":"JSON","wrap":false,"caption":{"text":{"initialAttributedTexts":{"text":{"0":"\n"},"attribs":{"0":"|1+1"}},"apool":{"numToAttrib":{},"nextNum":0}}}}},"JYiSdaOkooQp3bxbVxEciusTngc":{"id":"JYiSdaOkooQp3bxbVxEciusTngc","snapshot":{"type":"image","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","image":{"src":"","token":"PV9CbTdnUoOqTQxgxiecWkXMnkh","mimeType":"image/png","size":53453,"name":"image.png","scale":0.7286432160804021,"width":796,"height":858,"align":"center"},"align":"center","parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh"}},"M7mjdiL31orM2cxCxfPcV88inSj":{"id":"M7mjdiL31orM2cxCxfPcV88inSj","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"nextNum":0,"numToAttrib":{}},"initialAttributedTexts":{"attribs":{"0":""},"text":{"0":""}}},"folded":false}},"OHCodoshtolkrhxDzO8cuwopn8e":{"id":"OHCodoshtolkrhxDzO8cuwopn8e","snapshot":{"parent_id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","type":"text","children":[],"comments":[],"revisions":[],"author":"7387614015750488068","text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"配置之后工具会自动进行高低位拆分达到input+weight双int16的效果"},"attribs":{"0":"*0+13"},"rows":{},"cols":{}}},"folded":false}},"Yv2LddrjeoiSDbxOjK1c9UmdnGh":{"id":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","snapshot":{"type":"page","parent_id":"","comments":null,"revisions":null,"locked":false,"hidden":false,"author":"7387614015750488068","children":["SjrKdltyCoYjH7x7UaJc7f0Un8f","Up0rd0C1qoaBMYxA5H5cY35inWh","DRfQdvJqXosL6BxDTBJcMM1BnKf","ECT0ddsTZo801AxL4Jecs0BNnVh","BFt3dywsTo8cwIxjBEecuDUgnjg","UJLKdk25moXedHxvKy0c2Yt8noc","AFVydTgBtooaWdx8wJ4cstftnWh","IsziddBlJoUKITxUXn2csx7Vnfb","GuaqdqOljo8dyHxIdQUc9LxrnFd","To0mdIgptoTRgrxgNnOcVB5nnFg","TBhjdtH4foxr3zx68vDcSxfFn2Q","Mq8mdG5y1oYbdUxXKMRc2UC6nLb","F0kqdztHpoQqy4xjDC8cfyKDn3f","OHCodoshtolkrhxDzO8cuwopn8e","JYiSdaOkooQp3bxbVxEciusTngc","M7mjdiL31orM2cxCxfPcV88inSj"],"text":{"apool":{"numToAttrib":{"0":["author","7387614015750488068"]},"nextNum":1,"attribToNum":{"author,7387614015750488068":0}},"initialAttributedTexts":{"text":{"0":"Ptq conv实现双int16"},"attribs":{"0":"*0+g"},"rows":{},"cols":{}}},"align":"","doc_info":{"editors":["7387614015750488068"],"options":["editors","edit_time"],"deleted_editors":null,"option_modified":null}}}},"payloadMap":{"Up0rd0C1qoaBMYxA5H5cY35inWh":{"level":1},"DRfQdvJqXosL6BxDTBJcMM1BnKf":{"level":1},"AFVydTgBtooaWdx8wJ4cstftnWh":{"level":1},"GuaqdqOljo8dyHxIdQUc9LxrnFd":{"level":1},"Mq8mdG5y1oYbdUxXKMRc2UC6nLb":{"level":1},"OHCodoshtolkrhxDzO8cuwopn8e":{"level":1},"M7mjdiL31orM2cxCxfPcV88inSj":{"level":1},"lingoClipboardPayload":{"spaceSubExtraInfo":[{"spaceSubId":"Up0rd0C1qoaBMYxA5H5cY35inWh","word":"PTQ"},{"spaceSubId":"Up0rd0C1qoaBMYxA5H5cY35inWh","word":"input"},{"spaceSubId":"DRfQdvJqXosL6BxDTBJcMM1BnKf","word":"PTQ"},{"spaceSubId":"OHCodoshtolkrhxDzO8cuwopn8e","word":"input"}],"spaceId":"Yv2LddrjeoiSDbxOjK1c9UmdnGh","spaceType":1}},"extra":{"channel":"saas","pasteRandomId":"534f73e1-c6fc-489e-a31b-ca2b5e8ba9d1","mention_page_title":{},"external_mention_url":{},"isEqualBlockSelection":true},"isKeepQuoteContainer":false,"selection":[{"id":2,"type":"block","recordId":"SjrKdltyCoYjH7x7UaJc7f0Un8f"},{"id":5,"type":"block","recordId":"Up0rd0C1qoaBMYxA5H5cY35inWh"},{"id":6,"type":"block","recordId":"DRfQdvJqXosL6BxDTBJcMM1BnKf"},{"id":8,"type":"block","recordId":"ECT0ddsTZo801AxL4Jecs0BNnVh"},{"id":9,"type":"block","recordId":"BFt3dywsTo8cwIxjBEecuDUgnjg"},{"id":7,"type":"block","recordId":"UJLKdk25moXedHxvKy0c2Yt8noc"},{"id":11,"type":"block","recordId":"AFVydTgBtooaWdx8wJ4cstftnWh"},{"id":14,"type":"block","recordId":"IsziddBlJoUKITxUXn2csx7Vnfb"},{"id":15,"type":"block","recordId":"GuaqdqOljo8dyHxIdQUc9LxrnFd"},{"id":17,"type":"block","recordId":"To0mdIgptoTRgrxgNnOcVB5nnFg"},{"id":10,"type":"block","recordId":"TBhjdtH4foxr3zx68vDcSxfFn2Q"},{"id":13,"type":"block","recordId":"Mq8mdG5y1oYbdUxXKMRc2UC6nLb"},{"id":18,"type":"block","recordId":"F0kqdztHpoQqy4xjDC8cfyKDn3f"},{"id":22,"type":"block","recordId":"OHCodoshtolkrhxDzO8cuwopn8e"},{"id":20,"type":"block","recordId":"JYiSdaOkooQp3bxbVxEciusTngc"},{"id":21,"type":"block","recordId":"M7mjdiL31orM2cxCxfPcV88inSj"}],"pasteFlag":"040b4e5a-a3a7-4fcb-b780-759ee91293ea"}" data-lark-record-format="docx/record" class="lark-record-clipboard">


