Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
69 lines (45 sloc) 1.55 KB

Local Execution

When :doc:`eager mode <eager-mode>` is not enabled, which is the default behavior, Mars tensor will not be executed unless users call execute or session.run methods.

If no session is created explicitly, the execute will create a local session, and mark it as a default session.

Session

Users can create a new session by new_session method, if no argument is provided, a local session will be generated.

>>> from mars.session import new_session

>>> sess = new_session()  # create a session

By calling as_default of a session, the session will be marked as the default session.

>>> sess.as_default()

More than one mars tensors can be passed to session.run, and calculate the results for each tensor.

>>> a = mt.ones((5, 5), chunk_size=3)
>>> b = a + 1
>>> c = a * 4
>>> sess.run(b, c)
(array([[2., 2., 2., 2., 2.],
     [2., 2., 2., 2., 2.],
     [2., 2., 2., 2., 2.],
     [2., 2., 2., 2., 2.],
     [2., 2., 2., 2., 2.]]), array([[4., 4., 4., 4., 4.],
     [4., 4., 4., 4., 4.],
     [4., 4., 4., 4., 4.],
     [4., 4., 4., 4., 4.],
     [4., 4., 4., 4., 4.]]))

Execute a tensor

For a single tensor, execute can be called.

>>> a = mt.random.rand(3, 4)
>>> a.sum().execute()
7.0293719034458455

Session can be specified by the argument session.

>>> a.sum().execute(session=sess)
6.12833989477539
You can’t perform that action at this time.