之前没用miniconda安装VMAF时,基本把所有的环境都搭好了之后,运行不成功,大概率是因为我的虚拟机里同时安装了Python2和Python3,造成了冲突。于是决定用miniconda管理Python虚拟环境,重新安装VMAF。
一、安装和配置miniconda
参考教程:https://blog.csdn.net/weixin_45439324/article/details/102565092
https://www.jianshu.com/p/fab0068a32b4
1、安装miniconda
(1)在linxu中通过以下链接下载得到脚本
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda-3.16.0-Linux-x86_64.sh
(2)执行脚本,进行安装
/bin/bash Miniconda-3.16.0-Linux-x86_64.sh
在安装过程中,会要你进行几次选择,根据提示按enter键或者输入yes,即可。
最后安装成功之后,会提示说Thank you for install Miniconda3!,并且在home目录下生成一个Minconda
文件夹。
(3)安装好conda之后需要重新激活一下
source .bashrc
有点类似重启的意思。
之后输入conda --version
就可以查看conda的版本了。
(4)添加镜像
conda安装成功之后,再添加一下镜像,方便以后下载软件。逐行运行下面命令就行。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes
2、使用conda
(1)创建虚拟环境
conda create -n py36 python=3.6
会显示Fetching package metadata: ........
#中途下载会需要一点点时间,请耐心等待 。
(2)进入虚拟环境
source activate py36
查看有哪些已经安装好的包
conda list
(3)尝试安装其他第三方的包
注:开头给的第一篇链接里面建议添加一个国内的pypi镜像地址,以提高下载速度。但是我在添加之后,发现好多包找不到,不知道是不是我自己的问题,如果遇到和我一样的问题的朋友可以试试不添加这个地址,直接安装。(速度会有些慢)
安装包的几个指令:
conda install package
pip install package
apt-get install package
- conda环境下面的所有包的安装应使用conda install,不要使用pip install,除非conda install的conda源里面没有这个包,才用pip install。
- 在使用pip install时,首先需要注意的问题是pip指令的路径!!!正确的pip路径应该在/root/miniconda/envs/py36/bin/pip下面,如果pip路径不对尝试先conda install pip,再看看pip路径对不对。
- pip install 和 apt-get install 用法与区别:https://blog.csdn.net/Zhanganliu/article/details/88661303
#常用的APT命令参数:
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package --reinstall 重新安装包
sudo apt-get -f install 修复安装"-f = ——fix-missing"
sudo apt-get remove package 删除包
sudo apt-get remove package --purge 删除包,包括删除配置文件等
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
再附一篇conda的基本命令:https://blog.csdn.net/DongGeGe214/article/details/81947578
(4)解决conda install安装包网速慢的问题
我添加了镜像之后依然网速特别慢,用conda install根本安装不了任何包,百度的所有方法都试了还是不行,最后请教大佬成功解决了问题,方法如下:
vim ~/.condarc
将 .condarc文件的内容用以下内容替换:
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
然后运行以下指令清除索引缓存
conda clean -i
参考链接:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
(5)解决无法激活虚拟环境的问题
报错:-bash: activate: No such file or directory
解决方法:https://blog.csdn.net/w1301100424/article/details/82052418
二、安装VMAF
1、更新pip
conda install pip
sudo pip install --upgrade pip
2、安装依赖库
(1)安装依赖项
pip install numpy scipy matplotlib pandas scikit-learn scikit-image h5py sureal
conda install git
注:这个指令是同时安装了很多包,如果报错,可以考虑一条一条地运行指令。
(2)安装meson
pip install meson
(3)安装doxygen
sudo apt-get install doxygen
(4)手动升级 gcc-6 和 g++-6(经试验,不升级应该也可以)
参考这个链接:https://zhuanlan.zhihu.com/p/92495466
(5)安装re2c
参考教程:https://www.24kplus.com/linux/549.html
准备编译环境:
conda install automake
conda install libtool
获取源码、并编译安装
git clone https://github.com/skvadrik/re2c.git re2c
cd re2c
mkdir -p m4
./autogen.sh && ./configure --prefix=/usr && make
sudo make install
检查是否安装成功
re2c -v
(6)安装ninja
这篇教程是我找到的唯一可行的方法:https://www.cnblogs.com/freeweb/p/9334612.html
下载下ninja-release.zip安装包后,移到虚拟机的home目录下
cd ninja-release/
进行编译:
./configure.py --bootstrap
做软链或者复制到/usr/bin下面就可以直接调用了:
sudo cp ninja /usr/bin/
然后可以直接使用 ninja 命令。
执行 ./ninja -h 可以查看帮助。
确认ninja是否安装成功以及版本号:
ninja --version
3.获取源码
git clone https://github.com/Netflix/vmaf.git
cd vmaf
git submodule update --init --recursive
4.编译
make
5.配置环境变量
echo export PYTHONPATH="$(pwd)/python/src:$(pwd)/sureal/python/src:$PYTHONPATH" >> ~/.bash_profile
source ~/.bash_profile
6.测试
./run_vmaf yuv420p 576 324 python/test/resource/yuv/src01_hrc00_576x324.yuv python/test/resource/yuv/src01_hrc01_576x324.yuv --out-fmt json
如果执行成功则应有以下输出:
...
"aggregate": {
"VMAF_feature_adm2_score": 0.9345878041226809,
"VMAF_feature_motion2_score": 3.8953518541666665,
"VMAF_feature_vif_scale0_score": 0.36342081156994926,
"VMAF_feature_vif_scale1_score": 0.7666473878461729,
"VMAF_feature_vif_scale2_score": 0.8628533892781629,
"VMAF_feature_vif_scale3_score": 0.9159718691393048,
"VMAF_score": 76.69927060701059,
"method": "mean"
}