Skip to content

Commit 9e9fd76

Browse files
committed
Update the documentation structure
1 parent 341727c commit 9e9fd76

File tree

118 files changed

+1460
-672
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+1460
-672
lines changed

doc/dev_start_guide.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ This is a good way to make sure that proposed changes will be accepted.
1616
Resources
1717
=========
1818

19-
See :ref:`aesara-community` for a list of Aesara resources.
20-
2119
The Theano Google group is also relevant to (early) Aesara versions:
2220
`theano-dev`_.
2321

@@ -76,9 +74,6 @@ Documentation and docstrings
7674
syntax. ``:py`` can be omitted, see e.g. this
7775
`stackoverflow answer <http://stackoverflow.com/a/7754189>`_.
7876

79-
* See :ref:`metadocumentation`, for some information on how to generate the
80-
documentation.
81-
8277

8378
A Docstring Example
8479
~~~~~~~~~~~~~~~~~~~
File renamed without changes.

doc/extend/backend/index.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.. _extend_backend:
2+
3+
Extend a backend
4+
================
5+
6+
.. toctree::
7+
:maxdepth: 1
8+
9+
creating_a_c_op
10+
creating_a_numba_jax_op
11+
ctype
Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1+
.. _extend:
12

2-
.. _extending:
3-
4-
================
5-
Extending Aesara
6-
================
3+
Extend Aesara
4+
=============
75

86
This advanced tutorial is for users who want to extend Aesara with new :class:`Type`\s,
97
new operations (i.e. :class:`Op`\s), and new graph rewrites. This first page of the
@@ -19,32 +17,9 @@ Along the way, this tutorial also introduces many aspects of how Aesara works,
1917
so it is also good for you if you are interested in getting more under the hood
2018
with Aesara itself.
2119

22-
.. note::
23-
24-
Before tackling this more advanced presentation, it is highly recommended
25-
to read the introductory :ref:`Tutorial<tutorial>`, especially the sections
26-
that introduce the Aesara graphs, as providing a novel Aesara :class:`Op` requires a
27-
basic understanting of the Aesara graphs.
28-
29-
See also the :ref:`dev_start_guide` for information regarding the
30-
versioning framework, namely about Git and GitHub, regarding the
31-
development workflow and how to make a quality contribution.
32-
3320
.. toctree::
21+
:caption: Extend Aesara
3422

35-
graphstructures
36-
graph_rewriting
37-
op
38-
creating_an_op
39-
creating_a_c_op
40-
creating_a_numba_jax_op
41-
pipeline
42-
type
43-
ctype
44-
inplace
45-
scan
46-
other_ops
47-
using_params
48-
unittest
49-
extending_faq
50-
tips
23+
op/index
24+
rewrite
25+
backend/index
File renamed without changes.
File renamed without changes.
File renamed without changes.

doc/extending/creating_an_op.rst renamed to doc/extend/op/creating_an_op.rst

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
.. _creating_an_op:
32

43
Creating a new :class:`Op`: Python implementation
@@ -734,9 +733,6 @@ already do this for you. If you implement your own :meth:`setUp` method,
734733
don't forget to call the parent :meth:`setUp` method.
735734

736735

737-
:download:`Solution<extending_aesara_solution_1.py>`
738-
739-
740736
:func:`as_op`
741737
---------------------
742738

@@ -842,7 +838,7 @@ Final Note
842838
----------
843839

844840
A more extensive discussion of this section's content may be found in
845-
the advanced tutorial :ref:`Extending Aesara<extending>`.
841+
the advanced tutorial :ref:`Extending Aesara<extend>`.
846842

847843
The section :ref:`Other Ops <other_ops>` includes more instructions for
848844
the following specific cases:
Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
1-
====
2-
Tips
3-
====
1+
.. _extend_op:
42

5-
6-
..
7-
Reusing outputs
8-
===============
9-
10-
.. todo:: Write this.
3+
Add a new Op
4+
============
115

126

137
Don't define new :class:`Op`\s unless you have to
14-
=================================================
8+
-------------------------------------------------
159

1610
It is usually not useful to define :class:`Op`\s that can be easily
1711
implemented using other already existing :class:`Op`\s. For example, instead of
@@ -33,23 +27,16 @@ contiguous vectors/matrices of doubles...
3327

3428

3529
Use Aesara's high order :class:`Op`\s when applicable
36-
=====================================================
30+
-----------------------------------------------------
3731

3832
Aesara provides some generic :class:`Op` classes which allow you to generate a
3933
lot of :class:`Op`\s at a lesser effort. For instance, :class:`Elemwise` can be used to
4034
make :term:`elemwise` operations easily, whereas :class:`DimShuffle` can be
4135
used to make transpose-like transformations. These higher order :class:`Op`\s
4236
are mostly tensor-related, as this is Aesara's specialty.
4337

38+
.. toctree::
39+
:maxdepth: 1
4440

45-
..
46-
.. _opchecklist:
47-
48-
:class:`Op` Checklist
49-
=====================
50-
51-
Use this list to make sure you haven't forgotten anything when
52-
defining a new :class:`Op`. It might not be exhaustive but it covers a lot of
53-
common mistakes.
54-
55-
.. todo:: Write a list.
41+
creating_an_op
42+
inplace
File renamed without changes.

doc/extend/rewrite.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
=================
2+
Add a new rewrite
3+
=================

doc/extending/extending_aesara_solution_1.py

Lines changed: 0 additions & 219 deletions
This file was deleted.

0 commit comments

Comments
 (0)