【问题标题】:Why is accuracy higher with Caffe than with tf.keras?为什么 Caffe 的准确率比 tf.keras 高?
【发布时间】:2020-07-27 18:03:05
【问题描述】:

我将模型从 tf.keras 转换为 caffe。当我在测试集上使用 Caffe 评估模型时,我发现使用 caffe 的准确度比使用 tf.keras 的要高。我想不出一种方法来解决问题的根源(如果首先出现问题......)
这种差异是否是由于用于加速计算的低级库(我在想 cudnn 和 caffe 引擎)? tensorflow 的 keras 模块是否存在众所周知的精度问题?
顺便说一句,还有其他人有类似的问题:

https://github.com/keras-team/keras/issues/4444

【问题讨论】:

    标签: keras deep-learning caffe


    【解决方案1】:

    这可能发生。

    将 keras .h5 模型转换为 .caffemodel 后,权重会以数字方式复制。但是,在内部,您会将模型加载到 Caffe 而不是 Keras。

    因为,caffe 和 keras 是两个不同的库,它们的内部算法可能略有不同。此外,如果您更改预处理方案,也会改变结果。通常,如果你使用剪枝(优化大小),性能可能会下降,在奇怪的情况下,这可以被认为是一种极端的正则化,并在测试中充当性能提升器。

    【讨论】:

    • 当您说算法时,您是指引擎吗?但是 caffe 和 tf 都使用了 cuda 和 cudnn,那么它们的算法有什么区别呢?修剪是什么意思?
    • 您使用的是相同版本的 cudnn 吗?此外,您是否使用相同的 cudnn 版本为 tensorflow 和 caffe 训练和运行推理?剪枝是一种技术,当您删除一些参数以减少模型大小的数量时,同时保持相似的性能。
    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 2014-02-28
    • 2020-03-12
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 2018-12-20
    相关资源
    最近更新 更多