Created
November 21, 2016 14:31
-
-
Save kepricon/7539e9a07c50fac9a3c7c4d9381431ac to your computer and use it in GitHub Desktop.
DockerFile for dl4j snapshot on ubuntu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM ubuntu:14.04 | |
MAINTAINER DH Skymind.io daehyun@skymind.io | |
# install first necessary things and java8 | |
RUN apt-get update && \ | |
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \ | |
apt-get install -y make g++ wget tar software-properties-common && \ | |
add-apt-repository -y ppa:webupd8team/java && \ | |
apt-get update && \ | |
apt-get install -y oracle-java8-installer && \ | |
rm -rf /var/lib/apt/lists/* && \ | |
rm -rf /var/cache/oracle-jdk8-installer | |
# set java_home | |
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle | |
RUN mkdir downloads | |
# install prerequisites for building dl4j snapshot: | |
RUN apt-get update && \ | |
apt-get install -y build-essential git libopenblas-dev libatlas-base-dev libatlas-dev && \ | |
add-apt-repository ppa:ubuntu-toolchain-r/test && \ | |
apt-get update && \ | |
apt-get install -y gcc-4.9 g++-4.9 cpp-4.9 | |
# set gcc 4.9 | |
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 --slave /usr/bin/cpp cpp-bin /usr/bin/cpp-4.9 && \ | |
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 --slave /usr/bin/cpp cpp-bin /usr/bin/cpp-4.8 | |
# install cmake and maven | |
WORKDIR /downloads | |
RUN wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz && \ | |
tar -xzf cmake-3.6.2.tar.gz | |
RUN wget http://apache.tt.co.kr/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz && \ | |
tar -xzf apache-maven-3.3.9-bin.tar.gz | |
WORKDIR /downloads/cmake-3.6.2 | |
RUN ./bootstrap && \ | |
make && \ | |
make install | |
ENV PATH /downloads/apache-maven-3.3.9/bin:$PATH | |
RUN mkdir /git | |
WORKDIR /git | |
RUN git clone https://github.com/bytedeco/javacpp | |
ENV LD_LIBRARY_PATH /usr/lib/:/usr/lib/gcc/x86_64-linux-gnu/4.9 | |
RUN ldconfig | |
RUN git clone https://github.com/deeplearning4j/libnd4j.git | |
RUN git clone https://github.com/deeplearning4j/nd4j.git | |
RUN git clone https://github.com/deeplearning4j/datavec.git | |
RUN git clone https://github.com/deeplearning4j/deeplearning4j.git | |
RUN git clone https://github.com/deeplearning4j/Arbiter | |
RUN cd /git/javacpp && mvn clean install -DskipTests | |
RUN cd /git/libnd4j && ./buildnativeoperations.sh | |
ENV LIBND4J_HOME /git/libnd4j | |
#RUN cd /git/nd4j && mvn clean install -DskipTests -Dmaven.javadoc.skip=true -pl '!:nd4j-cuda-8.0,!:nd4j-cuda-8.0-platform,!:nd4j-tests' | |
RUN cd /git/nd4j && ./buildmultiplescalaversions.sh clean install -DskipTests -pl '!:nd4j-cuda-8.0,!:nd4j-cuda-8.0-platform,!:nd4j-tests' | |
RUN cd /git/datavec && ./buildmultiplescalaversions.sh clean install -DskipTests -Dmaven.javadoc.skip=true | |
RUN cd /git/deeplearning4j && mvn clean install -DskipTests -Dmaven.javadoc.skip=true -pl '!:deeplearning4j-cuda-8.0' | |
RUN cd /git/Arbiter && ./buildmultiplescalaversions.sh clean install -DskipTests | |
WORKDIR / | |
CMD ["bash"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment