Skip to main content

Intro

  • Gradient-free optimization of neural network parameters

  • Example: f(x) = x^2 (loss = log10(MSE(y_predict, x**2)))

  • Genetic algorithm:

  • AdamW (for comparison):

Usage

pip install grad-free-optim
import torch as tc
from pymoo.algorithms.soo.nonconvex.ga import GA as Algo
from trading_models.simple_models import MLP
from trading_models.utils import mod_keys, train_model

from grad_free_optim.pymoo import GradFreeOptim


def make_data():
    x = tc.rand((100, 1))
    yt = x**2
    return dict(x=x, yt=yt)


def loss_fn(data, mode):
    x, yt = data["x"], data["yt"]
    y = net(x)
    loss = tc.log10(((y - yt) ** 2).mean())
    info = {"SCORE": -loss}
    plots = {}
    return loss, mod_keys(info, mode), mod_keys(plots, mode)


tc.manual_seed(0)
net = MLP([1, 32, 32, 1])
train_data, test_data = make_data(), make_data()

if 1:
    bound = [-1.0, 1.0]
    opt = GradFreeOptim(bound, net, train_data, test_data, loss_fn)
    opt.run(Algo())
else:  # AdamW
    train_model(net, train_data, test_data, loss_fn)

Metadata

Release files for grad-free-optim 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for grad-free-optim 0.0.4
File Size Uploaded
grad_free_optim-0.0.4.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for grad-free-optim 0.0.4
File Interpreter ABI Platform
grad_free_optim-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 8.5 kB

Release files / grad_free_optim-0.0.4.tar.gz

Download URL grad_free_optim-0.0.4.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ad82ca6fab9381abb8a60e5e825e50ca4a8e2d94b18a5c2f2488d3c16b239684
BLAKE2b-256 checksum
How to use checksums
8e75855f642583568bead466f934a4ad3d763c03df4318efb899bed78c389251
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / grad_free_optim-0.0.4-py3-none-any.whl

Download URL grad_free_optim-0.0.4-py3-none-any.whl
Size 4.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7db2a44928ca21cf6f87501f16d8072f6d02c77b47707e2931b1819b32aa90d6
BLAKE2b-256 checksum
How to use checksums
f4fe8f5af8a30d8a2ae6404b9729693159edfab35a22a3f042d12e1f94e4884a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page