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,BaseFractionalGNNLayerFractional Graph Convolutional Layer. Combines backend-specific implementations via mixins.
- Parameters:
in_channels (int)
out_channels (int)
fractional_order (float | FractionalOrder)
method (str)
use_fractional (bool)
activation (str)
dropout (float)
bias (bool)
backend (BackendType | None)
- _initialize_layer()[source]
Initialize the graph convolution layer
- forward(x, edge_index, edge_weight=None, **kwargs)[source]
Forward pass through the layer
- 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,BaseFractionalGNNLayerFractional 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]
- 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,BaseFractionalGNNLayerFractional Graph Pooling Layer. Reduces graph size while preserving fractional properties.
- Parameters:
in_channels (int)
pooling_ratio (float)
out_channels (int | None)
fractional_order (float | FractionalOrder)
method (str)
use_fractional (bool)
backend (BackendType | None)
- __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:
in_channels (int)
pooling_ratio (float)
out_channels (int | None)
fractional_order (float | FractionalOrder)
method (str)
use_fractional (bool)
backend (BackendType | None)
- 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
FractionalGraphUNetand call sites consistent.
- 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:
ABCBase class for fractional GNN layers
- Parameters:
in_channels (int)
out_channels (int)
fractional_order (float | FractionalOrder)
method (str)
use_fractional (bool)
activation (str)
dropout (float)
bias (bool)
backend (BackendType | None)
- __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:
in_channels (int)
out_channels (int)
fractional_order (float | FractionalOrder)
method (str)
use_fractional (bool)
activation (str)
dropout (float)
bias (bool)
backend (BackendType | None)
- abstractmethod forward(x, edge_index, edge_weight=None, **kwargs)[source]
Forward pass through the layer
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:
ABCBase 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]
- abstractmethod _build_network()[source]
Build the specific network architecture
- abstractmethod forward(x, edge_index, batch=None, **kwargs)[source]
Forward pass through the network
- 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:
BaseFractionalGNNFractional 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
- 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:
BaseFractionalGNNFractional 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]
- _build_network()[source]
Build the GAT architecture
- forward(x, edge_index, batch=None, **kwargs)[source]
Forward pass through the fractional GAT
- 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:
BaseFractionalGNNFractional 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]
- _build_network()[source]
Build the GraphSAGE architecture
- forward(x, edge_index, batch=None, **kwargs)[source]
Forward pass through the fractional GraphSAGE
- 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:
BaseFractionalGNNFractional 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]
- _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
- class hpfracc.ml.gnn_models.FractionalGNNFactory[source]
Bases:
objectFactory 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:
- Returns:
Configured fractional GNN model
- Return type: