Skip to main content

A toolkit for developers to simplify the transformation of nn.Module instances.

Project description

one-fx

PyPI version PyPI pyversions PyPI license

A toolkit for developers to simplify the transformation of nn.Module instances. It is modified from Pytorch.fx.

install

pip install onefx

Oneflow has now add one-fx as default dependency. You can also install oneflow and use it as oneflow.fx.

usage

The following code shows the basic usage. For more examples, please refer to https://github.com/Oneflow-Inc/one-fx/tree/main/onefx/exmaples.

import oneflow
import onefx as fx

class MyModule(oneflow.nn.Module):
    def __init__(self, do_activation : bool = False):
        super().__init__()
        self.do_activation = do_activation
        self.linear = oneflow.nn.Linear(512, 512)

    def forward(self, x):
        x = self.linear(x)
        x = oneflow.relu(x)
        y = oneflow.ones([2, 3])

        if self.do_activation:
            x = oneflow.relu(x)
        return y

without_activation = MyModule(do_activation=False)
with_activation = MyModule(do_activation=True)

traced_without_activation = onefx.symbolic_trace(without_activation)
print(traced_without_activation.code)
"""
def forward(self, x):
    linear = self.linear(x);  x = None
    return linear
"""

traced_with_activation = onefx.symbolic_trace(with_activation)
print(traced_with_activation.code)
"""
wrap("oneflow._oneflow_internal._C.relu")

def forward(self, x):
    linear = self.linear(x);  x = None
    relu = oneflow._oneflow_internal._C.relu(linear);  linear = None
    return relu
"""

version map

oneflow one-fx
0.9.0 0.0.2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onefx-0.0.3.tar.gz (147.3 kB view details)

Uploaded Source

File details

Details for the file onefx-0.0.3.tar.gz.

File metadata

  • Download URL: onefx-0.0.3.tar.gz
  • Upload date:
  • Size: 147.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for onefx-0.0.3.tar.gz
Algorithm Hash digest
SHA256 d3f3f816891cdfdb6d69e4a78b72d5cafd7d40e165ce419f89f855f47a3dbe34
MD5 479156bbcb88de21e66a7c3ccd14f77b
BLAKE2b-256 3cc42dc5fd8ab613d32e24d54204b4d448b315fa50e5f1ce3197938f2219fa09

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page