我编写了一个带有3个隐藏层的神经网络(使用Python中的Keras模块) . 网的代码如下:

# Create the model
np.random.seed(1)   # Just for reproducibility of results

model = Sequential()
model.add(Dense(input_dim=x.shape[1],
                output_dim=50,
                init='uniform',
                activation='tanh'))

model.add(Dense(input_dim=50,
                output_dim=50,
                init='uniform',
                activation='tanh'))

model.add(Dense(input_dim=50,
                output_dim=10,
                init='uniform',
                activation='tanh'))

model.add(Dense(input_dim=10,
                output_dim=1,
                init='uniform',
                activation='linear'))

optimizer = keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=1e-08)
model.compile(loss='mse', optimizer=optimizer)

history = model.fit(x,y,nb_epoch=2000,batch_size=20,verbose=1,validation_split=0.1)

我训练了神经网络并有权重矩阵 .

但是,有一个软件,我想使用神经网络学习的这个功能,软件不支持神经网络 . 所以,我直接将该等式赋予该软件 . 基本上,我想将此神经网络表达为仅输入要素(例如,x1,x2,x3,...,xd)的函数 .

作为没有 . 隐藏层的数量增加,手动执行此任务变得更加繁琐 . 从几次搜索中,我开始知道 nn toolboox of MATLAB 中的genFunction()就是这样做的 . 但遗憾的是,我不能在这里使用MATLAB .

我想知道Keras(或者一般来说是Python)中是否有一个函数来执行此操作,即它是否可以直接给出函数方程,或者可能是包含x1,x2,...,xd的代码片段作为输入并返回输出值?