Skip to content

praksharma/DeepINN

Repository files navigation

DeepINN

DeepINN CI docker_container Codacy BadgeTravis (.org) branch Documentation Status License

DeepINN is a deep-learning framework for solving forward and inverse problem involving PDEs using physics-informed neural networks (PINNs).

Contribution

Create a venv in the root of the repo. Here the assumption is that the python is symlink to python3.

python -m venv .venv

Activate the environment.

source .venv/bin/activate

Confirm that the Python path is updated.

which python

The STDOUT should point to the .venv directory. Now, upgrade the pip.

python -m pip install --upgrade pip

Install the required packages.

pip install -r requirements.txt

If you want to build the docs using the same environment, then install the relevant dependencies.

pip install -r docs/requirements.txt

Testing

The testing is very simple. Just run the test.py file in the current Python virtual environment.

python test.py

Docker image

Pull the image with suitable tagname. The image is available here.

docker pull prakhars962/deepinn:tagname

CPU Only

The image opens a jupyter server by default.

docker run -p 8888:8888 prakhars962/deepinn:pre-release

You can override the jupyter server entrypoint using the following command.

docker run -it --entrypoint /bin/bash prakhars962/deepinn:pre-release

GPU passthrough

First install nvidia-docker using this guide.

Now run the container with nvidia-docker.

nvidia-docker run -it --entrypoint /bin/bash prakhars962/deepinn:pre-release

This command will bind the pwd to /workspace/tutorials and open a jupyter-lab with GPU support.

nvidia-docker run -v $(pwd):/workspace/tutorials -p 8888:8888  prakhars962/deepinn:pre-release

Alternatively, one can run interactive session.

nvidia-docker run -v $(pwd):/workspace/tutorials -it --entrypoint /bin/bash  prakhars962/deepinn:pre-release

Tagless copy

Each time you pull the updated image, docker will create a tagless copy of the old one.

╰─ docker images                              
REPOSITORY            TAG           IMAGE ID       CREATED             SIZE
prakhars962/deepinn   pre-release   886808706155   4 minutes ago       6.99GB
prakhars962/deepinn   <none>        0bb744f6159e   38 minutes ago      6.99GB
prakhars962/deepinn   <none>        4ffbb67f8447   About an hour ago   6.8GB
prakhars962/deepinn   <none>        fe16ca34f9d9   About an hour ago   6.8GB

The only solution is to delete them one by one using the IMAGE_ID.

docker image rm -f IMAGE_ID

UML diagram

The UML diagram is generated using pyreverse. This provides an overview of the codebase.

cd UML\ diagrams
pyreverse -o pdf ../DeepINN/