// 常见错误示例
.layer(0,newConvolutionLayer.Builder(3,3).nOut(32).build())// 输出4D张量
.layer(1,newDenseLayer.Builder().nIn(???)// ❌ 不知道输入维度!
.nOut(128).build())
[batch_size, channels, height, width]
或 [batch_size, height, width, channels](取决于数据格式)
全连接层需要2D输入:
[batch_size, features]
二、维度转换的两种方法
方法1:Flatten层(显式展平)
方法2:隐式展平(DL4J自动处理)
三、维度计算的关键公式
1. 卷积层输出尺寸计算
2. 池化层输出尺寸计算
3. Flatten后的特征数量
四、完整计算示例:MNIST分类
输入:28×28灰度图
int height =28;int width =28;int channels =1;// 灰度图int batchSize =64;
网络架构:
五、使用DL4J的自动推断功能
自动计算nIn的方法:
验证维度的方法:

