由于Facenet官方源码时间比较久了,python版本也还是3.5版本,完全按照Validate on LFW · davidsandberg/facenet Wiki的官方说明出现了一些版本上的问题,因此在这里做个记录。
参考网址:
1、 github源码网站Validate on LFW · davidsandberg/facenet Wiki
2、 csdn博客:从facenet源码中测试人脸比较的准确率
3、 博客园:facenet 进行人脸识别测试
4、 问题处理(百度/必应等直接搜索)
遇到的问题以及解决方式:
1、 完成facenet环境安装后,执行以下命令
for N in {1..4}; do \
python src/align/align_dataset_mtcnn.py \
/home/user/Desktop/facenet/data/lfw_data/raw \
/home/user/Desktop/facenet/data/lfw_data/lfw_160 \
--image_size 160 \
--margin 32 \
--random_order \
--gpu_memory_fraction 0.25 \
& done
对图像进行预处理时,出现错误①如下:
ValueError: Object arrays cannot be loaded when allow_pickle=False
解决办法:
卸载现有版本,重新安装numpy imdb支持的numpy版本在1.16.2
restart 再执行 就没有问题了
代码实现:
pip uninstall numpy
pip install numpy==1.16.2
再次执行预处理命令,出现错误②如下:
AttributeError: module ‘scipy.misc‘ has no attribute ‘imread‘
解决方法:卸载现有版本scipy,将scipy的版本降级到scipy==1.2.1
pip uninstall scipy
pip install scipy==1.2.1
2、然后可以正常执行图像预处理命令了,但可以发现,以上问题均需要降低版本解决,因此建议在配置环境时直接将facenet源码requirements.txt文件中的包写上numpy和scipy的版本,希望官方源码能够根据现有版本继续做下更新就更好了,感谢fecenet团队做出的贡献。