如何仅打印神经网络的首个权重参数
提取PyTorch模型指定卷积层的首个权重矩阵
针对你的需求,直接定位到目标卷积层的权重张量后,通过索引/切片即可提取首个卷积核矩阵,具体操作如下:
核心思路
model.block_1[0]是你要访问的第一个Conv2d层,该层的权重张量可通过.weight直接获取(比parameters()更精准,避免混入偏置参数)。这个权重张量的形状为(out_channels, in_channels, kernel_h, kernel_w),其中out_channels=64对应64个卷积核,取第一个卷积核即可得到目标矩阵。
代码实现
# 获取首个卷积核矩阵(保持四维结构,与示例输出格式一致) first_weight_matrix = model.block_1[0].weight[:1] print(first_weight_matrix)
输出效果
执行后会打印出你需要的内容:
tensor([[[[-0.3215, -0.0771, 0.4429], [-0.6455, -0.0827, -0.4266], [-0.2029, -0.2288, 0.1696]]]])
补充说明
- 如果你只需要三维结构(去掉最外层的维度),可以用
model.block_1[0].weight[0],输出会是[[[-0.3215, ...]]] - 避免使用
list(model.parameters())或list(model.block_1[0].parameters()),这类方法会返回全部参数(含偏置)且输出冗余,直接访问.weight更高效精准
内容的提问来源于stack exchange,提问作者CasellaJr
相关产品推荐
相关产品推荐

