Fractional Graph Neural Networks API Reference

GNN layers and models with fractional calculus integration.

GNN Layers

class hpfracc.ml.gnn_layers.FractionalGraphConv(in_channels, out_channels, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None)[source]

Bases: TorchFractionalGNNMixin, JaxFractionalGNNMixin, NumbaFractionalGNNMixin, BaseFractionalGNNLayer

Fractional Graph Convolutional Layer. Combines backend-specific implementations via mixins.

Parameters:
_initialize_layer()[source]

Initialize the graph convolution layer

forward(x, edge_index, edge_weight=None, **kwargs)[source]

Forward pass through the layer

Parameters:
  • x (Any)

  • edge_index (Any)

  • edge_weight (Any | None)

Return type:

Any

train(mode=True)[source]
Parameters:

mode (bool)

eval()[source]
parameters()[source]
named_parameters()[source]
state_dict()[source]
load_state_dict(state_dict)[source]
class hpfracc.ml.gnn_layers.FractionalGraphAttention(in_channels, out_channels, heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None, **kwargs)[source]

Bases: TorchFractionalGNNMixin, JaxFractionalGNNMixin, NumbaFractionalGNNMixin, BaseFractionalGNNLayer

Fractional Graph Attention Layer.

Parameters:
__init__(in_channels, out_channels, heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None, **kwargs)[source]
Parameters:
forward(x, edge_index, edge_weight=None, **kwargs)[source]

Forward pass through the layer

Parameters:
  • x (Any)

  • edge_index (Any)

  • edge_weight (Any | None)

Return type:

Any

class hpfracc.ml.gnn_layers.FractionalGraphPooling(in_channels=64, pooling_ratio=0.5, out_channels=None, fractional_order=0.5, method='RL', use_fractional=True, backend=None, **kwargs)[source]

Bases: TorchFractionalGNNMixin, JaxFractionalGNNMixin, NumbaFractionalGNNMixin, BaseFractionalGNNLayer

Fractional Graph Pooling Layer. Reduces graph size while preserving fractional properties.

Parameters:
__init__(in_channels=64, pooling_ratio=0.5, out_channels=None, fractional_order=0.5, method='RL', use_fractional=True, backend=None, **kwargs)[source]
Parameters:
forward(x, edge_index, batch=None, **kwargs)[source]

Identity pooling on features; always returns (x, edge_index, batch).

Graph coarsening (changing node count / edges) is not implemented yet. Returning a triple keeps FractionalGraphUNet and call sites consistent.

Parameters:
  • x (Any)

  • edge_index (Any)

  • batch (Any | None)

Return type:

Tuple[Any, Any, Any]

class hpfracc.ml.gnn_layers.BaseFractionalGNNLayer(in_channels, out_channels, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None)[source]

Bases: ABC

Base class for fractional GNN layers

Parameters:
__init__(in_channels, out_channels, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, bias=True, backend=None)[source]
Parameters:
abstractmethod forward(x, edge_index, edge_weight=None, **kwargs)[source]

Forward pass through the layer

Parameters:
  • x (Any)

  • edge_index (Any)

  • edge_weight (Any | None)

Return type:

Any

apply_fractional_derivative(x)[source]

Apply fractional derivative to input features.

Parameters:

x (Any)

Return type:

Any

GNN Models

Complete Fractional Graph Neural Network Architectures

This module provides complete GNN architectures with fractional calculus integration, including various model types and configurations for different graph learning tasks.

class hpfracc.ml.gnn_models.BaseFractionalGNN(input_dim, hidden_dim, output_dim, num_layers=3, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]

Bases: ABC

Base class for fractional Graph Neural Networks

This abstract class defines the interface for all fractional GNN models, ensuring consistency across different architectures and backends.

Parameters:
__init__(input_dim, hidden_dim, output_dim, num_layers=3, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Parameters:
abstractmethod _build_network()[source]

Build the specific network architecture

abstractmethod forward(x, edge_index, batch=None, **kwargs)[source]

Forward pass through the network

Parameters:
  • x (Any)

  • edge_index (Any)

  • batch (Any | None)

Return type:

Any

get_backend_info()[source]

Get information about the current backend

Return type:

Dict[str, Any]

parameters()[source]

Collect learnable parameters from sub-layers for testing/optimizers

Return type:

List[Any]

class hpfracc.ml.gnn_models.FractionalGCN(input_dim, hidden_dim, output_dim, num_layers=3, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]

Bases: BaseFractionalGNN

Fractional Graph Convolutional Network

A GNN architecture that uses fractional graph convolution layers for node classification, graph classification, and other tasks.

Parameters:
_build_network()[source]

Build the GCN architecture

forward(x, edge_index, batch=None, **kwargs)[source]

Forward pass through the fractional GCN

Parameters:
  • x (Any) – Node feature matrix [num_nodes, input_dim]

  • edge_index (Any) – Graph connectivity [2, num_edges]

  • batch (Any | None) – Batch assignment vector [num_nodes]

Returns:

Node embeddings [num_nodes, output_dim]

Return type:

Any

class hpfracc.ml.gnn_models.FractionalGAT(input_dim, hidden_dim, output_dim, num_layers=3, num_heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]

Bases: BaseFractionalGNN

Fractional Graph Attention Network

A GNN architecture that uses fractional graph attention layers for enhanced graph representation learning.

Parameters:
__init__(input_dim, hidden_dim, output_dim, num_layers=3, num_heads=8, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Parameters:
_build_network()[source]

Build the GAT architecture

forward(x, edge_index, batch=None, **kwargs)[source]

Forward pass through the fractional GAT

Parameters:
  • x (Any) – Node feature matrix [num_nodes, input_dim]

  • edge_index (Any) – Graph connectivity [2, num_edges]

  • batch (Any | None) – Batch assignment vector [num_nodes]

Returns:

Node embeddings [num_nodes, output_dim]

Return type:

Any

class hpfracc.ml.gnn_models.FractionalGraphSAGE(input_dim, hidden_dim, output_dim, num_layers=3, num_samples=25, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]

Bases: BaseFractionalGNN

Fractional GraphSAGE Network

A GNN architecture that uses fractional graph convolution layers with neighbor sampling for scalable graph learning.

Parameters:
__init__(input_dim, hidden_dim, output_dim, num_layers=3, num_samples=25, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Parameters:
_build_network()[source]

Build the GraphSAGE architecture

forward(x, edge_index, batch=None, **kwargs)[source]

Forward pass through the fractional GraphSAGE

Parameters:
  • x (Any) – Node feature matrix [num_nodes, input_dim]

  • edge_index (Any) – Graph connectivity [2, num_edges]

  • batch (Any | None) – Batch assignment vector [num_nodes]

Returns:

Node embeddings [num_nodes, output_dim]

Return type:

Any

class hpfracc.ml.gnn_models.FractionalGraphUNet(input_dim, hidden_dim, output_dim, num_layers=4, pooling_ratio=0.5, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]

Bases: BaseFractionalGNN

Fractional Graph U-Net

A hierarchical GNN architecture that uses fractional calculus for multi-scale graph representation learning.

Parameters:
__init__(input_dim, hidden_dim, output_dim, num_layers=4, pooling_ratio=0.5, fractional_order=0.5, method='RL', use_fractional=True, activation='relu', dropout=0.1, backend=None)[source]
Parameters:
_build_network()[source]

Build the Graph U-Net architecture

forward(x, edge_index, batch=None, **kwargs)[source]

Forward pass through the fractional Graph U-Net

Parameters:
  • x (Any) – Node feature matrix [num_nodes, input_dim]

  • edge_index (Any) – Graph connectivity [2, num_edges]

  • batch (Any | None) – Batch assignment vector [num_nodes]

Returns:

Node embeddings [num_nodes, output_dim]

Return type:

Any

class hpfracc.ml.gnn_models.FractionalGNNFactory[source]

Bases: object

Factory class for creating fractional GNN models

This class provides a convenient interface for creating different types of fractional GNN architectures with consistent configurations.

static create_model(model_type, input_dim, hidden_dim, output_dim, **kwargs)[source]

Create a fractional GNN model of the specified type

Parameters:
  • model_type (str) – Type of GNN model (‘gcn’, ‘gat’, ‘sage’, ‘unet’)

  • input_dim (int) – Input feature dimension

  • hidden_dim (int) – Hidden layer dimension

  • output_dim (int) – Output dimension

  • **kwargs – Additional arguments for the model

Returns:

Configured fractional GNN model

Return type:

BaseFractionalGNN

static get_available_models()[source]

Get list of available model types

Return type:

List[str]

static get_model_info(model_type)[source]

Get information about a specific model type

Parameters:

model_type (str)

Return type:

Dict[str, Any]