天天看点

Ray 学习笔记,建立最新学习环境 (setup tutorial environment)

Ray 是 UC berkley 提出的分布式机器学习。sklearn 是运行在单机上的机器学习,虽然支持多线程,但分布式并不支持。Ray 也支持 tensorflow,pytorch 和其他机器学习包。本博客是帮助初学者建立学习环境,依据的博文是3个,1个是 英文版的官方建立环境的材料 https://github.com/anyscale/academy,2)是笔者在国内自己建立环境所遇到的问题及其解决方案的博客,3)安装和建立jupyter工具,这样初学者可以少走弯路。

1. 前提条件

笔者的centOS 是8.3版本,其实centOS 8 版本以上的都可以,假设机器是初建立的,就是还没有装上各种软件的。并且初学者是在大陆的,访问外网有困难的。

下载 

  • Anaconda3-2020.11-Linux-x86_64.sh,anaconda 下载的安装包
  • academy-main.zip,github的代码zip下载包,

2. 步骤

A。安装Anaconda 

       安装anaconda是很直接的,笔者下载的是Anaconda3-2020.11-Linux-x86_64.sh,

sh Anaconda3-2020.11-Linux-x86_64.sh
           

遇到提问,如果是yes/no 的选择,都键入yes,如果是提问是否继续,键入 Enter(回车键),  遇到授权许可,按翻页键就是,总之,不要输入no。最后,提问时需不需要初始化base开发环境,输入yes。

安装完毕,退出exit,然后重新登入。这时,会有以下 提示符出现,

(base) [[email protected] ~]$
           

B。建立 anyscale-academy环境

在用户目录下,unzip academy-main.zip 压缩文件,

(base) [[email protected] ~]$ unzip academy-main.zip 
           

然后,进入 academy-main目录,

(base) [[email protected] ~]$ cd academy-main
           

敲入建立 环境名anyscale-academy 的命令:

(base) [[email protected] academy-main]$ conda env create -f environment.yml
           

这个过程比较慢,如果刚建立的虚拟机不能访问互联网,甚至是国内的网络,基本上是DNS配置,开始一些Linux环境的配置,加入nameserver,国内是114.114.114.114 dns服务器

(base) [[email protected] ~]$sudo vi /etc/resolv.conf
nameserver 114.114.114.114
           

初学者可以看看environment.yml 语法,这在先前的博客已经描述了。安装环境到environment.yml文件的pip下的python软件包很慢,或干脆就断了。不要紧的,因为依赖包在pip管辖下的镜像源在国外,可以用国内的,国内的当数阿里云的最快。版本如果没有,就选择当前最新的就可以了。不管怎样,先进入anyscale-academy 环境,

(base) [[email protected] ~]$ conda activate anyscale-academy

(anyscale-academy) [[email protected] academy-main]$
           

 然后,我们先做一个辅助动作,因为按装ray先前先需要的,

(anyscale-academy) [[email protected] academy-main]$ sudo yum install -y python3-devel
           

现在安装ray,比如我们要安装ray[all], 输入以下命令就可以,注意使用阿里云的镜像源,用-i的标识符:

#pip install -i https://mirrors.aliyun.com/pypi/simple/ 要下的包名
 
pip install -i https://mirrors.aliyun.com/pypi/simple/ ray[all]
           

我们截选一些environment.yml文件下的pip段:

name: anyscale-academy
channels:
  - conda-forge
  - pyviz
dependencies:
  - python=3.7
  - pip
...
  - nodejs
  - pip:
    - ray[all] >= 1.2
    - tensorboard >= 2.3
    - tensorflow >= 2.3
    - atoma
    - box2d-py
           

读者只需一个一个用阿里云的镜像安装pip下的python包。

安装完毕,整个anyscale-academy的环境就全部安装成功了。

C。定制化的补充命令

在 academy-main目录下,敲入

(anyscale-academy) [[email protected] academy-main]$ sh tools/fix-jupyter.sh
           

D。潜在的需要的命令:

现在您可以打开jupyter工具了

(anyscale-academy) [[email protected] academy-main]$ jupyter lab
           

但你会可能会遇到问题,如果没有,恭喜,您就可以使用学习环境了,但也可能有问题。比如:

/usr/lib64/xxx/tornado/netutil.py", line 196, in bind_sockets sock.bind(sockaddr)
OSError: [Errno 99] Cannot assign requested address
           

如果您遇到麻烦,激活IPv6,在安装ray环境经常遇到的问题博客里已经提及,

# 激活IPv6
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
           

同时,关闭firewalld,

systemctl status firewalld
# 防火墙工作状态: active (running) since Fri 2021-03-19 10:17:27 CST; 4 days ago  
# 拆卸防火墙: inactive (dead) since Tue 2021-03-23 10:58:10 CST; 3s ago
 
systemctl stop fiewalld
           

如果还是不能按照 jupyter lab的输出,在windows访问jupyter,看看下面的步骤:

创建在/etc/hosts 文件里加入一条记录:

...
192.168.1.231 localhost
           

在chrome浏览器,输入jupyter lab输出的地址,而不是下面截图的地址,

Ray 学习笔记,建立最新学习环境 (setup tutorial environment)

现在基本上,读者建立了学习环境,后续,我们在介绍怎样使用学习材料。

E。其他

本文写于 2021年4月15日

继续阅读