用PyTorch构建神经网络,详细

本文介绍了如何使用PyTorch从头开始构建神经网络,包括神经网络的基础概念、如何建立神经网络以及如何利用神经网络。内容涵盖神经网络的工作原理、PyTorch的核心特性、网络结构以及激活函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在本文章中,我们将使用PyTorch从头开始实现一个简单的神经网络。

注:阅读本文之前,最好可以了解神经网络的工作原理。

虽然有很多库可以用于深度学习,但我最喜欢 PyTorch。作为一名python 程序员,我喜欢 PyTorchpython 行为是原因之一。它主要使用了python 的风格和能力,这是很容易理解和使用。

在其核心,PyTorch提供两个主要特性:

  1. 一个类似于numpyn 维张量,但可以在 gpu 上运行;

  2. 自动区分建立和训练神经网络。

什么是神经网络?

神经网络是一组可以模仿人类大脑,并被设计用来识别模式的算法。这些网络是由接近神经元的单个部分构成的,通常称为单元或简称为“神经元”每个单元有一定数量的加权输入。这些加权的输入总和在一起(一个线性组合) ,然后通过一个激活函数来得到单位输出。

神经网络中的节点类型:

  1. 输入单元ーー把外界的资讯输入网络,统称为「输入层」。这些节点不执行任何计算,它们只是将信息传递给隐藏节点;

  2. 隐藏单元ーー这些节点与外界没有任何直接联系。它们执行计算并将信息从 Input 节点传输到 Output 节点。一个隐藏节点的集合形成了一个“隐藏层”。虽然前馈网络只有一个输入层和一个输出层,但是它可以有零个或多个隐藏层;

  3. 输出单元ーー输出节点统称为「输出层」 ,负责计算及将网络上的资讯传送到外界。

每一层包含一个或多个节点。

码字不易废话两句:有需要python学习资料的或者有技术问题交流 “点击”即可

建立神经网络

PyTorch 提供了一个模块 nn,使得构建网络更加简单。我们将看到如何建立一个有784个输入,256个隐藏单元,10个输出单元和一个softmax 输出单元的神经网络。

from torch import nnclass Network(nn.Module):
    def __init__(self):
        super().__init__()
        
        # Inputs to hidden layer linear transformation
        self.hidden = nn.Linear(784, 256)
        # Output layer, 10 units - one for each digit
        self.output = nn.Linear(256, 10)
        
        # Define sigmoid activation and softmax output
        self.sigmoid = nn.Sigmoid(</
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值