ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-11-22 18:00:19  阅读:266  来源: 互联网

标签:ubuntu1804 colab 代码 py 人脸 版本 图像 安装 下载


想要跑通的代码还是来源于这篇文章: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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有