谷歌 ML Kit:等待下载文本识别模型

24

[mlkit]

我正在为安卓设备实现谷歌机器学习工具包中的“本地端文字识别”功能。我按照这个指南进行操作,但每次尝试检测文本时都会出现异常:“等待下载文本识别模型,请稍候。”显然,等待并没有帮助,即使在10秒后进行新的检测也不行。

我有一个meta标签

<meta-data
    android:name="com.google.firebase.ml.vision.DEPENDENCIES"
    android:value="text" />

在我的清单文件的应用程序标签中,它应该在应用程序安装时预先下载识别模型。

编辑:我刚试了示例应用程序(text-recognition/final),它也遇到了完全相同的问题。

我是否缺少什么或者API存在错误?任何帮助将不胜感激。


1
这非常奇怪,在Firebase Google组和Slack组中都没有提到这样的错误。Codelabs不使用元数据标签,也许可以尝试不使用它来查看会发生什么?在SO上只有一个与相同问题相关的问题https://dev59.com/Nqvka4cB1Zd3GeqPr1te - Levi Moreira
1
我也感到惊讶。我尝试删除元标记,但没有任何区别 - 仍然是同样的异常。 - M.Paunov
2
我刚在我的手机上测试了一下,无论是否带标签都完美运行。在模拟器中也进行了测试,正常工作,我的手机是Android O,模拟器是Android N。你能告诉我你使用的手机型号和Android版本吗? - Levi Moreira
1
你能否在模拟器中尝试这段代码吗?这样我们就可以看到问题是设备引起的还是其他原因。 - Levi Moreira
2
我刚在安卓6的三星S5上运行了它,效果非常好。现在我要试图找出问题是出在设备还是操作系统上。 - M.Paunov
显示剩余4条评论
3个回答

12

经进一步调查,我们发现问题只会在一个特定的设备上出现,并且与其他广告异常同时发生。我尝试了以下方法,它有效:

设置->应用程序->Google Play服务->存储空间->管理空间->清除所有数据

清除数据后,第一次请求仍然返回与之前相同的错误,但第二次请求成功。


1
有没有不需要用户这样做的解决方案? - Rowan Gontier
我没有找到任何东西。 - M.Paunov
4
我在模拟器上尝试了一下,但出现了相同的异常,不过在真实设备上却运行良好。 - pixelWorld

6

同意上面的回答,如果设备上的存储空间不足或者说完全没有网络连接(这似乎不太可能出现),就会出现这种情况。这是开发过程中遇到的一次性问题(除非应用程序缓存被清除)。

我想在清单元素meta标记部分添加一个答案。清单中的标记通过在应用程序安装时从Play商店预下载识别模型,从而避免了这个问题

<meta-data
    android:name="com.google.firebase.ml.vision.DEPENDENCIES"
    android:value="ocr" />

9
我已经在清单文件中添加了这个标记,但问题仍然出现。 - Rowan Gontier

0

我在手机上遇到了“等待文字识别模型下载”的相同错误,我刚刚更新了Playstore中的所有其他应用程序,然后它开始工作了,你也可以试试 :)

几个月后我再次遇到了相同的错误,那么之前某个人的建议帮助了我

“设置->应用程序->Google Play商店->存储空间->管理空间->清除所有数据

在此之后的第一个请求仍然返回与之前相同的错误,但第二个请求成功了。”

清除了Google Play商店和我遇到这个错误的应用程序的所有数据,“等待文字识别模型下载”已经解决了


哈哈,这是一种“有时成功,有时失败”的类型的答案。 :D - LPVOID
大家好!我也遇到了同样的问题,使用模拟器 Nexus 5 和 Android 版本 Marshmallow,以及真实设备 Android 10。目前为止我尝试过以下方法:(1)清除模拟器上的所有数据(2)添加 <meta-data android:name="com.google.firebase.ml.vision.DEPENDENCIES" android:value="ocr" />。 - abdurrab
我认为这是mlkit中的一个bug? - abdurrab
每当我运行项目时,logcat 明确显示正在尝试下载模块,然后失败了。 - abdurrab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接