Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试

Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook foltr-es代码运行测试

想要运行测试下Facebook的一个有关联邦学习的工作FOLtR-ES(Kharitonov E. Federated Online Learning to Rank with Evolution Strategies[C]//Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining. ACM, 2019: 249-257. 开源代码:https://github.com/facebookresearch/foltr-es)
里面使用了anaconda和Jupyter notebooks,故尝试在ubuntu16.04环境下搭建anaconda环境进行测试。
操作系统:Ubuntu 16.04.4 LTS
anaconda版本:Anaconda3-2019.07-Linux-x86_64
PyTorch版本:python3.6 cpuonly,无CUDA

卸载anaconda

由于在测试过程中,把anaconda搞炸了,所有的conda命令都无法运行,所有决定卸载重新再来。

1. 删除整个anaconda目录

rm -rf anaconda3

2. 更新.bashrc中路径

gedit ~/.bashrc

注释掉或安装时添加的Anaconda3路径

# export PATH=/home/hnli/anaconda3/bin:$PATH

也可能是在安装时选择给你添加的环境变量,并会给你留有一个.bashrc的备份文件.bashrc-anaconda3.bak,可以根据备份文件恢复,或者直接删除或注释掉安装时给你添加的环境变量代码(图上这部分)。
Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第1张图片
保存,输入命令生效

source ~/.bashrc

关闭当前终端。

安装anaconda

1. 下载anaconda

可从anaconda官网https://www.anaconda.com/distribution/#download-section下载最新的版本,目前为Anaconda 2019.07版本,可选Python 3.7 version或Python 2.7 version。但官网下载速度很慢。
Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第2张图片
也可从清华大学开源软件镜像站https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/上下载anaconda3镜像,速度快,再找最新镜像的时候,可以先按日期排序,默认排序不是按照更新日期来的。注:清华大学开源站的anaconda镜像服务曾关闭,于2019年7月21日又恢复了。
Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第3张图片
之前我采用的是Anaconda3-5.3.1版本,这次尝试下最新的2019.07版本,故下载了Anaconda3-2019.07-Linux-x86_64.sh

2. 安装

输入安装命令

bash Anaconda3-2019.07-Linux-x86_64.sh 

根据提示信息输入完成安装,包括注册信息和安装位置,都选择了默认设置。
Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第4张图片5.3.1版本安装完成后会询问你是否添加环境变量,输入yes,会在~./bashrc中添加环境变量并保存一个备份文件.bashrc-anaconda3.bak。
添加环境变量5.3.1版本会最后询问你是否安装VScode,选择no,不安装。
Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第5张图片2019.07版本安装时则不会提示你是否安装VSCode,且在~./bashrc中添加环境变量后也没有保存一个备份文件。
Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第6张图片安装完成,关闭终端。

3. 测试与基本命令

安装好anaconda3-2019-07后,打开终端,会发现自动进入了anaconda的base环境,命令行前端有(base)标识,意味着在anaconda的base环境下,可以输入命令将该设置关闭。

conda config --set auto_activate_base false

这样重新打开终端,就不会自动进入base环境下。
查看conda版本,出现conda 4.7.10

conda --version

创建新环境

conda create --name <env_name> <package_names>

例如创建一个名为test的新环境,python版本为3.6

conda create -n test python=3.6

激活test环境

conda activate test

退出test环境

conda deactivate

查看已创建的环境信息

conda info --envs

复制环境

conda create --name <new_env_name> --clone <copied_env_name>

删除test环境

conda remove --name test --all

获取当前环境中已安装的包信息

conda list

更新所有包

conda update --all

启动图形化界面anaconda-navigator

anaconda-navigator

Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第7张图片

4. 换源

由于下载速度的问题,可以考虑更换成清华大学或者中科大的镜像源,当然会有挂掉的风险,之前就曾暂停了anaconda镜像源服务,直到2019年7月21日才恢复。可参考清华大学镜像源的Anaconda 镜像使用帮助https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/。
也可以输入以下命令添加源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --set show_channel_urls yes

打开主目录下的.condarc文件查看配置,可以将defaults一行删除。也可以按照清华镜像源使用说明来修改该文件。

gedit ~/.condarc

Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第8张图片查看当前配置

conda config --show

测试

conda create -n myenv numpy

可下载安装packages,且后面出现清华的url就可以了。

FOLtR-ES运行测试

接下来运行测试下Facebook的一个有关联邦学习的工作FOLtR-ES(Kharitonov E. Federated Online Learning to Rank with Evolution Strategies[C]//Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining. ACM, 2019: 249-257. 开源代码:https://github.com/facebookresearch/foltr-es)

1. 安装PyTorch

PyTorch官网(https://pytorch.org/)上可查看不同版本的安装命令,由于测试电脑上没有GPU,FOLtR-ES中用的是python3.6,因此这里选择python3.6无CUDA版本的pytorch。
Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第9张图片在终端输入命令,这里我直接先在base环境下安装

conda install pytorch torchvision cpuonly -c pytorch

可能会遇到HTTP error问题,重新输入命令安装就行。
安装好后进入python测试下

python
import torch

没有报错就行了。

2. 创建anaconda新环境

conda create --name foltr-es python=3.6
conda activate foltr-es

3. 下载foltr-es源码

git clone https://github.com/facebookresearch/foltr-es.git && cd foltr-es

4. 安装依赖

pip install -r requirements.txt

这里readme的说明是使用pip安装,不是使用conda安装,我也就用pip安装了,不确定是否会有问题,在后续跑测试代码pytest的时候是没有问题的。
使用conda安装依赖的命令为

conda install --yes --file requirements.txt

5. 下载数据集

需要用到数据集MQ2007MQ2008,该数据集来自于microsoft的研究LETOR:https://www.microsoft.com/en-us/research/project/letor-learning-rank-information-retrieval/
选择LETOR4.0,可以找到数据介绍和下载链接,下载链接实际上是onedrive云盘,需要下载,还贼慢。
将下载好的MQ2007MQ2008文件解压出来放到data目录下,然后运行测试,所有的测试都pass即可。

pytest -v

Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第10张图片

6. 通过模拟用户点击行为估计隐私损失

运行eps_estimate.py代码可以得到paper中的table 2结果:

python eps_estimate.py

Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第11张图片

7. Jupyter notebook运行

运行notebooks目录下的antithetic.ipynbn_interactions.ipynbprivacy robustness.ipynb代码,按readme所提示,需要在root下使用Jupyter notebook。
退出foltr-es环境,然后在base环境下启动anaconda-navigator,在root环境下打开Jupyter notebook。
也可以在base环境下,直接输入命令打开jupyter notebook。

jupyter notebook

在打开的浏览器窗口中打开代码所在目录,打开代码文件运行。
Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第12张图片Ubuntu16.04安装使用anaconda、PyTorch、Jupyter notebook以及Facebook *foltr-es*代码运行测试_第13张图片为了避免代码运行中的路径问题,我简单粗暴地将代码中的*cd …*改为绝对路径。
在运行过程中没法判断一个cell是不是已经结束了,运行时间短的cell很快就能及时显示结果,但有的cell的运行时间较长,过了很久也没出现结果,也没报错,点运行又能够继续跳到下一个cell。大概可以根据浏览器窗口标签的状态来判断cell是否运行中,运行状态的应该是一个沙漏标志。
jupyter notebook运行状态
基本过程久这样了,这次比之前那次顺利,之前出现的各种问题这次都没有遇到,不知道是不是因为换了2019-07版本的原因。我的小破旧笔记本感觉真的带不动机器学习代码,跑半天没跑出结果,动不动还死机,真滴难。

你可能感兴趣的:(python,机器学习,anaconda,ubuntu,python,pytorch,jupyter,notebook)