julia - 在 Flux 中获取神经网络边缘的权重?
问题描述
我是 Julia 的 Flux 机器学习包的新手。我有一个简单的神经网络,包括以下内容:
- 4 个神经元的 1 个输入层
- 8 个神经元的 1 个隐藏层
- 3 个神经元的 1 个输出层
该架构是使用以下代码片段构建的:
layer_1 = Dense(4,8,relu)
output_layer = Dense(8,3)
model = Chain(layer_1, output_layer, softmax)
我想查看所有边缘权重(训练后)。简而言之,权重...
- 输入1->隐藏1
- 输入2->隐藏1
- ...
- 隐藏8->输出3
我检查了 Flux 文档,但不知道该怎么做。我知道我可以这样做:
@show( layer_1([1,0,0,0]) )
这反过来将返回一个表示该层所有输出的向量,然后我可以反转激活函数以找到该层中每个神经元的边缘权重,但这对于应该是一个简单的任务来说似乎过于笨重。我肯定错过了什么。
你知道我怎样才能得到所有的边权重(输入 -> 隐藏层,隐藏层 -> 输出)吗?适用于上述情况的代码片段将是理想的。
谢谢!
解决方案
你可以做
@show layer_1.weight
查看第一层的权重矩阵。要查看单个边,您可以索引矩阵。
# edge from input 2 to hidden 1
@show layer_1.weight[1, 2]
编辑:在旧版本的通量上,layer_1.W
用于Dense
图层。
推荐阅读
- html - 将@media 直接添加到元素中?
- python - 只有四个元素在 python 中出现内存错误
- php - 从 MYSQL 数据库表中选择下一组记录 - PHP
- java - 如何使用 @csvsource 更改 junit 参数化测试的 csvparsersettings
- sql-server - 使用 SSDT 部署多个数据库
- java - 打印不是 7 和 2 的倍数的数字
- c# - Cucumber :如何跳过后续步骤并退出场景而不使步骤/场景失败?
- c# - 为什么 C# CultureInfo.CurrentCulture 在 Window-7 日本文化中给出 en_US?
- jquery - URL中cookie的jQuery脚本
- php - PHP - 使用数组行