Quantile regression neural networks (QRNNs) =========================================== An implementation of quantile regression neural networks (QRNNs) developed specifically for remote sensing applications providing a flexible interface for simple training and evaluation of QRNNs. Overview -------- The QRNN implementation consists of two-layers: - A high-level interface provided by the :py:class:`~typhon.retrieval.qrnn.QRNN` class - Backend-specific implementations of different neural network architectures to be used as models by the high-level implementation The QRNN class -------------- The :py:class:`~typhon.retrieval.qrnn.QRNN` class provides the high-level interface for QRNNs. This is all that is required to train a plain, fully-connected QRNN. The class itself implements generic functionality related to the evaluation of QRNNs and the post processing of results such as computing the PSD or the posterior mean. For the rest it acts as a wrapper around its model attribute, which encapsules all network- and DL-framework-specific code. Backends -------- Currently both `keras `_ and `pytorch `_ are supported as backends for neural networks. The QRNN implementation will automatically use the one that is available on your system. If both are available you can choose a specific backend using the :py:meth:`~typhon.retrieval.qrnn.set_backend` function. Neural network models --------------------- The :py:class:`typhon.retrieval.qrnn.QRNN` has designed to work with any generic regression neural network model. This aim of this was to make the implementation sufficiently flexible to allow special network architectures or customization of the training process. This gives the user the flexibility to design custom NN models in pytorch or Keras and use them with the ``QRNN`` class. Some predefined architectures are defined in the :py:mod:`typhon.retrieval.qrnn.models` submodule. API documentation ----------------- .. automodule:: typhon.retrieval.qrnn.qrnn .. currentmodule:: typhon.retrieval.qrnn.qrnn .. autosummary:: :toctree: generated QRNN .. automodule:: typhon.retrieval.qrnn.models.pytorch .. currentmodule:: typhon.retrieval.qrnn.models.pytorch .. autosummary:: :toctree: generated FullyConnected UNet .. automodule:: typhon.retrieval.qrnn.models.keras .. currentmodule:: typhon.retrieval.qrnn.models.keras .. autosummary:: :toctree: generated FullyConnected