mirror of
https://github.com/ml-explore/mlx.git
synced 2025-06-24 09:21:16 +08:00
Fix docs latex build and nits (#1297)
* fix docs latex build and nits * fix stub gen and try to clean up building
This commit is contained in:
parent
6e06e3a904
commit
aa1d6cadad
@ -83,3 +83,15 @@ def setup(app):
|
|||||||
# -- Options for LaTeX output ------------------------------------------------
|
# -- Options for LaTeX output ------------------------------------------------
|
||||||
|
|
||||||
latex_documents = [(main_doc, "MLX.tex", "MLX Documentation", author, "manual")]
|
latex_documents = [(main_doc, "MLX.tex", "MLX Documentation", author, "manual")]
|
||||||
|
latex_elements = {
|
||||||
|
"preamble": r"""
|
||||||
|
\usepackage{enumitem}
|
||||||
|
\setlistdepth{5}
|
||||||
|
\setlist[itemize,1]{label=$\bullet$}
|
||||||
|
\setlist[itemize,2]{label=$\bullet$}
|
||||||
|
\setlist[itemize,3]{label=$\bullet$}
|
||||||
|
\setlist[itemize,4]{label=$\bullet$}
|
||||||
|
\setlist[itemize,5]{label=$\bullet$}
|
||||||
|
\renewlist{itemize}{itemize}{5}
|
||||||
|
""",
|
||||||
|
}
|
||||||
|
@ -15,7 +15,7 @@ module to concisely define the model architecture.
|
|||||||
Attention layer
|
Attention layer
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
We will start with the llama attention layer which notably uses the RoPE
|
We will start with the Llama attention layer which notably uses the RoPE
|
||||||
positional encoding. [1]_ In addition, our attention layer will optionally use a
|
positional encoding. [1]_ In addition, our attention layer will optionally use a
|
||||||
key/value cache that will be concatenated with the provided keys and values to
|
key/value cache that will be concatenated with the provided keys and values to
|
||||||
support efficient inference.
|
support efficient inference.
|
||||||
|
@ -64,7 +64,7 @@ set:
|
|||||||
Next, setup the problem parameters and load the data. To load the data, you need our
|
Next, setup the problem parameters and load the data. To load the data, you need our
|
||||||
`mnist data loader
|
`mnist data loader
|
||||||
<https://github.com/ml-explore/mlx-examples/blob/main/mnist/mnist.py>`_, which
|
<https://github.com/ml-explore/mlx-examples/blob/main/mnist/mnist.py>`_, which
|
||||||
we will import as `mnist`.
|
we will import as ``mnist``.
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
|
@ -70,36 +70,36 @@ To build and install the MLX python library from source, first, clone MLX from
|
|||||||
|
|
||||||
git clone git@github.com:ml-explore/mlx.git mlx && cd mlx
|
git clone git@github.com:ml-explore/mlx.git mlx && cd mlx
|
||||||
|
|
||||||
Install `nanobind <https://nanobind.readthedocs.io/en/latest/>`_ with:
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
|
|
||||||
pip install git+https://github.com/wjakob/nanobind.git@2f04eac452a6d9142dedb957701bdb20125561e4
|
|
||||||
|
|
||||||
Then simply build and install MLX using pip:
|
Then simply build and install MLX using pip:
|
||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
env CMAKE_BUILD_PARALLEL_LEVEL="" pip install .
|
CMAKE_BUILD_PARALLEL_LEVEL="" pip install .
|
||||||
|
|
||||||
For developing use an editable install:
|
For developing, install the package with development dependencies, and use an
|
||||||
|
editable install:
|
||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
env CMAKE_BUILD_PARALLEL_LEVEL="" pip install -e .
|
CMAKE_BUILD_PARALLEL_LEVEL="" pip install -e ".[dev]"
|
||||||
|
|
||||||
To make sure the install is working run the tests with:
|
Once the development dependencies are installed, you can build faster with:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
CMAKE_BUILD_PARALLEL_LEVEL="" python setup.py build_ext -j --inplace
|
||||||
|
|
||||||
|
Run the tests with:
|
||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
pip install ".[testing]"
|
|
||||||
python -m unittest discover python/tests
|
python -m unittest discover python/tests
|
||||||
|
|
||||||
Optional: Install stubs to enable auto completions and type checking from your IDE:
|
Optional: Install stubs to enable auto completions and type checking from your
|
||||||
|
IDE:
|
||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
pip install ".[dev]"
|
|
||||||
python setup.py generate_stubs
|
python setup.py generate_stubs
|
||||||
|
|
||||||
C++ API
|
C++ API
|
||||||
|
@ -162,7 +162,7 @@ void init_array(nb::module_& m) {
|
|||||||
|
|
||||||
* :attr:`~mlx.core.complexfloating`
|
* :attr:`~mlx.core.complexfloating`
|
||||||
|
|
||||||
* :ref:`complex128 <data_types>`
|
* :ref:`complex64 <data_types>`
|
||||||
|
|
||||||
See also :func:`~mlx.core.issubdtype`.
|
See also :func:`~mlx.core.issubdtype`.
|
||||||
)pbdoc");
|
)pbdoc");
|
||||||
|
10
setup.py
10
setup.py
@ -175,8 +175,14 @@ if __name__ == "__main__":
|
|||||||
package_data=package_data,
|
package_data=package_data,
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
extras_require={
|
extras_require={
|
||||||
"testing": ["numpy", "torch"],
|
"dev": [
|
||||||
"dev": ["pre-commit"],
|
"nanobind@git+https://github.com/wjakob/nanobind.git@2f04eac452a6d9142dedb957701bdb20125561e4",
|
||||||
|
"numpy",
|
||||||
|
"pre-commit",
|
||||||
|
"setuptools>=42",
|
||||||
|
"torch",
|
||||||
|
"typing_extensions",
|
||||||
|
],
|
||||||
},
|
},
|
||||||
ext_modules=[CMakeExtension("mlx.core")],
|
ext_modules=[CMakeExtension("mlx.core")],
|
||||||
cmdclass={"build_ext": CMakeBuild, "generate_stubs": GenerateStubs},
|
cmdclass={"build_ext": CMakeBuild, "generate_stubs": GenerateStubs},
|
||||||
|
Loading…
Reference in New Issue
Block a user