使用 Axon 构建和训练手写数字分类神经网络
在深度学习领域,构建和训练神经网络是一项核心任务。本文将介绍如何使用 Elixir 中的 Axon 库来创建、训练和评估一个用于手写数字分类的神经网络。
1. 生成中间参数与初步预测
首先,我们需要为隐藏层和输出层生成中间参数 w1 、 b1 、 w2 和 b2 。为了简化操作,我们将输入标量形状到神经网络,因此这些参数也可以是标量。以下是生成参数的代码:
key = Nx.Random.key(42)
{w1, new_key} = Nx.Random.uniform(key)
{b1, new_key} = Nx.Random.uniform(new_key)
{w2, new_key} = Nx.Random.uniform(new_key)
{b2, new_key} = Nx.Random.uniform(new_key)
接下来,我们可以开始为随机输入生成预测:
Nx.Random.uniform_split(new_key, shape: {})
|> NeuralNetwork.predict(w1, b1, w2, b2)
运行上述代码后,你将看到类似如下的输出:
#Nx.Tensor<
f32
0.6635995507240295
&
超级会员免费看
订阅专栏 解锁全文
369

被折叠的 条评论
为什么被折叠?



