Installation
Requirements
Python >= 3.8
PyTorch >= 1.9.0
NumPy >= 1.19.0
healpy >= 1.15.0
scikit-learn >= 0.24.0
From PyPI
pip install idx-flow
Upgrading from a previous version:
pip install --upgrade idx-flow
From Source
git clone https://github.com/otaviomf123/idx-flow.git
cd idx-flow
pip install -e .
With dev dependencies:
pip install -e ".[dev]"
Verifying
import torch
from idx_flow import SpatialConv, compute_connection_indices
indices, distances = compute_connection_indices(
nside_in=16, nside_out=8, k=4
)
conv = SpatialConv(
output_points=12 * 8**2,
connection_indices=indices,
filters=32
)
x = torch.randn(2, 12 * 16**2, 16)
y = conv(x)
print(f"Output shape: {y.shape}") # [2, 768, 32]
GPU
idx-flow uses GPU automatically when CUDA is available:
import torch
print(f"CUDA available: {torch.cuda.is_available()}")
if torch.cuda.is_available():
from idx_flow import SpatialConv
import numpy as np
indices = np.random.randint(0, 100, (50, 4))
conv = SpatialConv(50, indices, filters=32).cuda()
x = torch.randn(2, 100, 16).cuda()
y = conv(x)
print(f"Output device: {y.device}")