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)
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.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53370855ec979571b4fd2945eec4cf3b9f081889ef53c108ed59d5bd1df54cc1
|
|
| MD5 |
563433c39e3196e600f3d0e63858b779
|
|
| BLAKE2b-256 |
84a261b0e0d2cb77cbc06aa30c79ad07393797eab5138e96533a549b0071c831
|
File details
Details for the file grad_free_optim-0.0.2-py3-none-any.whl.
File metadata
- Download URL: grad_free_optim-0.0.2-py3-none-any.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e45b419f778888bd9386913a2155bddf8d1735480187ee32a1408ce41e69bc06
|
|
| MD5 |
ea804ea9d681038f628bfdd4f4acc25b
|
|
| BLAKE2b-256 |
9ae434c1223fbe4c3fa171a19a07d8158087f7f14ce9baf8f0e2990bdd423f59
|