You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
4.0 KiB

FROM nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04
WORKDIR /root
RUN apt-get update
# caffe
# from https://github.com/BVLC/caffe/blob/master/docker/cpu/Dockerfile
RUN apt-get install -y --no-install-recommends \
build-essential \
cmake \
git \
wget \
curl \
libatlas-base-dev \
libboost-all-dev \
libgflags-dev \
libgoogle-glog-dev \
libhdf5-serial-dev \
libleveldb-dev \
liblmdb-dev \
libopencv-dev \
libprotobuf-dev \
libsnappy-dev \
protobuf-compiler \
python-dev \
python-numpy \
python-pip \
python-setuptools \
python-scipy
ENV CAFFE_ROOT=/opt/caffe
RUN mkdir -p $CAFFE_ROOT && \
cd $CAFFE_ROOT && \
git clone https://github.com/s9xie/hed . && \
git checkout 9e74dd710773d8d8a469ad905c76f4a7fa08f945 && \
pip install --upgrade pip && \
cd python && for req in $(cat requirements.txt) pydot; do pip install $req; done && cd .. && \
# https://github.com/s9xie/hed/pull/23
sed -i "s|add_subdirectory(examples)||g" CMakeLists.txt && \
# https://github.com/s9xie/hed/issues/11
sed -i "647s|//||" include/caffe/loss_layers.hpp && \
sed -i "648s|//||" include/caffe/loss_layers.hpp && \
mkdir build && cd build && \
cmake -DCPU_ONLY=1 .. && \
make -j"$(nproc)"
ENV PYCAFFE_ROOT $CAFFE_ROOT/python
ENV PYTHONPATH $PYCAFFE_ROOT:$PYTHONPATH
ENV PATH $CAFFE_ROOT/build/tools:$PYCAFFE_ROOT:$PATH
RUN echo "$CAFFE_ROOT/build/lib" >> /etc/ld.so.conf.d/caffe.conf && ldconfig
RUN cd $CAFFE_ROOT && curl -O http://vcl.ucsd.edu/hed/hed_pretrained_bsds.caffemodel
# octave
RUN apt-get install -y --no-install-recommends octave liboctave-dev && \
octave --eval "pkg install -forge image" && \
echo "pkg load image;" >> /root/.octaverc
RUN apt-get install -y --no-install-recommends unzip && \
curl -O https://pdollar.github.io/toolbox/archive/piotr_toolbox.zip && \
unzip piotr_toolbox.zip && \
octave --eval "addpath(genpath('/root/toolbox')); savepath;" && \
echo "#include <stdlib.h>" > wrappers.hpp && \
cat /root/toolbox/channels/private/wrappers.hpp >> wrappers.hpp && \
mv wrappers.hpp /root/toolbox/channels/private/wrappers.hpp && \
mkdir /root/mex && \
cd /root/toolbox/channels/private && \
mkoctfile --mex -DMATLAB_MEX_FILE -o /root/mex/convConst.mex convConst.cpp && \
mkoctfile --mex -DMATLAB_MEX_FILE -o /root/mex/gradientMex.mex gradientMex.cpp && \
mkoctfile --mex -DMATLAB_MEX_FILE -o /root/mex/imPadMex.mex imPadMex.cpp && \
mkoctfile --mex -DMATLAB_MEX_FILE -o /root/mex/imResampleMex.mex imResampleMex.cpp && \
mkoctfile --mex -DMATLAB_MEX_FILE -o /root/mex/rgbConvertMex.mex rgbConvertMex.cpp && \
octave --eval "addpath('/root/mex'); savepath;"
RUN curl -O https://raw.githubusercontent.com/pdollar/edges/master/private/edgesNmsMex.cpp && \
octave --eval "mex edgesNmsMex.cpp" && \
mv edgesNmsMex.mex /root/mex/
# from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/docker/Dockerfile.gpu
RUN apt-get install -y --no-install-recommends \
build-essential \
libfreetype6-dev \
libpng12-dev \
libzmq3-dev \
pkg-config \
python \
python-dev \
rsync \
software-properties-common \
unzip
# gpu tracing in tensorflow
ENV LD_LIBRARY_PATH /usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
RUN pip install \
appdirs==1.4.0 \
funcsigs==1.0.2 \
google-api-python-client==1.6.2 \
google-auth==0.7.0 \
google-auth-httplib2==0.0.2 \
google-cloud-core==0.22.1 \
google-cloud-storage==0.22.0 \
googleapis-common-protos==1.5.2 \
httplib2==0.10.3 \
mock==2.0.0 \
numpy==1.12.0 \
oauth2client==4.0.0 \
packaging==16.8 \
pbr==1.10.0 \
protobuf==3.2.0 \
pyasn1==0.2.2 \
pyasn1-modules==0.0.8 \
pyparsing==2.1.10 \
rsa==3.4.2 \
six==1.10.0 \
uritemplate==3.0.0 \
tensorflow-gpu==1.4.1