сказать, что я эта функцию Theano, которая определяет слой нейронной сети:Theano: Форма переменного тензора внутри функции
def layer(W, x):
b = np.array(np.ones(N)) # append 1 for intercept
newx = T.concatenate([x, T.stack(b)], 0)
return T.dot(W, newx)
Я конкатенация те (который является вектором б) до конца матрицы входных данных x перед передачей ее через матрицу W. Проблема в том, что мне нужно указать длину для b. Матрица данных имеет N столбцов, но, скажем, мы не знаем этого заранее.
Я не мог найти, как правильно сделать ананано-ананас size(x, 2)
в Matlab. Я знаю, что x
является символической переменной на данный момент, но я не мог найти, как найти форму тензорной переменной внутри функции.
theano.tensor.shape() не работает. (Он возвращает Shape.0). Я думаю, что мне нужно сделать, так или иначе получить значение, а затем вычислить форму. Если бы x была общей переменной, я мог бы это сделать, но это не так. –
И не могли бы вы привести пример для anano.tensor.ones_like? Благодаря! –
theano.tensor.shape возвращает переменную-тензор, поэтому он возвращает форму Shape.0. Если вы хотите использовать это, вы бы сделали что-то вроде 'b = T.ones (T.shape (x) [1])'. Или, используя one_like, вы можете сделать 'T.ones_like (x [0])'. – harshil