pytorch,keras,chainer x ROSのDockerfileを作ってみる
やりたいこと
ros x deep learningのいろいろなDockerfileを作ってどんな環境でもすぐに開発ができるようにする
以下
ubuntu16.04
ros-kinetic
をベースとしている
chainer
cupy==1.0.3 chainer==2.1.0
Dockerfile
FROM nvidia/cuda:8.0-cudnn5-devel-ubuntu16.04 RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ python-dev \ python-setuptools \ python-pip && \ rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* RUN pip install --upgrade pip RUN pip install cupy==1.0.3 chainer==2.1.0 RUN pip install matplotlib # install packages RUN apt-get update && apt-get install -y --no-install-recommends \ dirmngr \ gnupg2 \ && rm -rf /var/lib/apt/lists/* # setup keys RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA116 # setup sources.list RUN echo "deb http://packages.ros.org/ros/ubuntu xenial main" > /etc/apt/sources.list.d/ros-latest.list # install bootstrap tools RUN apt-get update && apt-get install --no-install-recommends -y \ python-rosdep \ python-rosinstall \ python-vcstools \ && rm -rf /var/lib/apt/lists/* # setup environment ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 # bootstrap rosdep RUN rosdep init \ && rosdep update # install ros packages ENV ROS_DISTRO kinetic RUN apt-get update && apt-get install -y \ ros-kinetic-ros-core=1.3.1-0* \ && rm -rf /var/lib/apt/lists/* # install cv2 RUN apt-get update && apt-get install -y ros-kinetic-cv-bridge # install editor and tools RUN apt-get install -y emacs RUN apt-get install -y tmux RUN apt-get install -y python-tk # setup entrypoint COPY ./ros_entrypoint.sh / ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["bash"]
docker images: https://hub.docker.com/r/einstein25/chainer-ros-gpu/
pytorch
gpuが使えているかは
print torch.cuda.is_available()
で確認
Dockerfile
FROM nvidia/cuda:8.0-cudnn5-devel-ubuntu16.04 RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ python-dev \ python-setuptools \ python-pip && \ rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* RUN pip install --upgrade pip RUN pip install http://download.pytorch.org/whl/cu80/torch-0.3.0.post4-cp27-cp27mu-linux_x86_64.whl RUN pip install torchvision RUN pip install matplotlib # ros install # install packages RUN apt-get update && apt-get install -y --no-install-recommends \ dirmngr \ gnupg2 \ && rm -rf /var/lib/apt/lists/* # setup keys RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA116 # setup sources.list RUN echo "deb http://packages.ros.org/ros/ubuntu xenial main" > /etc/apt/sources.list.d/ros-latest.list # install bootstrap tools RUN apt-get update && apt-get install --no-install-recommends -y \ python-rosdep \ python-rosinstall \ python-vcstools \ && rm -rf /var/lib/apt/lists/* # setup environment ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 # bootstrap rosdep RUN rosdep init \ && rosdep update # install ros packages ENV ROS_DISTRO kinetic RUN apt-get update && apt-get install -y \ ros-kinetic-ros-core=1.3.1-0* \ && rm -rf /var/lib/apt/lists/* # install cv2 RUN apt-get update && apt-get install -y ros-kinetic-cv-bridge # setup entrypoint COPY ./ros_entrypoint.sh / # install editor and tools RUN apt-get install -y emacs RUN apt-get install -y tmux RUN apt-get install -y python-tk ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["bash"]
docker images: https://hub.docker.com/r/einstein25/pytorch-ros-gpu/
keras
Dockerfile
FROM nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04 RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ python-dev \ python-setuptools \ python-pip && \ rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* RUN pip install --upgrade pip RUN pip install matplotlib RUN pip install tensorflow-gpu keras # ros install # install packages RUN apt-get update && apt-get install -y --no-install-recommends \ dirmngr \ gnupg2 \ && rm -rf /var/lib/apt/lists/* # setup keys RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA116 # setup sources.list RUN echo "deb http://packages.ros.org/ros/ubuntu xenial main" > /etc/apt/sources.list.d/ros-latest.list # install bootstrap tools RUN apt-get update && apt-get install --no-install-recommends -y \ python-rosdep \ python-rosinstall \ python-vcstools \ && rm -rf /var/lib/apt/lists/* # setup environment ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 # bootstrap rosdep RUN rosdep init \ && rosdep update # install ros packages ENV ROS_DISTRO kinetic RUN apt-get update && apt-get install -y \ ros-kinetic-ros-core=1.3.1-0* \ && rm -rf /var/lib/apt/lists/* # install cv2 RUN apt-get update && apt-get install -y ros-kinetic-cv-bridge # setup entrypoint COPY ./ros_entrypoint.sh / # install editor and tools RUN apt-get install -y emacs RUN apt-get install -y tmux RUN apt-get install -y python-tk ENTRYPOINT ["/ros_entrypoint.sh"] CMD ["bash"]
docker images: https://hub.docker.com/r/einstein25/keras-ros-gpu/
動作確認
(container)# apt install wget (container)# wget https://raw.githubusercontent.com/fchollet/keras/master/examples/mnist_cnn.py (container)# python mnist_cnn.py