Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a41fffa
Add first pass at language reference from old branch
jroesch Sep 21, 2018
5c7fa5e
Add docs for Python API from previous branch.
jroesch Sep 21, 2018
4bf81e4
Link to docs from index.rst
jroesch Sep 21, 2018
3eb6330
Add tutorial on FMA
jroesch Sep 21, 2018
28ac7b5
First clean up pass after restoring
jroesch Sep 21, 2018
f98d793
Hold tutorial for future PR
jroesch Oct 15, 2018
c605415
Pass one of addressing feedback
jroesch Oct 17, 2018
490b42d
Address a few more typos
jroesch Oct 17, 2018
7809a52
More refactoring
jroesch Oct 18, 2018
980876a
More work on type system section
jroesch Oct 18, 2018
d2307e3
Fix missing article
jroesch Oct 18, 2018
91ccd3b
A couple more types
jroesch Oct 18, 2018
d2639e3
More feedback
jroesch Oct 19, 2018
197ce7b
Address a few more comments
jroesch Oct 19, 2018
75629af
Grammatical edits to expressions.rst
slyubomirsky Oct 20, 2018
cfb92ad
Grammatical tweaks to index.rst
slyubomirsky Oct 20, 2018
c3f7656
Stylistic and grammar edits to intro.rst
slyubomirsky Oct 20, 2018
1e5a9a5
Smaller tweaks to intro.rst
slyubomirsky Oct 20, 2018
49d453a
Grammar and style changes in type_system.rst
slyubomirsky Oct 20, 2018
402750f
Remove language reference
jroesch Dec 1, 2018
a35f797
Fix base
jroesch Dec 1, 2018
9569d31
Add files for all the Relay models
jroesch Dec 1, 2018
fbd8a47
Expose operators and fix some cross-refs
jroesch Dec 1, 2018
9622dc9
Add backend and frontend docs
jroesch Dec 1, 2018
a0ce6ae
Ensure headings are right length
jroesch Dec 1, 2018
f1c896c
Export everything op.rst aswell
jroesch Dec 1, 2018
45825f9
Tweak backend docs
jroesch Dec 1, 2018
cebbaa7
Clean up whitespace
jroesch Dec 1, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/api/python/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ Python API
vta/index
nnvm/index
hybrid
relay/index
16 changes: 16 additions & 0 deletions docs/api/python/relay/backend.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
tvm.relay.backend
-----------------

.. automodule:: tvm.relay.backend

Interpreter
-----------

.. automodule:: tvm.relay.backend.interpreter
:members:

.. automodule:: tvm.relay.backend.compile_engine
:members:

.. automodule:: tvm.relay.backend.graph_runtime_codegen
:members:
16 changes: 16 additions & 0 deletions docs/api/python/relay/base.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
tvm.relay.base
--------------
.. automodule:: tvm.relay.base

.. autofunction:: tvm.relay.base.register_relay_node

.. autofunction:: tvm.relay.base.register_relay_attr_node

.. autoclass:: tvm.relay.base.RelayNode
:members:

.. autoclass:: tvm.relay.base.Span
:members:

.. autoclass:: tvm.relay.base.Id
:members:
19 changes: 19 additions & 0 deletions docs/api/python/relay/build_module.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
tvm.relay.build_module
----------------------

.. automodule:: tvm.relay.build_module

.. autofunction:: tvm.relay.build_module.build

.. autofunction:: tvm.relay.build_module.optimize

.. autofunction:: tvm.relay.build_module.create_executor

.. autoclass:: tvm.relay.build_module.BuildConfig
:members:

.. autofunction:: tvm.relay.build_module.build_config
:members:

.. autoclass:: tvm.relay.build_module.GraphExecutor
:members:
53 changes: 53 additions & 0 deletions docs/api/python/relay/expr.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
tvm.relay.expr
--------------

.. automodule:: tvm.relay.expr

.. autofunction:: tvm.relay.expr.var

.. autofunction:: tvm.relay.expr.const

.. autofunction:: tvm.relay.expr.bind

.. autoclass:: tvm.relay.expr.Expr
:members:

.. autoclass:: tvm.relay.expr.Constant
:members:

.. autoclass:: tvm.relay.expr.Tuple
:members:

.. autoclass:: tvm.relay.expr.Var
:members:

.. autoclass:: tvm.relay.expr.GlobalVar
:members:

.. autoclass:: tvm.relay.expr.Function
:members:

.. autoclass:: tvm.relay.expr.Call
:members:

.. autoclass:: tvm.relay.expr.Let
:members:

.. autoclass:: tvm.relay.expr.If
:members:

.. autoclass:: tvm.relay.expr.TupleGetItem
:members:

.. autoclass:: tvm.relay.expr.TempExpr
:members:

.. autoclass:: tvm.relay.expr.ExprFunctor
:members:

.. autoclass:: tvm.relay.expr.ExprMutator
:members:

.. autoclass:: tvm.relay.expr.TupleWrapper
:members

7 changes: 7 additions & 0 deletions docs/api/python/relay/frontend.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

tvm.relay.frontend
------------------

.. automodule:: tvm.relay.frontend

.. autofunction:: tvm.relay.frontend.from_mxnet
9 changes: 9 additions & 0 deletions docs/api/python/relay/image.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

tvm.relay.image
---------------

.. automodule:: tvm.relay.image
:members:

.. automodule:: tvm.relay.op.image.image
:members:
25 changes: 25 additions & 0 deletions docs/api/python/relay/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Relay API
=========

This document contains the Python API for the Relay frontend, optimizer, and
compiler toolchain.

Relay is the second-generation, high-level intermediate representation (IR) for the TVM
compiler stack.

.. toctree::
:maxdepth: 2

backend
base
build_module
expr
frontend
image
ir_pass
module
nn
op
scope_builder
ty
vision
4 changes: 4 additions & 0 deletions docs/api/python/relay/ir_pass.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tvm.relay.ir_pass
-----------------
.. automodule:: tvm.relay.ir_pass
:members:
7 changes: 7 additions & 0 deletions docs/api/python/relay/module.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
tvm.relay.module
----------------

.. automodule:: tvm.relay.module

.. autoclass:: tvm.relay.module.Module
:members:
7 changes: 7 additions & 0 deletions docs/api/python/relay/nn.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
tvm.relay.nn
------------
.. automodule:: tvm.relay.nn
:members:

.. automodule:: tvm.relay.op.nn.nn
:members:
25 changes: 25 additions & 0 deletions docs/api/python/relay/op.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
tvm.relay.op
------------
.. automodule:: tvm.relay.op
:members:

.. automodule:: tvm.relay.op.op
:members:

.. automodule:: tvm.relay.op.reduce
:members:

.. automodule:: tvm.relay.op.tensor
:members:

.. automodule:: tvm.relay.op.transform
:members:

.. automodule:: tvm.relay.op.nn.nn
:members:

.. automodule:: tvm.relay.op.vision.multibox
:members:

.. automodule:: tvm.relay.op.vision.nms
:members:
7 changes: 7 additions & 0 deletions docs/api/python/relay/scope_builder.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
tvm.relay.scope_builder
-----------------------

.. automodule:: tvm.relay.scope_builder

.. autoclass:: tvm.relay.scope_builder.ScopeBuilder
:members:
32 changes: 32 additions & 0 deletions docs/api/python/relay/ty.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
tvm.relay.ty
------------

.. automodule:: tvm.relay.ty
:members:

.. autoclass:: tvm.relay.ty.Type
:members:

.. autoclass:: tvm.relay.ty.TensorType
:members:

.. autoclass:: tvm.relay.ty.Kind
:members:

.. autoclass:: tvm.relay.ty.TypeVar
:members:

.. autoclass:: tvm.relay.ty.TypeConstraint
:members:

.. autoclass:: tvm.relay.ty.TupleType
:members:

.. autoclass:: tvm.relay.ty.FuncType
:members:

.. autoclass:: tvm.relay.ty.IncompleteType
:members:

.. autoclass:: tvm.relay.ty.TypeRelation
:members:
12 changes: 12 additions & 0 deletions docs/api/python/relay/vision.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

tvm.relay.vision
----------------

.. automodule:: tvm.relay.vision
:members:

.. automodule:: tvm.relay.op.vision.multibox
:members:

.. automodule:: tvm.relay.op.vision.nms
:members:
6 changes: 4 additions & 2 deletions python/tvm/relay/backend/interpreter.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#pylint: disable=no-else-return
"""An interface to the Realy interpreter."""
"""The Python interface to the Relay reference interpreter."""
from __future__ import absolute_import

import numpy as np
Expand All @@ -23,6 +23,7 @@ def from_scalar(value, dtype=None):

@register_relay_node
class TupleValue(Value):
"""A tuple value produced by the interpreter."""
def __init__(self, *fields):
self.__init_handle_by_constructor__(
_make.TupleValue, fields)
Expand All @@ -33,12 +34,13 @@ def __getitem__(self, field_no):

@register_relay_node
class Closure(Value):
"""A closure produced by the interpreter."""
pass


@register_relay_node
class TensorValue(Value):
"""A Tensor value produced by the evaluator."""
"""A Tensor value produced by the interpreter."""

def __init__(self, data):
"""Allocate a new TensorValue and copy the data from `array` into
Expand Down
20 changes: 12 additions & 8 deletions python/tvm/relay/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
NodeBase = NodeBase

def register_relay_node(type_key=None):
"""register relay node type
"""Register a Relay node type.

Parameters
----------
type_key : str or cls
The type key of the node
The type key of the node.
"""
if not isinstance(type_key, str):
return _register_tvm_node(
Expand All @@ -22,12 +22,12 @@ def register_relay_node(type_key=None):


def register_relay_attr_node(type_key=None):
"""register relay attribute node
"""Register a Relay attribute node.

Parameters
----------
type_key : str or cls
The type key of the node
The type key of the node.
"""
if not isinstance(type_key, str):
return _register_tvm_node(
Expand All @@ -36,7 +36,7 @@ def register_relay_attr_node(type_key=None):


class RelayNode(NodeBase):
"""Base class of all relay node."""
"""Base class of all Relay nodes."""
def astext(self, show_meta_data=True, annotate=None):
"""Get the text format of the expression.

Expand All @@ -52,8 +52,8 @@ def astext(self, show_meta_data=True, annotate=None):

Note
----
meta data section is necessary to fully parse the text format.
However, it can contain dumps that are big(constat weights),
The metadata section is necessary to fully parse the text format.
However, it can contain dumps that are big (e.g constant weights)a,
so it can be helpful to skip printing the meta data section.

Returns
Expand All @@ -66,12 +66,16 @@ def astext(self, show_meta_data=True, annotate=None):

@register_relay_node
class Span(RelayNode):
"""Specifies a location in a source program."""

def __init__(self, source, lineno, col_offset):
self.__init_handle_by_constructor__(_make.Span, source, lineno, col_offset)


@register_relay_node
class Id(NodeBase):
"""Unique identifier(name) for Var across type checking."""
"""Unique identifier(name) used in Var.
Guaranteed to be stable across all passes.
"""
def __init__(self):
raise RuntimeError("Cannot directly construct Id")
12 changes: 6 additions & 6 deletions python/tvm/relay/build_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,13 +240,13 @@ class GraphExecutor(_interpreter.Executor):

Parameters
----------
mod : tvm.relay.Module
mod : :py:class:`~tvm.relay.module.Module`
The module to support the execution.

ctx : tvm.TVMContext
ctx : :py:class:`TVMContext`
The runtime context to run the code on.

target : tvm.Target
target : :py:class:`Target`
The target option to build the function.
"""
def __init__(self, mod, ctx, target):
Expand Down Expand Up @@ -282,13 +282,13 @@ def create_executor(kind="debug",
kind : str
The type of executor

mod : tvm.relay.Module
mod : :py:class:`~tvm.relay.module.Module`
The Relay module containing collection of functions

ctx : tvm.TVMContext
ctx : :py:class:`tvm.TVMContext`
The context to execute the code.

target : tvm.Target
target : :py:class:`tvm.Target`
The corresponding context
"""
if ctx is not None:
Expand Down
Loading