лямбда-слой для построения матрицы - PullRequest
0 голосов
/ 23 сентября 2019

Я хочу построить лямбда-слой keras, который делает матрицу M и вектор x из пакета входных и выходных данных умножения матрицы Mx .В частности, то, что я хочу сделать, показано в следующем пробном коде

import numpy as np
import tensorflow as tf
keras = tf.keras
K=keras.backend

inputs = keras.layers.Input(shape=(3,))

def driftLayer(x):
  M = np.eye(2)
  M[0,1] = x[2]
  out = K.matmul(x[:2],M) 
  return out

outputs = keras.layers.Lambda(driftLayer)(x)
model = keras.models.Model(inputs=inputs, outputs=outputs)
model.summary()

, который не работает, давая мне ValueError

ValueError: slice index 2 of dimension 0 out of bounds. for 'lambda_28/strided_slice' (op: 'StridedSlice') with input shapes: [2,1], [1], [1], [1] and with computed input tensors: input[1] = <2>, input[2] = <3>, input[3] = <1>.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...