Skip to content

Conversation

@TheLuminary
Copy link

@wondergo2017
I introduce a novel module preprocessing in the autogl.module package. For now the preprocessing module is composed of two submodules, i.e., feature_engineering and structure_engineering.
The module of preprocessing is under developing (majorly by @wondergo2017 and me @CoreLeader ), thus all other modules should NOT use this preprocessing module until it is ready to be merged and called by solver.

The base class for all preprocessing operations should be a subclass of module.preprocessing.DataPreprocessor, and overwrite the (protected) method _fit and _transform. See module/preprocessing/_data_preprocessor/_data_preprocessor.py for more details.

  • both _fit and _transform get a data argument and should return a data as well. For _transform method, the _transform method should return a transformed data. A mock operation may looks like as following.
class MockStructureEngineer(StructureEngineer):
    def _fit(self, data):
        return data
    def _transform(self, data):
          # This operation is extraordinary but this is just for a example.
        data.edge_index = torch.zeros(2, 256)
        return data
  • The realized engineer must accept provided data as either instance of autogl.data.graph.GeneralStaticGraph or PyG-style data as input.
    • The conventional PyG-style data is a data object assume to have some conventional properties, e.g., x, y, and edge_index, etc.
    • (If other developers are not familiar with autogl.data.graph.GeneralStaticGraph, I am willing to assist)

CoreLeader and others added 3 commits August 10, 2022 22:26
…odification

 [Bugfix] Fix bug for unable to modify graph topology for General Static Graph
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants