Skip to main content

Toolbox for Deep Learning and Topological Data Analysis.

Project description

image

Python package Deploy to gh-pages Upload Python Package DOI

giotto-deep

The first library to bring seamless integration between topological data analysis and deep learning on top of PyTorch. The code for Persformer will be released open-source soon together with Giotto-deep. It aims to make the day-to-day of researchers easy, allowing them to focus on inventing new models and layers rather than dealing with the more standard deep-learning code. It comes with optimized implementations for multi-GPU/TPU computations and the ability to run benchmarks and hyperparameter optimization in a few lines of code.

Documentation

You can find the documentation of this repository here: https://giotto-ai.github.io/giotto-deep/

Run tensorboard for visualization

In order to analyse the results of your models, you need to start tensorboard. On the terminal, move inside the /examples folder. There, run the following command:

tensorboard --logdir=runs

Afterwards go here and, after running the notebooks of interest, you will see all the visualization results that you stored in the writer = SummaryWriter().

Install user version

The simplest way to install giotto-deep is using pip:

python -m pip install -U giotto-deep

If necessary, this command will also automatically install all the library dependencies. Note: we recommend upgrading pip to a recent version as the above may fail on very old versions.

Install dev version

The first step to install the developer version of the package is to git clone this repository:

git clone https://github.com/giotto-ai/giotto-deep.git

The change the current working directory to the Repository root folder, e.g. cd giotto-deep. It is best practice to create a virtual environment for the project, e.g. using virtualenv:

virtualenv -p python3.9 venv

Activate the virtual environment (e.g. source venv/bin/activate on Linux or venv\Scripts\activate on Windows).

First make sure you have upgraded to the last version of pip with

python -m pip install --upgrade pip

Make sure you have the latest version of pytorch installed. You can do this by running the following command (if you have a GPU):

pip install torch --extra-index-url https://download.pytorch.org/whl/cu113

Once you are in the root folder, install the package dynamically with:

pip install -e .

Contributing

The giotto-deep project welcomes contributions of all kinds. Please see our contributing guidelines for more information.

We are using pre-commit hooks to ensure that the code is formatted correctly. To install the pre-commit hooks, run the following command from the root folder:

pre-commit install

The pre-commit hooks will run automatically before each commit. If you want to run the pre-commit hooks manually, run the following command from the root folder:

pre-commit run --all-files

To run both unit and integration tests on macOS or Linux, simply run the following command from the root folder:

bash local_test.bh

TPU support in Google Colab

I order to run your analysis on TPU cores, you ca use the following lines:

!git clone https://username:token@github.com/giotto-ai/giotto-deep
!ls
!pip uninstall -y tensorflow
!pip install -e giotto-deep/
!pip install cloud-tpu-client==0.10 https://storage.googleapis.com/tpu-pytorch/wheels/torch_xla-1.9-cp37-cp37m-linux_x86_64.whl

Once you have run the lines above, please make sure to restart the runtime.

The code will automatically detect the TPU core and use it as default to run the experiments. GPUs are also automatically supported.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

giotto-deep-0.0.4.tar.gz (125.3 kB view details)

Uploaded Source

Built Distribution

giotto_deep-0.0.4-py3-none-any.whl (168.5 kB view details)

Uploaded Python 3

File details

Details for the file giotto-deep-0.0.4.tar.gz.

File metadata

  • Download URL: giotto-deep-0.0.4.tar.gz
  • Upload date:
  • Size: 125.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for giotto-deep-0.0.4.tar.gz
Algorithm Hash digest
SHA256 5f9e39a4dac8d751260b11554162975abf86de70de4d431ee80c3ac65c88bbb2
MD5 fd5c15be6b376d603933fb1ab0ea35ca
BLAKE2b-256 1a501489d192ebae29f90084a7085929a3e56ce618d41c506d187292554bfaef

See more details on using hashes here.

File details

Details for the file giotto_deep-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: giotto_deep-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 168.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for giotto_deep-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 43707f842813e5258fa536dd1fe6ad77a4a6975a5b037d9fa476d73a9320dc5d
MD5 a26f4af1c27e9969a1953d192128a524
BLAKE2b-256 b2cacb1024a272d70e7ebbc3e0124c0bdb591967faddc8f4dae5b94f63a3cbb2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page