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
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 |