PyTorch - 00 - 先决条件-神经网络编程系列

欢迎使用PyTorch进行有关神经网络编程的系列文章。在这篇文章中,我们将研究进行最佳准备所需的先决条件。 我们将对该系列进行概述,并简要介绍我们将要进行的项目。 这将使我们对本系列中学到什么以及将要掌握的技能有一个很好的了解。 事不宜迟,让我们直接了解细节。
本系列有两个主要前提条件:
1)编程经验
2)神经网络经验

Programming Experience

这个神经网络编程系列将重点介绍使用Python和PyTorch对神经网络进行编程。不必事先了解Python。 但是,通常需要了解编程。 任何编程经验或对变量,对象和循环等概念的了解都足以成功参与本系列。

在这里插入图片描述

Neural Network Experience

在本系列中,我们将使用PyTorch,关于PyTorch本身的发现之一是它是一个非常薄的Python深层学习神经网络API,这意味着从编程的角度来看,我们 将非常接近于从头开始编程神经网络。
在这里插入图片描述
因此,了解神经网络和深度学习基础绝对是有益的。 这不是必需的,但建议您首先学习深度学习基础知识系列。

Neural Network Programming Series - Syllabus

整个课程我们将分为两个部分,让我们看一下每个部分的细节:

第1部分:张量和操作
第1节:PyTorch简介

  1. PyTorch先决条件-神经网络编程系列
  2. PyTorch解释-Python深度学习神经网络API
  3. PyTorch安装-快速简便
  4. CUDA解释了-为什么深度学习使用GPU

第2节:张量介绍

  1. 张量解释-深度学习的数据结构
  2. 解释等级,轴和形状-深度学习张量
  3. CNN张量形状说明-CNN和功能图

第3节:PyTorch张量

  1. PyTorch张量说明-神经网络编程
  2. 创建用于深度学习的PyTorch张量-最佳选择

第4节:张量运算

  1. 展平,重塑和挤压-深度学习张量
  2. CNN展平操作可视化-张量批处理
  3. 深度学习张量-广播和元素操作
  4. ArgMax和Reduction
  5. Ops-用于深度学习的张量

第2部分:神经网络培训
第1节:数据和数据处理

  1. 数据在深度学习中的重要性-AI的时尚MNIST
  2. 提取,转换,加载(ETL)-深度学习数据准备
  3. PyTorch数据集和数据加载器-训练集探索

第2节:神经网络和PyTorch设计

  1. 建立PyTorch CNN-面向对象的神经网络
  2. CNN层-深度神经网络架构
  3. CNN权重-神经网络中的可学习参数
  4. 可调用神经网络-深度的线性层
  5. CNN转发方法-深度学习实现
  6. 正向传播说明-将图像传递到PyTorch神经网络
  7. 神经网络批处理-将图像批传递到PyTorch CNN
  8. CNN输出大小公式-额外的神经网络调试会话

第3节:训练神经网络

  1. CNN培训-使用单个批次
  2. CNN训练循环-使用多个时代
  3. 建立混淆矩阵-分析结果第1部分
  4. Stack vs Concat-深度学习Tensor Ops
  5. 将TensorBoard与PyTorch结合使用-分析结果第2部分
  6. 超参数实验-训练神经网络

第4节:神经网络实验

  1. 自定义代码-神经网络实验代码
  2. 自定义代码-同时进行超参数测试
  3. 数据加载-深度学习速度限制增加 在GPU上-使用CUDA训练神经网络
  4. 数据标准化-标准化数据集

Neural Network Programming: Part 1

神经网络编程系列的第一部分包括两个部分。 第一节将介绍PyTorch及其功能。 重要的是,我们将首先了解为什么还要使用PyTorch。 敬请期待。 此外,我们还将介绍CUDA,CUDA是用于Nvidia GPU上并行计算的软件平台。 如果您曾经想知道为什么深度学习首先要使用GPU,我们将在CUDA上介绍这些细节! 第二部分将全部关于张量,即深度学习的数据结构。 对张量有深入的了解对于成为深度学习编程专家至关重要,因此我们将详细介绍张量。

在这里插入图片描述
当然,我们将使用PyTorch,但是我们在本节中学习的概念和操作对于一般地理解神经网络是必需的,并且将适用于任何深度学习框架。

Neural Network Programming: Part 2

神经网络编程系列的第二部分将启动我们将共同构建的第一个深度学习项目。 第二部分包括三个部分。

第一部分将全面介绍深度学习的数据和数据处理及其与我们的深度学习项目的关系。 由于张量是深度学习的数据结构,因此我们将使用从第一部分中学到的关于张量的所有知识。 我们将介绍Fashion-MNIST数据集,该数据集将用于构建用于图像分类的卷积神经网络。

在这里插入图片描述
我们将了解如何使用PyTorch数据集和数据加载器来简化数据预处理和训练过程。

第二部分的第二部分将全部关于构建神经网络。 我们将使用PyTorch构建卷积神经神经网络。 在这里,我们将看到PyTorch非常接近从头开始构建神经网络。 本部分也是深度学习基础知识系列最有用的地方,因为我们将看到该系列讨论的许多概念的实现。

第三部分将向我们展示如何通过构造一个训练循环来训练神经网络,该训练循环可以优化网络的权重以适合我们的数据集。 如我们将看到的,训练循环是使用实际的Python循环构建的。

Project Preview: Training A CNN With PyTorch

我们的第一个项目将包含以下组件:

Python导入

  1. 数据:具有PyTorch数据集和DataLoader类的ETL
  2. 模型:卷积神经网络
  3. 训练:训练循环
  4. 分析:使用混淆矩阵

在神经网络程序设计系列的第二部分结束时,我们将对该项目有一个完整的了解,这将使我们成为PyTorch的坚强用户,并使我们对深度学习和神经网络有更深入的了解。 一般。

猜你喜欢

转载自blog.csdn.net/weixin_48367136/article/details/109215645
00