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)
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.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67749d55ea121f929b4ab39f9857684111880dfb7953756cd15dc21c8372f554
|
|
| MD5 |
fe14c675cf4dcb0d446cf0375db145cb
|
|
| BLAKE2b-256 |
6af6633bd81d7fcbb481f70ed0fc194a4691b87030bebe79da1abd4ffdbcf257
|
File details
Details for the file grad_free_optim-0.0.3-py3-none-any.whl.
File metadata
- Download URL: grad_free_optim-0.0.3-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 |
904d1730cc6c0e3a68ee7c85bfef967521790c103a5e76e7fe04784215e26280
|
|
| MD5 |
dcff454b20ea914386a56490582f8903
|
|
| BLAKE2b-256 |
ba901e432120b3ac86a339ebed424d99a77f0e3a4aedf9f740506e009fc82e49
|