以下内容已屏蔽图片优化访问速度 |
---|
当前深度学习如火如荼,而深度学习平台多依赖于GPU。 网易容器云也计划推出基于GPU的容器,目前在灰测阶段,先来体验一把。 (1) 在容器服务中,创建有状态负载 在最新的可用区B,选择高性能容器,选择异构计算,就是带GPU的容器了 [IMG] 既然是容器,要选择一个容器镜像,可以用官网的public/gpu-runtime的镜像 [IMG] 选择一个ssh key,方便将来登陆 [IMG] 在有状态容器中,状态为运行中。 对这个容器绑定一个公网IP地址。 (2) 查看GPU的情况 将nvidia的包放到PATH里面来 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/nvidia/lib64 使用nvidia-smi查看GPU的情况 [IMG] 可以看到有一个Tesla K80的卡 [IMG] (3) 安装CUDA及依赖包 添加repo CUDA_REPO_PKG=[IMG]"$CUDA_REPO_PKG" -O /tmp/cuda-repo.deb && dpkg -i /tmp/cuda-repo.deb && rm -f /tmp/cuda-repo.deb wget "$ML_REPO_PKG" -O /tmp/ml-repo.deb && dpkg -i /tmp/ml-repo.deb && rm -f /tmp/ml-repo.deb apt-get update 在根目录中有cuda-linux64-rel-8.0.61-21551265.run,运行它 [IMG] apt-get install cuda-cudart-8-0 apt-get install --no-install-recommends git graphviz python-dev python-flask python-flaskext.wtf python-gevent python-h5py python-numpy python-pil python-pip python-scipy python-tk 接下来我们要安装[IMG](the Deep Learning GPU Training System) 是用于训练深度学习模型的一个Web应用,目前支持Caffe, Torch, 及Tensorflow三个深度学习框架。 export DIGITS_ROOT=~/digits git clone [IMG]$DIGITS_ROOT 运行./digits/device_query.py查看安装情况 [IMG] 修改PATH加入cuda export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/nvidia/lib64:/usr/local/cuda-8.0/lib64 (4) 安装Caffe,这是必须的 先要安装Protobuf apt-get install autoconf automake libtool curl make g++ git python-dev python-setuptools unzip export PROTOBUF_ROOT=~/protobuf git clone [IMG]$PROTOBUF_ROOT -b '3.2.x' cd $PROTOBUF_ROOT ./autogen.sh ./configure make "-j$(nproc)" make install ldconfig cd python python setup.py install --cpp_implementation 接下来正式安装Caffe 安装依赖包 apt-get install --no-install-recommends build-essential cmake git gfortran libatlas-base-dev libboost-filesystem-dev libboost-python-dev libboost-system-dev libboost-thread-dev libgflags-dev libgoogle-glog-dev libhdf5-serial-dev libleveldb-dev liblmdb-dev libopencv-dev libsnappy-dev python-all-dev python-dev python-h5py python-matplotlib python-numpy python-opencv python-pil python-pip python-pydot python-scipy python-skimage python-sklearn export CAFFE_ROOT=~/caffe git clone [IMG]$CAFFE_ROOT -b 'caffe-0.15' pip install -r $CAFFE_ROOT/python/requirements.txt cd $CAFFE_ROOT mkdir build cd build cmake .. make -j"$(nproc)" make install (5) 安装Tensorflow apt-get install libcudnn5 wget [IMG]install --upgrade ./tensorflow_gpu-1.2.1-cp27-none-linux_x86_64.whl 需要调整numpy的版本 easy_install numpy 将如下的环境变量放入.bashrc export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/nvidia/lib64:/usr/local/cuda-8.0/lib64 export PROTOBUF_ROOT=/root/protobuf export CAFFE_ROOT=/root/caffe export DIGITS_ROOT=/root/digits (6) 安装DIGITS 刚才使用device_query.py的时候,已经下载过代码。 pip install -r $DIGITS_ROOT/requirements.txt pip install -e $DIGITS_ROOT ln /dev/null /dev/raw1394 启动服务 digits-devserver (7) 使用DIGITS做深度学习的例子 下载数据 python -m digits.download_data mnist ~/mnist 打开界面,使用5000端口,可以看到有1个GPU可以使用 [IMG] 生成一个Datasets [IMG] 查看生成的Dataset,可以看出是一系列手写的数字 [IMG] 基于这个数据集,训练一个模型 [IMG] 第一个例子中,我们暂且不使用Tensorflow,使用Caffe框架 [IMG] 模型训练完毕,可以看出损失是梯度下降的,准确度是上升的。 [IMG] 接下来我们测试一下图像的识别。 我们在/root/mnist/test/8下面下载一个数字8,文件名为00641.png [IMG] 我们上传这个图像进行识别 [IMG] 识别结果如下 [IMG] 好了,有了这个平台,以后可以干很多有意识的模型了。 欢迎关注公众号 [IMG] |