• Stars
    star
    182
  • Rank 211,154 (Top 5 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created about 6 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This repository is an update to all previous repositories with implementations of various Quaternion-valued Neural Networks in PyTorch

PyTorch-Quaternion-Neural-Networks

This repository offers up-to-date PyTorch implementations of various quaternion neural networks (QNN), such as QRNNs, QLSTMs, QCNNs, or QCAEs. Core components are situated within the core_qnn package, and can be reused to create custom QNNs, based on easy to customize PyTorch modules like QuaternionLinear, QuaternionConv, or QuaternionTransposeConv.

Requirements

  1. A GPU with a running CUDA installation is preferable. Please be certain that CUDA is correctly configured if you plan to use GPUs.
  2. Install PyTorch and torchvision depending on your environment: PyTorch
  3. Install others needed packages:
pip install imageio numpy scipy    
  1. Finally, install our core_qnn package:
pip install .   

Usage

Please navigate through the exp directory. Different running examples are proposed based on published papers. If you use this code or part of it, please cite the following paper:

Titouan Parcollet, Mirco Ravanelli, Mohamed Morchid, Georges Linarès, Chiheb Trabelsi, Renato De Mori, Yoshua Bengio - "Quaternion Recurrent Neural Networks", OpenReview

@inproceedings{
parcollet2018quaternion,
title={Quaternion Recurrent Neural Networks},
author={Titouan Parcollet and Mirco Ravanelli and Mohamed Morchid and Georges Linarès and Chiheb Trabelsi and Renato De Mori and Yoshua Bengio},
booktitle={International Conference on Learning Representations},
year={2019},
url={https://openreview.net/forum?id=ByMHvs0cFQ},
}