Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

Tag Archives moderna

Red neuronal moderna – Theano

Aquí os dejo con un ejemplo (red_neuronal_moderna.py) muy sencillo y claro para realizar una red neuronal moderna.

import theano
from theano import tensor as T
from theano.sandbox.rng_mrg import MRG_RandomStreams as RandomStreams
import numpy as np
from Load import mnist

srng = RandomStreams()

def floatX(X):
return np.asarray(X, dtype=theano.config.floatX)

def init_weights(shape):
return theano.shared(floatX(np.random.randn(*shape) * 0.01))

def rectify(X):
return T.maximum(X, 0.)

def softmax(X):
e_x = T.exp(X – X.max(axis=1).dimshuffle(0, ‘x’))
return e_x / e_x.sum(axis=1).dimshuffle(0, ‘x’)

def RMSprop(cost, params, lr=0.001, rho=0.9, epsilon=1e-6):
grads = T.grad(cost=cost, wrt=params)
updates = []
for p, g in zip(params, grads):
acc = theano.shared(p.get_value() * 0.)
acc_new = rho * acc + (1 – rho) * g ** 2
gradient_scaling = T.sqrt(acc_new + epsilon)
g = g / gradient_scaling
updates.append((acc,