【问题标题】:TensorflowLite iOS example issueTensorflowLite iOS 示例问题
【发布时间】:2021-05-17 19:33:49
【问题描述】:

我已经从官方 GitHub 账号下载了适用于 iOS 的 tensorflowlite Posenet 示例

https://github.com/tensorflow/examples/tree/master/lite/examples/posenet/ios

我可以在设备上运行该示例,但它给出了以下错误

2021-05-18 00:57:50.385071+0530 PoseNet[8112:3939417] 调整大小错误:源图像比例和目标图像比例不同 2021-05-18 00:57:50.385531+0530 PoseNet[8112:3939417] 预处理失败 2021-05-18 00:57:50.385797+0530 PoseNet[8112:3939417] 无法得到推理结果。

有没有人遇到过这个问题,我们该如何解决?

【问题讨论】:

    标签: ios swift tensorflow tensorflow-lite


    【解决方案1】:

    我的解决方案在这里。

    1. 转到 CVPixelBufferExtension.swift 文件。

    2. 第 32 行:函数调整大小(从源:CGRect,到大小:CGSize)-> CVPixelBuffer? 请禁用以下代码。

      //    guard abs(rect.size.width / rect.size.height - source.size.width / source.size.height) < 1e-5
      //    else {
      //      os_log(
      //        "Resizing Error: source image ratio and destination image ratio is different",
      //        type: .error)
      //      return nil
      //    }
      

    解释:resize 函数首先检查当前缓冲区rect 是否包含源rect,代码为guard rect.contains(source) else。并且调整大小功能实际上是从相机中裁剪帧的区域。所以它不需要验证纵横比。 这就是为什么我们可以安全地禁用代码。

    【讨论】:

    • 这行得通。但是该库的行为很奇怪,它运行不快,我大约一年前使用过它并且它运行正常,不确定现在发生了什么变化,因为它的行为也不是原来的样子。
    猜你喜欢
    • 2022-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多