我编写了一个带有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)的函数。
作为号码。隐藏层的数量增加,手动执行此任务变得更加繁琐。通过几次搜索,我发现MATLAB的 nn工具箱中的genFunction()就是这样做的。但遗憾的是,我不能在这里使用MATLAB。
我想知道Keras(或者一般来说是Python)中是否有一个函数来执行此操作,即它是否可以直接给我函数方程,或者可能是一个接受x1,x2,...的代码片段。 。,xd作为输入并返回输出值?