第2章 神经网络的构成

理解神经网络的基本组成部分,如张量、张量运算和梯度递减等,对构造复杂的神经网络至关重要。本章将构建首个神经网络的Hello world程序,并涵盖以下主题:

  • 安装PyTorch;
  • 实现第一个神经网络;
  • 划分神经网络的功能模块;
  • 介绍张量、变量、Autograd、梯度和优化器等基本构造模块;
  • 使用PyTorch加载数据。

PyTorch可以作为Python包使用,用户可以使用pipconda来构建,或者从源代码构建。本书推荐使用Anaconda Python 3发行版。要安装Anaconda,请参考Anaconda官方文档。所有示例将在本书的GitHub存储库中以Jupyter Notebook的形式提供。强烈建议使用Jupyter Notebook,因为它允许进行交互。如果已经安装了Anaconda Python,那么可以继续PyTorch安装的后续步骤。

基于GPU的Cuda 8版安装:

conda install pytorch torchvision cuda80 -c soumith

基于GPU的Cuda 7.5版安装:

conda install pytorch torchvision -c soumith

非GPU版的安装:

conda install pytorch torchvision -c soumith

在本书写作时,PyTorch还不支持Windows,所以可以尝试使用虚拟机或Docker镜像。

下面给出本书介绍的第一个神经网络,它将学习如何将训练示例(即输入数组)映射成目标(即输出数组)。假设我们为最大的在线公司之一Wondermovies工作(该公司按需提供视频服务),训练数据集包含了表示用户在平台上观看电影的平均时间的特征,网络将据此预测每个用户下周使用平台的时间。这是个假想出来的用例,不需要深入考虑。构建解决方案的主要分解活动如下。 ...

Get PyTorch深度学习 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.