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.
98 lines
3.1 KiB
98 lines
3.1 KiB
FROM movesrwth/storm-basesystem:ubuntu-22.04 as build
|
|
|
|
COPY ./tempest-devel /opt/tempest
|
|
|
|
RUN apt-get update
|
|
RUN apt-get install -y python3.10
|
|
|
|
# Specify number of threads to use for parallel compilation
|
|
# This number can be set from the commandline with:
|
|
# --build-arg no_threads=<value>
|
|
ARG no_threads=2
|
|
|
|
# Build carl
|
|
COPY ./carl /opt/carl
|
|
RUN mkdir -p /opt/carl/build
|
|
WORKDIR /opt/carl/build
|
|
RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON
|
|
RUN make lib_carl -j $no_threads
|
|
|
|
# Build tempest
|
|
RUN mkdir -p /opt/tempest/build
|
|
WORKDIR /opt/tempest/build
|
|
RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DSTORM_DEVELOPER=OFF -DSTORM_LOG_DISABLE_DEBUG=ON -DSTORM_PORTABLE=OFF -DSTORM_USE_SPOT_SHIPPED=ON
|
|
RUN make resources storm binaries -j $no_threads
|
|
|
|
# Manage python packages
|
|
WORKDIR /opt/
|
|
RUN apt-get update --fix-missing
|
|
RUN apt-get install -y python3-venv
|
|
|
|
# Python env handling
|
|
ENV MINIGRID_VIRTUAL_ENV=/opt/venv_minigrid
|
|
RUN python3 -m venv $MINIGRID_VIRTUAL_ENV
|
|
|
|
|
|
# build pycarl
|
|
COPY ./pycarl-2.0.4 /opt/pycarl
|
|
WORKDIR /opt/pycarl
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/python setup.py build_ext -j $no_threads
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install .
|
|
|
|
# build tempestpy
|
|
COPY ./tempest-py /opt/tempestpy
|
|
WORKDIR /opt/tempestpy
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install scipy==1.13.1
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/python setup.py build_ext --storm-dir /opt/tempest/ -j $no_threads develop
|
|
|
|
# build yaml-cpp
|
|
COPY ./yaml-cpp /opt/yaml-cpp
|
|
RUN mkdir -p /opt/yaml-cpp/build
|
|
WORKDIR /opt/yaml-cpp/build
|
|
RUN cmake .. -DCMAKE_BUILD_TYPE=Release
|
|
RUN make -j $no_threads
|
|
RUN make install -j $no_threads
|
|
|
|
COPY ./Minigrid2PRISM /opt/Minigrid2PRISM
|
|
|
|
# build Minigrid2PRISM
|
|
RUN mkdir -p /opt/Minigrid2PRISM/build
|
|
WORKDIR /opt/Minigrid2PRISM/build
|
|
RUN cmake ..
|
|
RUN make -j $no_threads
|
|
|
|
# install minigrid
|
|
COPY ./Minigrid /opt/Minigrid
|
|
WORKDIR /opt/Minigrid
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install .
|
|
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install dm-tree
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install opencv-python
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install scikit-image
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install torch
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install tensorboard
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install tensorboardX
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install tensorflow
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install jupyterlab
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install astar
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install ipywidgets
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install matplotlib
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install sb3-contrib
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install opencv-python
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install moviepy
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install numpy==1.24.4
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install gymnasium==0.29.0
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install pydot==3.0.4
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install networkx
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install loguru
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install pandas
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install colour
|
|
RUN $MINIGRID_VIRTUAL_ENV/bin/pip install graphviz
|
|
|
|
|
|
ENV M2P_BINARY=/opt/Minigrid2PRISM/build/main
|
|
|
|
|
|
WORKDIR /opt
|
|
|
|
ENTRYPOINT ["/bin/bash"]
|