Esempio n. 1
0
x = T.tensor3(dtype=theano.config.floatX)
y = T.imatrix()
mask = T.ivector()

# Construct RNN class
classifier = RNN(input=x,
                 n_in=INPUT_DIM,
                 n_hidden=NEURONS_PER_LAYER,
                 n_out=OUTPUT_DIM,
                 n_layers=HIDDEN_LAYERS,
                 n_total=max_length,
                 batch=BATCH_SIZE,
                 mask=mask)

# Cost
cost = classifier.negative_log_likelihood(y) + classifier.L2_sqr

# Build Gradient
dparams = [T.grad(cost, param) for param in classifier.params]

# Build Train Model
print "Building Train Model..."
train_model = theano.function(inputs=[x, y, mask],
                              outputs=cost,
                              updates=Update(classifier.params, dparams,
                                             classifier.velo))

# Build Dev Model
print "Building Dev Model"
dev_model = theano.function(inputs=[x, y, mask], outputs=classifier.errors(y))
mask = T.ivector()

# Construct RNN class
classifier = RNN(
    input=x,
    n_in=INPUT_DIM,
    n_hidden=NEURONS_PER_LAYER,
    n_out=OUTPUT_DIM,
    n_layers=HIDDEN_LAYERS,
    n_total=max_length,
    batch=BATCH_SIZE,
    mask=mask,
)

# Cost
cost = classifier.negative_log_likelihood(y) + classifier.L2_sqr

# Build Gradient
dparams = [T.grad(cost, param) for param in classifier.params]

# Build Train Model
print "Building Train Model..."
train_model = theano.function(
    inputs=[x, y, mask], outputs=cost, updates=Update(classifier.params, dparams, classifier.velo)
)

# Build Dev Model
print "Building Dev Model"
dev_model = theano.function(inputs=[x, mask], outputs=classifier.y_pred)

###############