创建Fast.AI深度学习环境虚拟机

一、配置虚拟机

配置系统环境

下载 CentOS7 64 镜像

http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso

安装 VirtualBox,新建虚拟机(Linux类型),加载虚拟磁盘,运行虚拟机。从镜像安装系统。

安装Virtualbox AddOn,以支持与寄主系统互通。

https://my.oschina.net/jsk/blog/289275

替换yum源

cd /etc/yum.repos.d  
mv CentOS-Base.repo CentOS-Base.repo.backup  
curl http://mirrors.163.com/.help/CentOS7-Base-163.repo > CentOS-Base.repo

安装虚拟机增强包

http://www.linuxidc.com/Linux/2016-08/134292.htm

yum install -y gcc gcc-devel gcc-c++ gcc-c++-devel make kernel
kernel-devel

安装wget、tmux、vim、zsh、pip

yum install wget tmux vim zsh pip

替换终端

http://blog.csdn.net/yangcs2009/article/details/45720193
查看终端:cat /etc/shells
更改终端:chsh -s /bin/zsh

修改分辨率

http://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html#Simple-configuration
http://www.360doc.com/content/12/0501/23/834950_207994643.shtml

当前通过直接修改 /boot/grub2/grub.cfg 实现(添加vga=789),不是太优雅。

打通内网

进过反复试验,MAC下似乎无法通过nat端口映射,只能再添加一个主机直连的虚拟网卡。
通过主机直联的私有网段默认为192.168.99.XXX。
同时,关闭系统防火墙:

service firewalld stop  
systemctl disable firewalld.service  

配置机器学习环境

共享文件

设置VirtualBox共享宿主主机文件,拷贝课程文件至 ~。
共享的目录位于 /media

下载并安装anaconda

参考: http://www.cnblogs.com/piperck/p/5156493.html

cd ~  
wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh  
bash Anaconda3-4.4.0-Linux-x86_64.sh

别忘了添加anaconda的目录到zsh的$PATH

分别配置Anaconda环境

参考:http://www.jianshu.com/p/d2e15200ee9b

fast.ai课程(Lesson1~Lesson7.ipyb)官方使用的环境是Python2(通过配置Python3也可以),而Deepdream使用的是Python3,为了便利我们至少需要建两个环境。

1、 初始自带的 root 环境 ,使用 Python2.7版本,我们将这个环境配置为可执行Fast.AI课程文件(硬盘空间充足的话最好新建一个环境,以免以来的库版本被修改)。
删除anaconda默认环境的karas版本,使用旧版本(anaconda不提供,需要通过pip安装)。

source activate root
conda uninstall keras(必要时执行两次,分别卸载不同版本的keras) 
pip install keras==1.2.2(如果发现已经安装,最好先卸载再安装一遍)  

继续通过conda install,安装所有运行课程中缺失的包。

2、 我们再 新建 fastai3 环境 ,使用 Python3.5.2 版本,供折腾。

通过课程目录下的配置文件,安装相关依赖包。

conda env create -f ~/fast.ai/fastai3.yml

这个环境安装好应该也可以运行Fast.AI课程,未经测试。

注意:

  • 每个登录终端,当前激活的conda环境不一致,需要通过 conda info -e 确认。
  • 通过conda、pip命令安装的包只影响当前环境。

配置jupyter

设置请参考:jupyter document

jupyter notebook --generate-config
vim .jupyter/jupyter_notebook_config.py

修改配置文本以达成以下目的:

  • 允许root运行notebook
  • 允许空密码
  • 禁用自动生成token
  • 绑定IP到0.0.0.0(避免只有本机才可访问)
  • 修改端口到888

此外,Anaconda 4.1.0之后,在notebook图形界面中可 选择ipyhon内核 (可以不用事先activate对应的环境了)。并且会记住每个notebook最后一次选择的内核版本。
详情请见stackoverflow

需要分别配置每个Conda环境的ipython kernels,使之在notebook中可选:

source activate root
conda install notebook ipykernel
ipython kernel install --user
source activate fastai3
conda install notebook ipykernel
ipython kernel install --user

进入jupyter后,打开notebook,通过菜单 Kernel > Change kernal 可切换该notebook对应的内核。

配置theano

vim ~/.theanorc ,手工敲入并保存(要是用ssh终端,可以复制粘贴):

[global]
device = cpu
floatX = float32

[cuda]
root = /usr/local/cuda

配置keras

vim ~/.keras/keras.json,修改配置如下:

{
    "image_dim_ordering": "th",
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "theano"
}

二、其它说明

1、本系统未考虑安全性,仅限学习使用,请勿用于生产环境!
2、欢迎转载、修改、分享本文及虚拟机,但请注明出处。
3、感谢 fast.ai 的无私分享!

虚拟机下载,请移步: Fast.AI课程文件、教学视频及学习环境虚拟机下载分享

你可能感兴趣的:(创建Fast.AI深度学习环境虚拟机)