mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 00:21:07 +01:00
Add docstring for Proxy (#50145)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/50145 Test Plan: Imported from OSS Reviewed By: pbelevich Differential Revision: D25854281 Pulled By: ansley fbshipit-source-id: d7af6fd6747728ef04e86fbcdeb87cb0508e1fd8
This commit is contained in:
parent
3d263d1928
commit
080a097935
|
|
@ -28,3 +28,5 @@ API Reference
|
||||||
|
|
||||||
.. autoclass:: torch.fx.Tracer
|
.. autoclass:: torch.fx.Tracer
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: torch.fx.Proxy
|
||||||
|
|
|
||||||
|
|
@ -112,17 +112,21 @@ class GraphAppendingTracer(TracerBase):
|
||||||
class TraceError(ValueError):
|
class TraceError(ValueError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# Proxy objects are stand-in values for normal values in a PyTorch computation.
|
|
||||||
# Instead of performing compute they record computation into Graph.
|
|
||||||
# Each proxy wraps the Node instance that represents the expression that define the
|
|
||||||
# value.
|
|
||||||
|
|
||||||
class Proxy:
|
class Proxy:
|
||||||
|
"""
|
||||||
|
``Proxy`` objects are ``Node`` wrappers that flow through the
|
||||||
|
program during symbolic tracing and record all the operations
|
||||||
|
(``torch`` function calls, method calls, operators) that they touch
|
||||||
|
into the growing FX Graph.
|
||||||
|
|
||||||
|
If you're doing graph transforms, you can wrap your own ``Proxy``
|
||||||
|
method around a raw ``Node`` so that you can use the overloaded
|
||||||
|
operators to add additional things to a ``Graph``.
|
||||||
|
"""
|
||||||
def __init__(self, node: Node, tracer: 'Optional[TracerBase]' = None):
|
def __init__(self, node: Node, tracer: 'Optional[TracerBase]' = None):
|
||||||
if tracer is None:
|
if tracer is None:
|
||||||
# this allows you to create a proxy object around a raw node
|
# This allows you to create a Proxy object around a raw Node
|
||||||
# so that if you are doing graph transforms you can use the overloaded operators
|
|
||||||
# to add additional things to a graph.
|
|
||||||
tracer = GraphAppendingTracer(node.graph)
|
tracer = GraphAppendingTracer(node.graph)
|
||||||
self.tracer = tracer
|
self.tracer = tracer
|
||||||
self.node = node
|
self.node = node
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user