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:
Awni Hannun 2024-07-29 11:44:06 -07:00 committed by GitHub
parent 6e06e3a904
commit aa1d6cadad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 36 additions and 18 deletions

View File

@ -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}
""",
}

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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");

View File

@ -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},