其他分享
首页 > 其他分享> > colab执行人脸图像质量评价代码

colab执行人脸图像质量评价代码

作者:互联网

想要跑通的代码还是来源于这篇文章:SER-FIQ: Unsupervised Estimation of Face Image Quality Based on Stochastic Embedding Robustness,论文的第四个实验部分讲到了来源代码:

1https://github.com/davidsandberg/facenet
2https://github.com/deepinsight/insightface

其实这个数据集在今年前半年就下载下来保存在电脑上,但是一直没有跑通,直到上个月才跑出结果。又点进链接进去之后发现里面又重新更新了很多内容,但我还是继续之前已经下载好的代码进行实现吧~
这个数据集对于我这种第一次跑代码的人来说还是太难了,因为里面涉及到了cuda的安装,还有对应的tensorflow1.14.0的安装,以及mxnet-gpu版本的安装。走了很多很多弯路,希望在此记录一下。
下载后的文件夹图片如下:
在这里插入图片描述
其中这里的两个重要的.py文件还需要通过github上相关链接再进行下载,还要下载一个对应的预处理好的model,将它们一起组合。
我们最终要执行的是serfiq_example.py文件,其他的还有最重要的face_image_quality.py文件,因为执行serfiq_example.py时需要从face_image_quality.py中调用已定义好的类和相应函数。
接下来,就是注意事项

1、跑通这个代码需要gpu加持,因此需要下载与自己电脑显卡对应版本的cuda和cudnn,我的电脑需要的版本是cuda9.0,因此在下载mxnet-gpu时,需要的代码是pip install mxnet-cu90,如果是10.0的,就把90改为100;在用conda创建虚拟环境时的代码:conda create -n xxx python3.6.9,这里的xxx是创建的虚拟环境的名称,后面的python是指定你创建的环境中的python版本,我觉得很有必要加,不要像我一样开始创建了所有的环境后才发现python是2.7的版本,而且在下载其他包的过程中也总是出错。

2、可以从下载的readme文件看到
在这里插入图片描述
我们需要下载太多对应版本的软件,而且也会出错,比如这里的文件说需要mxnet的cpu版本和gpu版本,其实只需要下载gpu版本就够了。又加上我的电脑显卡太旧,电脑速度慢,后来,我就放弃了在电脑上配置,直接通过注册Google drive,在谷歌云盘上自带的gpu和linux系统跑,安装速度很快,速度也要快于自己的电脑。大家可以申请谷歌账号,通过科学上网的方式进行体验,我很喜欢这种方式。
而且自带的linux安装了cuda10.1的版本,和tensorflow2最新版,不用麻烦的去下载。不过我查了查资料说10.1的版本不太兼容之类,我就卸载了10.1的版本,重新安装了10.0的版本。

在这里插入图片描述
这里是colab上的代码:

# 进行授权及安装驱动
from google.colab import drive
drive.mount('/content/drive/')
#定位到自己要执行的.py文件的上级目录
import os
os.chdir('/content/drive/My Drive/app/FaceImageQuality')
os.getcwd()

#可以从github上直接克隆到colab上
!git clone https://github.com/deepinsight/insightface.git

# 卸载cuda10.1并安装cuda10.0
!wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
!sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
!sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
!sudo apt-get update
!wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
!sudo dpkg -i nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
!sudo apt-get update

#安装mxnet-cuda10.0版本
!pip install mxnet-cu100
#安装其他的包
!pip install keras==2.2.4
#安装cv2
!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python
#安装tensorflow1.14
!pip install tensorflow==1.14.0


#执行.py文件
!python3 "serfiq_example.py"

3、其中在调试代码的时候,有时候会xrange报错,这应该是python2里面的代码,可以直接变成range,这就是python3中的代码;

4、如果在调用cv2.imread读取图片时报错,说没有shape这个模块,应该是图片没有正确读取,检查一下读取图片的路径,cv2读取照片的路径好像是不能含有中文。

5、如果是linux系统需要查看自己是red hat系统还是Ubuntu系统,因为red hat是用yum下载包,而Ubuntu是用wget来下载。

标签:ubuntu1804,colab,代码,py,人脸,版本,图像,安装,下载
来源: https://blog.csdn.net/weixin_44987948/article/details/109957173