Red basica con Embeddings
import os
import sys
module_path = os.path.abspath(os.path.join('..'))
if module_path not in sys.path:
sys.path.append(module_path)
import numpy as np
from lightdlf_old.cpu.core import Tensor
from lightdlf_old.cpu.layers import Sequential, Embedding, Linear, Tanh, Sigmoid, MSELoss
from lightdlf_old.cpu.optimizers import SGD
np.random.seed(0)
data = Tensor(np.array([1,2,1,2]), autograd=True)
target = Tensor(np.array([[0],[1],[0],[1]]), autograd=True)
embed = Embedding(5,3)
model = Sequential([embed, Tanh(), Linear(3,1), Sigmoid()])
criterion = MSELoss()
optim = SGD(parameters=model.get_parameters(), alpha=0.5)
for i in range(10):
# Prediccion
pred = model.forward(data)
# Comparar
loss = criterion.forward(pred, target)
# Aprender
loss.backward(grad=None)
optim.step()
print(loss)