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.2.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.2-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: grad_free_optim-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 53370855ec979571b4fd2945eec4cf3b9f081889ef53c108ed59d5bd1df54cc1
MD5 563433c39e3196e600f3d0e63858b779
BLAKE2b-256 84a261b0e0d2cb77cbc06aa30c79ad07393797eab5138e96533a549b0071c831

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for grad_free_optim-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e45b419f778888bd9386913a2155bddf8d1735480187ee32a1408ce41e69bc06
MD5 ea804ea9d681038f628bfdd4f4acc25b
BLAKE2b-256 9ae434c1223fbe4c3fa171a19a07d8158087f7f14ce9baf8f0e2990bdd423f59

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