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.4.tar.gz
(4.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grad_free_optim-0.0.4.tar.gz.
File metadata
- Download URL: grad_free_optim-0.0.4.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad82ca6fab9381abb8a60e5e825e50ca4a8e2d94b18a5c2f2488d3c16b239684
|
|
| MD5 |
97e5c35d6d4bd633330cbb6e6436d2f2
|
|
| BLAKE2b-256 |
8e75855f642583568bead466f934a4ad3d763c03df4318efb899bed78c389251
|
File details
Details for the file grad_free_optim-0.0.4-py3-none-any.whl.
File metadata
- Download URL: grad_free_optim-0.0.4-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7db2a44928ca21cf6f87501f16d8072f6d02c77b47707e2931b1819b32aa90d6
|
|
| MD5 |
b3b0fa0c32786c56c6366fbb7f8c1dd1
|
|
| BLAKE2b-256 |
f4fe8f5af8a30d8a2ae6404b9729693159edfab35a22a3f042d12e1f94e4884a
|