Using with ML Frameworks

Foundry integrates with popular ML frameworks.

PyTorch

Load as PyTorch Dataset

# Get PyTorch-compatible dataset
torch_dataset = dataset.get_as_torch(split='train')

# Use with DataLoader
from torch.utils.data import DataLoader

loader = DataLoader(torch_dataset, batch_size=32, shuffle=True)

for batch in loader:
    inputs, targets = batch
    # Train your model

Full Training Example

import torch
import torch.nn as nn
from torch.utils.data import DataLoader
from foundry import Foundry

# Load data
f = Foundry()
ds = f.search("band gap", limit=1).iloc[0].FoundryDataset

train_dataset = ds.get_as_torch(split='train')
test_dataset = ds.get_as_torch(split='test')

train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=32)

# Define model
model = nn.Sequential(
    nn.Linear(input_size, 64),
    nn.ReLU(),
    nn.Linear(64, 1)
)

# Train
optimizer = torch.optim.Adam(model.parameters())
criterion = nn.MSELoss()

for epoch in range(10):
    for inputs, targets in train_loader:
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, targets)
        loss.backward()
        optimizer.step()

TensorFlow

Load as tf.data.Dataset

Full Training Example

Scikit-learn

Use the dictionary format:

Generic Python

For any framework, use the dictionary format:

Tips

Check Data Shape

Handle Missing Values

Feature Engineering

Last updated

Was this helpful?