精华内容
下载资源
问答
  • 模型精度校验
    千次阅读
    2022-04-03 22:20:52

    系列文章目录

    提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
    例如:第一章 Python 机器学习入门之pandas的使用


    提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、模型精度校验

    二、模型精度校验方法

    1.avg

    
    ## 2.AVG
    ## 3.余弦相似度COS
    代码如下(示例):
    
    ```c
    data = pd.read_csv(
        'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
    print(data.head())
    

    该处使用的url网络请求的数据。


    总结

    提示:这里对文章进行总结:

    更多相关内容
  • 随着三维地质模型的深入应用,其精度问题以及动态...为了建立高精度、易修正的三维地质模型,提出基于熵权法的三维地质模型精度评价方法,并围绕模型的动态更新展开了讨论,最后以山西天地王坡煤矿数据实验证明了可行性。
  • 文中介绍了山丘地区利用甘肃省似大地水准面精化模型观测计算高程方法与常规水准测量高程方法,通过G109、G309、G312线兰州过境公路基础控制测量项目进行精度分析...,验证了山丘地区甘肃省似大地水准面精化模型精度...
  • 以模型误差反向表征模型精度指标,用整体误差与局部误差的加权求和表征模型总误差,将整体尺寸与曲面面积的加权求和表征整体误差,采用部件偏差的最大值、平均值和变异系数加权求和表征局部误差。根据模型针对的不同...
  • 精度高分辨率的全球平均海面高模型的建立一直是海洋测绘的研究重点。目前大部分的全球平均海面高模型在大洋区域均达到了较高的精度,而近海卫星测高回波受复杂地理环境的综合影响,数据精度大大降低甚至无法使用。对...
  • 以分析血清白蛋白成分为例,对两组样品的定标模型精度进行比较,结果显示不定光程组的模型精度与相同光程组的模型精度相比明显下降, 交叉检验标准差(RMSECV)由110.0 mg/dL增大至156.0 mg/dL。采用多元散射校正算法...
  • 为解决三维地质模型不确定性问题突出、精度难以评价的难题,分析了三维建模过程中误差来源,提出采用C-F方法对三维地质模型各阶段不确定性进行统一度量,以实现三维地质模型精度有效评价。以扎哈淖尔露天矿为工程实例,...
  • 针对这一问题,提出插值法对模型精度进行改进,并采用动态规划算法求得改进精度后的经济运行总表,在实际运行水头和负荷已知的情况下,运用四点法查询满足一定计算精度要求的最佳负荷分配。以葛洲坝水电站为例进行...
  • 在做模型转换相关工作,但是最近发现转换后的模型精度评测的时候会出现两次评测精度不一致, 模型转换是从caffe转换成量化后的onnx模型,中间会有几个临时模型,分别为original_onnx, 这个是直接转换的模型,一个...

    gpu精度不一致问题追查
    在做模型转换相关工作,但是最近发现转换后的模型精度评测的时候会出现两次评测精度不一致, 模型转换是从caffe转换成量化后的onnx模型,中间会有几个临时模型,分别为original_onnx, 这个是直接转换的模型,一个optimized_onnx,是对原onnx模型进行结构优化/整合后的模型,另一个为quantized_onnx模型,既量化后的模型,我们发现对量化后对模型进行精度评测的时候,多次评测的结果不同,而且是同样的转换代码的情况下,同样的评测图片集,最终评测结果不一致,在以百分比现实的精度结果的小数点后一两位就开始有差别,即误差会达到千分之一以上。

    首先说明下这个问题排查的重要性,千分之一,看似不多,实则在深度学习领域,不算少了,能通过对模型对一番更改,某些场景下提升千分之几的精度,已经可以发论文了,不过这不是重点,重点是我们想通过定期精度评测来评估转换代码对精度对影响,既然是评估影响,那么就要排除干扰,显然对统一模型同样数据集进行评测后对精度不一致是一种干扰项,我们必须找到这种不一致的原因,以排除其影响。

    1.精度问题首先在一个评测脚本里被发现,而这个脚本会同时执行多个模型的评测任务,自然想到执行单个的模型任务排除干扰,也降低复现开销,由于工程里已经有另外一套单个模型的评测脚本,自然就直接用了那个脚本进行评测,发现用那个单个脚本多次评测并未出现精度不一致的问题。

    2. 考虑到评测是对一系列批次的图片进行推理,然后对每批次对图片计算结果的吻合度,想到是不是评测集(我们用对imagenet,5万张)对加载顺序不一致导致对,经过排查,我们的评测集图片始终是相同的,而且评测的顺序也是保证一致的。 

    3. 基于2,如果评测结果有异常,那么对同一张图片推理的结果也应该有异常,于是又实验了对同一张图,推理若干次,几万次吧,因为最初观察到对每次评测都会复现精度不一致,而每次评测图片数量5万,那么推理5万是能达到这个量级的。结果没有复现。

    4. 那会不会是某些图片造成的呢。我们随机选取了一些图片重复3的实验,没有复现。

    5. 综上,目前有问题的是多模型评测的时候出现问题,而单模型评测没复现,考虑到这两者的差异,因为多模型评测脚本是顺序执行,不存在模型之间的干扰,而二者有一个区别是,单模型评测是基于已经转换后的模型进行评测,而多模型评测脚本每次评测的时候会从caffe模型转换开始,转换然后评测,那么往前回溯一下,会不会是转换过程引入的不一致。经过对比生成的几个模型的md5值,发现确实转换出的模型就有差异,浮点模型没有差异,但是定点模型有差异,那么精度不一致的问题很可能出现在模型定点化的过程中,而这个过程中最有可能是校准过程。

    6. 要分析校准过程中的问题,先要弄清校准过程。由于模型在量化过程中数值分布会发生变化,浮点模型中对分布范围很随意,从前一个节点到后一个节点对传递过程中都基本能保持仍在合法对浮点范围内,不会溢出或者截断,但是量化模型,比如INT8的量化模型,所有数值范围都是-128~127,很容易在某些节点的运算后发生数值溢出和截断,而这种行为是对模型执行精度有很大影响,因而我们希望通过校准过程,在那些能改变输入数值分布的节点前(比如conv) 插入校准节点以对该节点的输入数据分布进行统计,根据统计结果对原节点的+bias和*scale参数做修改,或者另外添加参数(可能需要修改节点实现),如此在量化模型执行过程中,通过该节点的计算将对数据分布进行改变,以期不显著降低精度。校准过程中会通过校准图片(最好和后续推理和评测同分布的图片)进行推理,在推理的过程中,校准图片会更新自身参数,比如最简单的是max校准方法,统计出流经该节点的输入数值的最大值。
    7. 基于6,后面的过程就比较清晰了,把所有节点的输出dump出来,然后比对,看是从哪个节点开始计算结果不一致。在比对前,我们怀疑过,某个节点的实现造成(比较有可能的是校准和卷积,求和节点)(这种计算问题浮点数并行计算然后求和,由于浮点值的表示范围有限,当求和顺序不一致会导致结果不一致(因为中间结果存在溢出和精度截断可能)),c++到python的浮点数传递/转换可能有问题(不清楚具体传递和转换机制,只是怀疑正好遇到了某临界值,或者c++的值传递过程中遭遇溢出将随机值填入尾部等等),为了排除后者,我们直接比对c++部分的节点输出值的二进制表示,发现是某一个conv的节点起计算输出的值会有差异,而之后的节点会将差异传递最终导致结果的不一致。

    8. 再分析该conv节点,将该conv节点的input以及其他参数属性都dump出来观察,发现出问题的conv节点的输入和属性都是一样的,但是输出不一样,并且输出的值的差异会按一定概率分布在几个值上,差异并不是完全随机的。

    9. 仔细查看该conv节点的计算实现,是onnxruntime的实现,onnxruntime/onnxruntime/core/providers/cuda/nn/conv.cc,将其中影响计算的一些参数dump并比对,最终发现是每次执行的时候gpu卡的卷积算法选择不同导致的。每当节点的输入shape或者weight的shape改变,conv都会重新执行

    cudnnFindConvolutionForwardAlgorithmEx搜寻高效的卷积算法,具体说明参见https://docs.nvidia.com/deeplearning/sdk/cudnn-api/index.html#cudnnFindConvolutionForwardAlgorithmEx,可搜索的卷积计算算法类型有https://docs.nvidia.com/deeplearning/sdk/cudnn-api/index.html#cudnnConvolutionFwdAlgo_t其中几种会导致计算结果的不一致,具体原因和gpu架构设计有关,工作内容的原因,暂没有继续深究了。所以要解决精度不一致的问题,有两种办法,一种是将算法选择限定在保证一致性的算法范围内,另一种直接屏蔽算法选择,用默认的

    CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM算法,显然这两种都会导致推理评测性能的损失,不过经过测试,性能损失在5%以内,可以接受。若要追求高性能,可以在精度评测需要保证一致性的时候将算法选择限制住,在推理的时候将算法选择打开,不过我们的应用场景内没有这种需求,所以就粗暴的限制了算法的选择。

     

    展开全文
  • BIM~LOD模型精度标准.doc
  • BIM-LOD模型精度标准.doc
  • 分析了结构参数对模型效果的影响情况,发现学习率和动量因子对达到训练目的无大的影响,而训练精度、输入层节点数和隐含层节点数是模型的关键。但只要输入层节点数达到一定数量,改变输入层节点数并不影响模型质量,...
  • BIM模型精度表[定义].pdf
  • 反求曲面CAD模型精度分析.pdf
  • BIM模型精度标准及相关报告格式.doc
  • BIM模型精度标准与相关报告格式.docx
  • 关于影像分辨率,倾斜三维模型分辨率模型精度以及比例尺,DPI,航高与分辨率的关系…这些是不是感觉很复杂,因为公众号后台不少小伙伴进行询问,前两天我们也发了关于他们之间计算的4个公式。那篇文章发后有小伙伴又...

    关于影像分辨率,倾斜三维模型分辨率模型精度以及比例尺,DPI,航高与分辨率的关系…这些是不是感觉很复杂,因为公众号后台不少小伙伴进行询问,前两天我们也发了关于他们之间计算的4个公式。那篇文章发后有小伙伴又留言关于倾斜模型分辨率,精度的问题,那我们今天就来总结下。

    首先我们来列举一个工作中常遇到的一个问题:

    影像中我们所说的 0.5米的分辨率指的是什么分辨率?

    如何算出在不同比例尺下每个像素的地图距离是多少?

    那么这时你要用到这4个公式

    影像分辨率=地图距离/像素

    比例尺=地图距离/实际距离

    地面分辨率=实际距离/像素

    每英寸点数 (DPI)=像素/地图距离

    影像分辨率:影像分辨率是指地面分辨率在不同比例尺的具体影像上的反映

    比例尺:比例尺是表示图上一条线段的长度与地面相应线段的实际长度之比。

    地面分辨率:衡量遥感图像(或影像)能有差别地区分开两个相邻地物的最小距离的能力。超过分辨率的限度,相邻两物体在图像(影像)上即表现为一个单一的目标。

    了解了这些基本公式后我们再来详细看看关于栅格矢量数据精度,如何推算倾斜模型的精度。

    比例尺和分辨率之间的换算关系

    简单粗暴地先上几个公式:

    1英寸(in)=96像素(piexl)

    1英寸(in)=0.0254m=96像素

    那么1像素=0.0254/96=2.6510^(-4) m。

    我们都知道:电子产品是以英寸为长度计量单位,数据图像的像素显示也不例外,看到上面几个式子我们已经知道了1像素有多少米。那么就可以得到:

    比例尺=图上距离/实际距离=1 : [ 分辨率 /2.6510^(-4)]也就是他们之间大致的换算关系。

    对于5cm分辨率的倾斜影像,我们很容易可以算出他的大致比例尺为1:180,也就是说他可以满足1:200大比例尺地形图的要求,以其衍生产品DSM可以得到1:200大比例尺的数字线画图。

    航测中航高与地面分辨率的关系

    据《低空数字航空摄影规范》

    相对航高的计算公式如下:

    H=f×GSD/a

    H为相对航高

    f为摄影镜头的焦距

    GSD为影像的地面分辨率

    a为像元尺寸的大小

    那么假设(可能不合理)一个相机像素为2000万,焦距为20mm,感光元件尺寸大小为6mm×4mm,分辨率为4000×5000,如果要求地面分辨率达到20cm,航高最高能到多少。

    首先计算象元尺寸a:可以通过6mm/4000或4mm/3000得到为1.5um。 然后带入公式反算航高即可。

    栅格数据和矢量数据的精度

    矢量数据用比例尺来描述其精度:

    要讲矢量数据比例尺之前,我们要先了解一下比例尺精度的概念:通常人眼能分辨的两点间的最小距离是0.1mm,因此,把地形图上0.1mm所能代表的实地水平距离称为比例尺精度,1:500DLG的比例尺精度就为0.1mm500=0.05m。

    那么再来看一下1:500DLG数字线划图的成图规范:
    中误差
      上图为 CHT-9008.1-2010-1:500-1:1000-1:2000《基础地理信息数字成果数字线划图(DLG)》的规范要求,我们可以看出1:500DLG的平面精度≤±0.3m,高程精度≤±0.2m。
      
    因为对于各种比例尺的DLG都有着明确的精度规范要求,因此我们通常就用比例尺来描述矢量数据的精度。

    栅格数据一般用分辨率来描述其精度:

    我们先了解一下概念:以下地图分辨率(Resolution),也称地面分辨率或空间分辨率,表示屏幕上一个像素(pixel)所代表的实际地面距离(米)。

    形象地讲:在arcgis中打开30m分辨率的DOM栅格数据,不断就会呈现马赛克的画面,放至最大,就会呈现一个个的小方格子,这个小方格子就是像元,测量其值,每个像元代表30m30m的地物,这就是分辨率。

    30米DEM
     地面分辨率
     
    那我们的倾斜摄影模型呢,也通常就用分辨率来描述其精度:

    我们把数据不断放大,直至看到由多个像元组成的马赛克,然后测量其值,每个像元所代表的实际地物为3cm3cm那么我们就说倾斜影像模型的数据精度为5cm。

    在这里插入图片描述
    在这里插入图片描述

    那么讲倾斜摄影模型精度也就是分辨率,为什么要跟比例尺扯在一起?

    原因就在于,好多甲方单位想要做倾斜摄影实景建模,想和已有数据做结合,对外提需求就是,能否做到1:500的精度?我们现在有很多1:500的DOM/DLG,能否做到完美结合?如果只是单纯做实景建模的同学可能一听就懵逼了,你直接告诉我需要几厘米的模型精度不就完了吗?所以就要好好看看我们上面讲的分辨率和比例尺之间的关系。

    倾斜影像的模型精度

    最后我们来看看模型精度问题。

    模型精度即为倾斜影像数据的测量值与真实值之间的差值:

    检测实景三维模型的精度要利用GPSRTK在测区外业实地测量若干个特征点,并记录WGS84坐标、椭球高及需要拍摄的每个点对应的实地位置。将从实景三维模型中提取每个检查点对应位置的模型坐标与检查点的测量坐标作对比进行精度评估。这是严格计算倾斜影像模型精度的方法。

    按照上述方法来评定倾斜影像的模型精度:

    倾斜摄影的模型高程精度一般是地面分辨率(GSD)的三倍,如果生成的正射影像的分辨率是5cm,那模型的高程精度基本就是15cm,最大限差为2倍中误差即30cm。

    展开全文
  • BIM-LOD模型精度标准[参照].pdf
  • 提高GPS高程拟合模型精度的有效方法.pdf
  • 二次曲面GPS高程拟合模型精度研究.pdf
  • 详解模型精度、分辨率、比例尺关系 关注“三维前沿”,获取更多倾斜建模、激光点云资讯干货。 熬了这么久,终于接到项目了! 但当甲方爸爸问道:我们现在有很多1:500的线画图数据,你能不能做到1:500的精度,做到...

    看一遍就会!详解模型精度、分辨率、比例尺关系
    关注“三维前沿”,获取更多倾斜建模、激光点云资讯干货。


    熬了这么久,终于接到项目了!

    但当甲方爸爸问道:我们现在有很多1:500的线画图数据,你能不能做到1:500的精度,做到完美结合?

    请问,你该怎么回答?

    (暴躁上线)“什么是1:500,直接告诉我你需要几厘米精度的模型,不行吗?”

    如此草率的回答,甲方爸爸怕是要跟你挥挥手,say goodbye

    作为一名专业过硬的测绘工程师,此刻的你应根据比例尺快速换算模型精度,测算飞机作业航高,判断作业可能性,再回复甲方爸爸一个完美的方案。

    如此一来,甲方爸爸将被你折服,催促签合同。

    那么,作为测绘工程师的你,这些概念都清楚吗?

    你的同行小伙伴都了解吗?希望你可以转发告诉他们…

    01

    比例尺=地图距离/实际距离
    概念:比例尺是表示图上一条线段的长度与地面相应线段的实际长度之比。

    公式:比例尺=地图距离/实际距离

    表示方法:数值比例尺、图示比例尺和文字比例尺

    关于三维地图的比例尺和二维地图的比例尺的区别

    ▲图:二维地图比例尺

    ▲图:三维地图比例尺–LocaSpaceViewer

    以上是两张带比例尺的地图软件的截图。可以看到或者直接测试一下,在二维地图下,只要不使用滚轮缩放地图级别,不论如何拖拽地图,比例尺都是不会发生变化的;在三维地图下,即使不使用滚轮缩放地图,保持垂直视角的情况下拖拽地图,比例尺会一直在变,这是什么原因呢?

    根据比例尺的概念,可知由于三维地图包含地形数据,在拖拽过程当中如果地形有起伏,则当前地图距离视点会比较近,会自动加载高级别的地图,也就导致了地图级别发送变化,比例尺会对应的发生变化。另一方面,三维地图没有绝对的级别概念,中间会有平滑缩放的过程,所以看起来会是逐渐变化。如果去掉地形,保持垂直视角,比例尺级别就不变了。

    02

    影像分辨率=地图距离/像素
    概念:影像分辨率是指地面分辨率在不同比例尺的具体影像上的反映

    公式:影像分辨率=地图距离/像素

    03

    地面分辨率=实际距离/像素

    概念:地面分辨率是以一个像素(pixel)代表的地面尺寸(米)。

    公式:地面分辨率=实际距离/像素;

    单位:米/像素

    04

    倾斜摄影模型精度=同工程正射分辨率的三倍
    倾斜摄影当中,经常会说我的模型是几厘米精度的,我飞的数据是5cm精度的模型?这个5cm是如何衡量的呢?

    倾斜摄影的模型精度一般是照片分辨率的三倍,就是根据照片生成的正射影像的地面分辨率的三倍,如果生成的正射影像的分辨率是2cm/像素,那模型精度基本就是5-10cm。

    公式:倾斜摄影模型精度=同工程正射分辨率的三倍

    05

    比例尺/地面分辨率和模型精度的换算示例
    根据以上概念,将比例尺、地面分辨率和模型精度的换算关系做以下简单梳理:

    ①1:500的比例尺,对应的地面分辨率是指地图上1m对应地表500m

    ②1米=39.370079英寸

    ③按照正常的图像72dpi来算,一英寸包含72像素,那么1米包含39.370079*72=2834.645688像素

    ④对应关系如下:2834.645688像素对应地图上500m ,分辨率为:500/2834.645688=0.1763888877247222

    ⑤1:500的比例尺对应的地面分辨率接近0.18米

    结论:1:500的比例尺,航拍精度模型也就要求0.18米,对应的航拍分辨率就是0.06米,也就是说航拍建模的时候拍摄照片的精度要达到6cm以上。

    展开全文
  • BIM模型精度标准及相关报告格式[汇编].pdf
  • batchsize和模型精度的影响

    千次阅读 2021-03-04 17:07:07
    理论上说batch_size=1是最好的,不过实际上调的时候,会出现batch_size太小导致网络收敛不稳定,最后结果比较差。而batch_size太大会影响随机性的引入
  • 由于DEM描述的是地面高程信息,它在测绘、水文、气象、地貌、地质、土壤、工程建设、 通讯、军事等国民经济和国防建设以及人文和自然... 5米分辨率DEM/DSM(无控),以多颗高分辨率卫星数据为原始数据,基于智能立体模型
  • 有关深度学习模型精度突然下降的问题 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录有关深度学习模型精度突然下降的问题前言一、原本精度图和复现精度图二、解决方法网络模型中自带...
  • 北斗广播电文钟差模型精度评估及改善策略.docx
  • 1序 倾斜摄影是最近比较火的一个话题,但也引出了一些问题,有些需要倾斜摄影数据的单位或者公司,想和已有数据做结合,...2 比例尺、分辨率、模型精度的概念 2.1 比例尺 概念:比例尺是表示图上一条线段的长度与地
  • 不同目标函数对HEC-HMS模型精度影响分析,韩继伟,孔凡哲,在水文模型中,目标函数直接影响着模型参数率定,从而影响着模型的模拟精度。以HEC-HMS模型为例,采用HEC-HMS参数自动优化模型,选定5
  • 宁夏GPS B级网与似大地水准面模型精度检验分析.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 213,487
精华内容 85,394
关键字:

模型精度

友情链接: CET_6.rar