Local Execution¶
When 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