ml4s


Nameml4s JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/tum-pbs/ML4Science
SummaryUnified API for machine learning
upload_time2023-08-10 15:50:30
maintainer
docs_urlNone
authorPhilipp Holl
requires_python
licenseMIT
keywords machine learning deep learning math linear systems sparse tensor named dimensions
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # ML4Science

[🌐 **Homepage**](https://github.com/tum-pbs/ML4Science)
  •   [📖 **Documentation**](https://tum-pbs.github.io/ML4Science/)
  •   [🔗 **API**](https://tum-pbs.github.io/ML4Science/ml4s)
  •   [**▶ Videos**]()
&nbsp; • &nbsp; [<img src="https://www.tensorflow.org/images/colab_logo_32px.png" height=16>](https://colab.research.google.com/github/tum-pbs/ML4Science/blob/main/docs/Examples.ipynb) [**Examples**](https://tum-pbs.github.io/ML4Science/Examples.html)

ML4Science provides a unified math and neural network API for Jax, PyTorch, TensorFlow and NumPy.

See the [installation Instructions](https://tum-pbs.github.io/ML4Science/Installation_Instructions.html) on how to compile the optional custom CUDA operations.

```python
from jax import numpy as jnp
import torch
import tensorflow as tf
import numpy as np

from ml4s import math

math.sin(1.)
math.sin(jnp.asarray([1.]))
math.sin(torch.tensor([1.]))
math.sin(tf.constant([1.]))
math.sin(np.asarray([1.]))
```



**Compatibility**

* Writing code that works with PyTorch, Jax, and TensorFlow makes it easier to share code with other people and collaborate.
* Your published research code will reach a broader audience.
* When you run into a bug / roadblock with one library, you can simply switch to another.
* ML4Science can efficiently [convert tensors between ML libraries](https://tum-pbs.github.io/ML4Science/Convert.html) on-the-fly, so you can even mix the different ecosystems.


**Fewer mistakes**

* *No more data type troubles*: ML4Science [automatically converts data types](https://tum-pbs.github.io/ML4Science/Data_Types.html) where needed and lets you specify the [FP precision globally or by context](https://tum-pbs.github.io/ML4Science/Data_Types.html#Precision)!
* *No more reshaping troubles*: ML4Science performs [reshaping under-the-hood.](https://tum-pbs.github.io/ML4Science/Shapes.html)
* *Is `neighbor_idx.at[jnp.reshape(idx, (-1,))].set(jnp.reshape(cell_idx, (-1,) + cell_idx.shape[-2:]))` correct?*: ML4Science provides a custom Tensor class that lets you write [easy-to-read, more concise, more explicit, less error-prone code](https://tum-pbs.github.io/ML4Science/Tensors.html).

**Unique features**

* **n-dimensional operations**: With ML4Science, you can write code that [automatically works in 1D, 2D and 3D](https://tum-pbs.github.io/ML4Science/N_Dimensional.html), choosing the corresponding operations based on the input dimensions.
* **Preconditioned linear solves**: ML4Science can [build sparse matrices from your Python functions](https://tum-pbs.github.io/ML4Science/Matrices.html) and run linear solvers [with preconditioners](https://tum-pbs.github.io/ML4Science/Linear_Solves.html).
* **Flexible neural network architectures**: [ML4Science provides various configurable neural network architectures, from MLPs to U-Nets.](https://tum-pbs.github.io/ML4Science/Networks.html)
* **Non-uniform tensors**: ML4Science allows you to [stack tensors of different sizes and keeps track of the resulting shapes](https://tum-pbs.github.io/ML4Science/Non_Uniform.html).
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/tum-pbs/ML4Science",
    "name": "ml4s",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "Machine Learning,Deep Learning,Math,Linear systems,Sparse,Tensor,Named dimensions",
    "author": "Philipp Holl",
    "author_email": "philipp.holl@tum.de",
    "download_url": "https://files.pythonhosted.org/packages/7d/6c/ca5a49eb4d36a79282021deaaf4d12885476117b099a610620d8468a7271/ml4s-1.0.0.tar.gz",
    "platform": null,
    "description": "# ML4Science\n\n[\ud83c\udf10 **Homepage**](https://github.com/tum-pbs/ML4Science)\n&nbsp; \u2022 &nbsp; [\ud83d\udcd6 **Documentation**](https://tum-pbs.github.io/ML4Science/)\n&nbsp; \u2022 &nbsp; [\ud83d\udd17 **API**](https://tum-pbs.github.io/ML4Science/ml4s)\n&nbsp; \u2022 &nbsp; [**\u25b6 Videos**]()\n&nbsp; \u2022 &nbsp; [<img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" height=16>](https://colab.research.google.com/github/tum-pbs/ML4Science/blob/main/docs/Examples.ipynb) [**Examples**](https://tum-pbs.github.io/ML4Science/Examples.html)\n\nML4Science provides a unified math and neural network API for Jax, PyTorch, TensorFlow and NumPy.\n\nSee the [installation Instructions](https://tum-pbs.github.io/ML4Science/Installation_Instructions.html) on how to compile the optional custom CUDA operations.\n\n```python\nfrom jax import numpy as jnp\nimport torch\nimport tensorflow as tf\nimport numpy as np\n\nfrom ml4s import math\n\nmath.sin(1.)\nmath.sin(jnp.asarray([1.]))\nmath.sin(torch.tensor([1.]))\nmath.sin(tf.constant([1.]))\nmath.sin(np.asarray([1.]))\n```\n\n\n\n**Compatibility**\n\n* Writing code that works with PyTorch, Jax, and TensorFlow makes it easier to share code with other people and collaborate.\n* Your published research code will reach a broader audience.\n* When you run into a bug / roadblock with one library, you can simply switch to another.\n* ML4Science can efficiently [convert tensors between ML libraries](https://tum-pbs.github.io/ML4Science/Convert.html) on-the-fly, so you can even mix the different ecosystems.\n\n\n**Fewer mistakes**\n\n* *No more data type troubles*: ML4Science [automatically converts data types](https://tum-pbs.github.io/ML4Science/Data_Types.html) where needed and lets you specify the [FP precision globally or by context](https://tum-pbs.github.io/ML4Science/Data_Types.html#Precision)!\n* *No more reshaping troubles*: ML4Science performs [reshaping under-the-hood.](https://tum-pbs.github.io/ML4Science/Shapes.html)\n* *Is `neighbor_idx.at[jnp.reshape(idx, (-1,))].set(jnp.reshape(cell_idx, (-1,) + cell_idx.shape[-2:]))` correct?*: ML4Science provides a custom Tensor class that lets you write [easy-to-read, more concise, more explicit, less error-prone code](https://tum-pbs.github.io/ML4Science/Tensors.html).\n\n**Unique features**\n\n* **n-dimensional operations**: With ML4Science, you can write code that [automatically works in 1D, 2D and 3D](https://tum-pbs.github.io/ML4Science/N_Dimensional.html), choosing the corresponding operations based on the input dimensions.\n* **Preconditioned linear solves**: ML4Science can [build sparse matrices from your Python functions](https://tum-pbs.github.io/ML4Science/Matrices.html) and run linear solvers [with preconditioners](https://tum-pbs.github.io/ML4Science/Linear_Solves.html).\n* **Flexible neural network architectures**: [ML4Science provides various configurable neural network architectures, from MLPs to U-Nets.](https://tum-pbs.github.io/ML4Science/Networks.html)\n* **Non-uniform tensors**: ML4Science allows you to [stack tensors of different sizes and keeps track of the resulting shapes](https://tum-pbs.github.io/ML4Science/Non_Uniform.html).",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Unified API for machine learning",
    "version": "1.0.0",
    "project_urls": {
        "Download": "https://github.com/tum-pbs/ML4Science/archive/1.0.0.tar.gz",
        "Homepage": "https://github.com/tum-pbs/ML4Science"
    },
    "split_keywords": [
        "machine learning",
        "deep learning",
        "math",
        "linear systems",
        "sparse",
        "tensor",
        "named dimensions"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7d6cca5a49eb4d36a79282021deaaf4d12885476117b099a610620d8468a7271",
                "md5": "1850d30cb952d06417439c86cb634a1f",
                "sha256": "7e424c40d1886679206a32873991b569cfaee95e40f99de026a3218654958a12"
            },
            "downloads": -1,
            "filename": "ml4s-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1850d30cb952d06417439c86cb634a1f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 250424,
            "upload_time": "2023-08-10T15:50:30",
            "upload_time_iso_8601": "2023-08-10T15:50:30.378570Z",
            "url": "https://files.pythonhosted.org/packages/7d/6c/ca5a49eb4d36a79282021deaaf4d12885476117b099a610620d8468a7271/ml4s-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-10 15:50:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tum-pbs",
    "github_project": "ML4Science",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "ml4s"
}
        
Elapsed time: 0.23813s