R中的自定义Keras层

R中的自定义Keras层,r,keras,deep-learning,neural-network,feed-forward,R,Keras,Deep Learning,Neural Network,Feed Forward,设置 假设我有一个用Keras(R)编写的神经网络架构,它的最后一层输出n个输出,所以类似这样 A∘σ∘B 对于一些矩阵A和B,以及一些激活函数σ(例如ReLu) 下面是我到目前为止所做的一些代码(没有新层) 其中C是从R^n到R的矩阵 换句话说,我想制作自定义层,然后训练生成的网络 #-------------------------------# # Build Model #-------------------------------

设置

假设我有一个用Keras(R)编写的神经网络架构,它的最后一层输出n个输出,所以类似这样

                          A∘σ∘B
对于一些矩阵A和B,以及一些激活函数σ(例如ReLu)

下面是我到目前为止所做的一些代码(没有新层)

其中C是从R^n到R的矩阵

换句话说,我想制作自定义层,然后训练生成的网络

#-------------------------------#
# Build Model
#-------------------------------#
model<-keras_model_sequential()
# Define bulk of the network
model %>% layer_dense(units=Height,activation = "relu",input_shape = 1)

for(i in 1:Depth){
  model %>% layer_dense(units=Height,activation = "relu",input_shape = 1) 
}
# Readout Layer
model %>% layer_dense(units=1)

# Compile
model %>% keras::compile(loss="mse",
                         optimizer="adam",
                         metrics="mse")

## Report Model (Summary)
model %>% summary()

# Fit Model
fittedmodel<- model %>%
  keras::fit(train_data,
             trainingtarget,
             epochs=epochs,
             batch_size=(round(min(1,abs(Batch.size.percent))*nrow(train_data),digits = 0)), # Computes batch-size as a percentage of total data-size
  )

# Notify: Training Complete
beep()
f<-function(x){x^seq(from=1,to=n,by=1)}
                          C∘f∘A∘σ∘B,