Как запустить несколько моделей в Theano - PullRequest
0 голосов
/ 08 декабря 2018

Я запускаю свой теано-код с MLP, мне интересно, если я смогу запустить 6 моделей с такой же структурой, и получить выходные данные и обновить вместе, как следующий код:

import numpy as np
import theano
import theano.tensor as T
from numpy.random import RandomState
from functools import reduce

inputs = []
outputs = []
updatess = []
for i in range(6):
    W = []
    input = T.matrix('x1')
    W_values1 = np.random.randn(1000,250)
    W1 = theano.shared(value=W_values1.astype(theano.config.floatX), borrow=True)
    b_values1 = np.zeros((250,), dtype=theano.config.floatX)
    b1 = theano.shared(value=b_values1.astype(theano.config.floatX),
                                 name='%s_b' % ('b'), borrow=True)
    output1 = T.dot(input, W1) + b1
    W.append(W1)
    L1 = abs(W1).sum()
    L2_sqr = (W1 ** 2).sum()

    reg_cost = (0.001 * L1 + 0.000001 * L2_sqr)

    reg_gparams = [T.grad(reg_cost, p) for p in W]
    updates = [(param, param - 0.001*gparam) for param, gparam in zip(
                                                 W, reg_gparams)]

    inputs.append(input)
    outputs.append(output1)
    updatess.append(updates)

for input, output, updates in zip([inputs], outputs, updatess):
    take_step = theano.function(input, 
                        outputs=output, 
                        updates=updates)

Но я получилошибка следующая:

UnusedInputError: theano.function was asked to create a function computing outputs given cert
ain inputs, but the provided input variable at index 1 is not part of the computational graph 
needed to compute the outputs: x1.
To make this error into a warning, you can pass the parameter on_unused_input='warn' to thean
o.function. To disable it completely, use on_unused_input='ignore'.

Что это значит?И как я могу это исправить?

...