Dlib“反序列化短类型对象时出错”
Posted
技术标签:
【中文标题】Dlib“反序列化短类型对象时出错”【英文标题】:Dlib "Error deserializing object of type short" 【发布时间】:2017-10-14 08:11:26 【问题描述】:我在 dlib python 上的 pose_predictor = dlib.shape_predictor(predictor_model)
上遇到错误。
RuntimeError: Error deserializing object of type short
while deserializing a floating point number.
while deserializing a dlib::matrix
while deserializing object of type std::vector
while deserializing object of type std::vector
while deserializing object of type std::vector
【问题讨论】:
这是很常见的错误。您应该下载形状预测器模型文件并将其从存档中解压缩。下载时文件也可能损坏,其大小应为(解压缩)99693937 字节,sha1 = c7b0e0780a4fda180f75aadf654838c1866ee5fb 感谢@Evgeniy,我会再次尝试下载模型,并使用给定的 sha1 进行验证。 是的@Evgeniy 它工作了 【参考方案1】:我遇到了同样的问题并尝试重新下载文件,现在可以了。
我从 https://github.com/JeffTrain/selfie/blob/master/shape_predictor_68_face_landmarks.dat
【讨论】:
【参考方案2】:使用命令下载
wget -nd https://github.com/JeffTrain/selfie/raw/master/shape_predictor_68_face_landmarks.dat
从 github 下载时下载原始文件而不是 blob。
【讨论】:
【参考方案3】:希望这会对某人有所帮助。我正在使用 google colab 并且重新下载和重新上传对我不起作用。 所以我克隆了一个具有形状预测器的 git repo 并使用它的路径
这就是我所做的
!git clone https://github.com/nicolasmetallo/eameo-faceswap-generator
cd eameo-faceswap-generator
然后将形状预测器的路径更改为
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
然后运行你的代码
【讨论】:
以上是关于Dlib“反序列化短类型对象时出错”的主要内容,如果未能解决你的问题,请参考以下文章
python:反序列化 dlib::shape_predictor 时发现意外版本
在 C++ 中反序列化 cnn_face_detection_model_v1