CustomizedCrossEntropy(num_classes, device, epsilon=0.1, reduction=True)
Bases: Module
Label-smoothed cross entropy loss with optional reduction.
| Parameters: |
|
|---|
forward(outputs, targets)
Compute label-smoothed cross entropy loss.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
- Compute log probabilities
- Create one-hot targets
- Apply label smoothing
- Compute loss
- Optional reduction
SOGABase(in_dim, hid_dim, num_classes, num_layers=1, dropout=0.1, act=F.relu, gnn='gcn', num_negative_samples=5, num_positive_samples=2, device='cuda:0', **kwargs)
Bases: Module
Base class for SOGA.
| Parameters: |
|
|---|
Notes
- Flexible GNN backbone selection
- Multi-layer design
- NCE-based learning
- Customized cross-entropy
feat_bottleneck(x, edge_index, edge_weight=None)
Feature transformation through GNN layers.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
- Sequential GNN layers
- Intermediate activation
- Dropout regularization
feat_classifier(x)
Classification layer for node features.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Simple linear transformation from hidden to output dimension
forward(x, edge_index, edge_weight=None)
Forward pass through the SOGA model.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Two-stage process:
- Feature transformation (bottleneck)
- Classification
generate_negative_samples(num_target_nodes)
Generate negative samples for contrastive learning.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Generates fixed number of negative samples per node
generate_positive_samples()
Generate positive samples using random walks.
| Returns: |
|
|---|
Notes
- Biased random walks (p=0.25, q=2)
- Walk length based on num_positive_samples
- Single walk per node
init_target(graph_struct, graph_neigh)
Initialize target domain samplers and structures.
| Parameters: |
|
|---|
Notes
- NetworkX graph conversions
- Random walk samplers
- Positive/negative samples
- Both structural and neighborhood views