Download ml-stable-diffusion/mlx/docs/src/usage/quick_start.rst from Fahad-S/FastVLM_SANA: direct link, hf CLI and curl.
- Browser
- Download file 1.81 kB
-
https://huggingface.co/Fahad-S/FastVLM_SANA/resolve/main/ml-stable-diffusion/mlx/docs/src/usage/quick_start.rst
- Command line
-
hf download hf://Fahad-S/FastVLM_SANA/ml-stable-diffusion/mlx/docs/src/usage/quick_start.rst
-
curl -L -o quick_start.rst https://huggingface.co/Fahad-S/FastVLM_SANA/resolve/main/ml-stable-diffusion/mlx/docs/src/usage/quick_start.rst
1.81 kB
| Quick Start Guide | |
| ================= | |
| Basics | |
| ------ | |
| .. currentmodule:: mlx.core | |
| Import ``mlx.core`` and make an :class:`array`: | |
| .. code-block:: python | |
| >> import mlx.core as mx | |
| >> a = mx.array([1, 2, 3, 4]) | |
| >> a.shape | |
| [4] | |
| >> a.dtype | |
| int32 | |
| >> b = mx.array([1.0, 2.0, 3.0, 4.0]) | |
| >> b.dtype | |
| float32 | |
| Operations in MLX are lazy. The outputs of MLX operations are not computed | |
| until they are needed. To force an array to be evaluated use | |
| Arrays will automatically be evaluated in a few cases. For | |
| example, inspecting a scalar with :meth:`array.item`, printing an array, | |
| or converting an array from :class:`array` to :class:`numpy.ndarray` all | |
| automatically evaluate the array. | |
| .. code-block:: python | |
| >> c = a + b # c not yet evaluated | |
| >> mx.eval(c) # evaluates c | |
| >> c = a + b | |
| >> print(c) # Also evaluates c | |
| array([2, 4, 6, 8], dtype=float32) | |
| >> c = a + b | |
| >> import numpy as np | |
| >> np.array(c) # Also evaluates c | |
| array([2., 4., 6., 8.], dtype=float32) | |
| See the page on :ref:`Lazy Evaluation <lazy eval>` for more details. | |
| Function and Graph Transformations | |
| ---------------------------------- | |
| MLX has standard function transformations like :func:`grad` and :func:`vmap`. | |
| Transformations can be composed arbitrarily. For example | |
| ``grad(vmap(grad(fn)))`` (or any other composition) is allowed. | |
| .. code-block:: python | |
| >> x = mx.array(0.0) | |
| >> mx.sin(x) | |
| array(0, dtype=float32) | |
| >> mx.grad(mx.sin)(x) | |
| array(1, dtype=float32) | |
| >> mx.grad(mx.grad(mx.sin))(x) | |
| array(-0, dtype=float32) | |
| Other gradient transformations include :func:`vjp` for vector-Jacobian products | |
| and :func:`jvp` for Jacobian-vector products. | |
| Use :func:`value_and_grad` to efficiently compute both a function's output and | |
| gradient with respect to the function's input. | |