Unified API for machine learning
Project description
ML4Science
🌐 Homepage • 📖 Documentation • 🔗 API • ▶ Videos • Examples
ML4Science provides a unified math and neural network API for Jax, PyTorch, TensorFlow and NumPy.
See the installation Instructions on how to compile the optional custom CUDA operations.
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 on-the-fly, so you can even mix the different ecosystems.
Fewer mistakes
- No more data type troubles: ML4Science automatically converts data types where needed and lets you specify the FP precision globally or by context!
- No more reshaping troubles: ML4Science performs reshaping under-the-hood.
- 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.
Unique features
- n-dimensional operations: With ML4Science, you can write code that automatically works in 1D, 2D and 3D, choosing the corresponding operations based on the input dimensions.
- Preconditioned linear solves: ML4Science can build sparse matrices from your Python functions and run linear solvers with preconditioners.
- Flexible neural network architectures: ML4Science provides various configurable neural network architectures, from MLPs to U-Nets.
- Non-uniform tensors: ML4Science allows you to stack tensors of different sizes and keeps track of the resulting shapes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ml4s-1.0.0.tar.gz
(250.4 kB
view details)
File details
Details for the file ml4s-1.0.0.tar.gz
.
File metadata
- Download URL: ml4s-1.0.0.tar.gz
- Upload date:
- Size: 250.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e424c40d1886679206a32873991b569cfaee95e40f99de026a3218654958a12 |
|
MD5 | 1850d30cb952d06417439c86cb634a1f |
|
BLAKE2b-256 | 7d6cca5a49eb4d36a79282021deaaf4d12885476117b099a610620d8468a7271 |