V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
among
V2EX  ›  机器学习

AI 中,同样的模型,在不同显卡上运行,结果会有差异吗?

  •  
  •   among · 2022-12-14 17:34:05 +08:00 · 1949 次点击
    这是一个创建于 735 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个模型文件,做图片中的文本识别的,onnx 格式,运行的程序也是一样的。


    在 2 个不同的机器,windows 和 linux ,对接的显卡型号不一样,windows 是 3080i ,T4

    发现同一个图片,在 2 个机器上识别出的结果会有差异,有的识别成功,有的识别不了。



    对 AI 不熟,想问一下,这样的差异正常吗?


    顺便问个:有没有比较好的,识别图片中文字或图标的开源框架,可以返回坐标及其文字的。
    4 条回复    2023-03-31 09:52:27 +08:00
    jack4in
        1
    jack4in  
       2022-12-14 19:23:42 +08:00
    百度的 paddleocr
    lhggame
        2
    lhggame  
       2022-12-27 15:40:29 +08:00
    在训练机器学习模型时,使用不同的显卡可能会导致训练时间的差异。但是,一旦模型训练完成并在不同的设备上运行,它应该会产生相同的结果。这是因为在训练过程中所学到的权重和偏差已经被固化到模型中,并且在不同的设备上进行推理时,它们应该会产生相同的输出。

    但是,在推理过程中,使用不同的显卡可能会导致性能差异。这是因为某些显卡可能更快,更有效地执行特定的计算操作,这可能会导致推理速度的差异。

    总的来说,使用不同的显卡可能会导致训练时间的差异,但在推理过程中应该会产生相同的结果,但可能会有性能差异。
    among
        3
    among  
    OP
       2022-12-27 16:21:29 +08:00
    @lhggame
    机器回答???
    oceaniaxie
        4
    oceaniaxie  
       2023-03-31 09:52:27 +08:00
    可不可以把不同机器的模型推理库和 CUDA/CuDNN 分别列一下?包括版本。能想到的影响推理结果的因素:1. 有些推理引擎 /库会进行模型量化( Quantization ),比如把 FP32 浮点数压缩成 FP16 浮点数甚至 INT8 整数,当然会影响结果了。2.有些复杂一点的模型操作,在不同推理库中的实现方式有差异。3.图像数据前处理方式有差异,比如是不是用了相同的参数进行 Normalization 、是不是 Reszie 成了相同的大小? 4.识别结果后处理方式有差异,比如非极大抑制 NMS 参数是不是相同的?置信度阈值是否一样?

    如果要进行细致的排错,可以按步骤来,分别在两个推理环境中,用同一张图片作为输入,输出前处理后的图像、特征层、模型输出、后处理之后的结果等等中间结果。然后就可以定位到问题出在哪个环节了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5126 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:38 · PVG 17:38 · LAX 01:38 · JFK 04:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.