Skip to main content

Gradient-free optimization of neural network parameters.

Project description

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grad_free_optim-0.0.3.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grad_free_optim-0.0.3-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file grad_free_optim-0.0.3.tar.gz.

File metadata

  • Download URL: grad_free_optim-0.0.3.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for grad_free_optim-0.0.3.tar.gz
Algorithm Hash digest
SHA256 67749d55ea121f929b4ab39f9857684111880dfb7953756cd15dc21c8372f554
MD5 fe14c675cf4dcb0d446cf0375db145cb
BLAKE2b-256 6af6633bd81d7fcbb481f70ed0fc194a4691b87030bebe79da1abd4ffdbcf257

See more details on using hashes here.

File details

Details for the file grad_free_optim-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for grad_free_optim-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 904d1730cc6c0e3a68ee7c85bfef967521790c103a5e76e7fe04784215e26280
MD5 dcff454b20ea914386a56490582f8903
BLAKE2b-256 ba901e432120b3ac86a339ebed424d99a77f0e3a4aedf9f740506e009fc82e49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page