Java Kotlin中dl4j的通用函数
我正在Kotlin中摆弄dl4j,试图构建一个通用函数。基本上,我想采用如下函数:Java Kotlin中dl4j的通用函数,java,kotlin,generics,dl4j,Java,Kotlin,Generics,Dl4j,我正在Kotlin中摆弄dl4j,试图构建一个通用函数。基本上,我想采用如下函数: fun-NeuralNetConfiguration.ListBuilder.dense(init:DenseLayer.Builder.(->单位){ this.layer(DenseLayer.Builder().apply(init.build()) } fun NeuralNetConfiguration.ListBuilder.conv2d(init:ConvolutionLayer.Builder.(
fun-NeuralNetConfiguration.ListBuilder.dense(init:DenseLayer.Builder.(->单位){
this.layer(DenseLayer.Builder().apply(init.build())
}
fun NeuralNetConfiguration.ListBuilder.conv2d(init:ConvolutionLayer.Builder.(->Unit){
this.layer(卷积层.Builder().apply(init.build())
}
并将它们推广到一个函数:
fun buildLayer(父级:NeuralNetConfiguration.ListBuilder,init:Layer.Builder.(->单位){
parent.layer(layer.Builder().apply(init.build())
}
此通用函数应采用NeuralNetConfiguration.ListBuilder
对象并应用函数init。在扩展函数中,我想使用buildLayer
如下:
fun-NeuralNetConfiguration.ListBuilder.dense(init:DenseLayer.Builder.(->单位){
构建层(this,init)
}
fun NeuralNetConfiguration.ListBuilder.conv2d(init:ConvolutionLayer.Builder.(->Unit){
构建层(this,init)
}
不幸的是,我被正确的泛型类型所困扰。编译器抛出两个错误:
- 签名中init的生成器的:类生成器需要一个类型参数
- 对于主体中的层:无法创建抽象类的实例