第1章 - 基础知识实训操作手册

1. 深度学习与神经网络简介

目标:理解深度学习的基本概念,以及它与传统机器学习的区别。

内容:

a. 什么是神经网络?

神经网络是一种模拟人脑神经元工作方式的算法模型。它由多个节点(或称为“神经元”)组成,这些节点在层级结构中组织起来。每个连接都有一个权重,通过调整这些权重,网络可以学习从输入数据中提取特征。

b. 深度学习与传统机器学习的区别?

传统机器学习算法通常依赖于手工特征提取,而深度学习算法可以自动地从数据中学习这些特征。深度学习通常依赖于神经网络结构,尤其是当网络有多个隐藏层时,它被称为“深度”神经网络。

c. 深度学习的应用领域?

  • 深度学习已经在许多领域显示出其能力,如图像识别、语音识别、自然语言处理、医疗诊断和自动驾驶汽车等。

2. PyTorch简介

目标:了解PyTorch的背景、特点和它在深度学习领域的位置。

内容:

a. PyTorch的发展历程

PyTorch起源于Facebook的AI研究实验室。它是基于Torch的开源机器学习库,专为图形处理单元(GPU)和深度学习研究而设计。

b. PyTorch与其他深度学习框架(如TensorFlow)的比较

  • PyTorch提供了动态计算图,这使得它在研究和原型设计中特别受欢迎。而TensorFlow在早期版本中主要提供静态计算图,尽管后来的版本也提供了动态计算图的选项。这两个框架都有强大的社区支持,但在某些研究社区中,PyTorch因其易用性和灵活性而更受欢迎。

3. 安装PyTorch

目标:成功安装PyTorch和相应的依赖库。

  • 操作步骤:
    • 访问PyTorch官方网站的安装指南:PyTorch Official
    • 选择适合您操作系统和CUDA版本的安装命令。
    • 在终端或命令提示符中运行该命令。
  • 注意点:
    • 确保Python环境已经安装并且是最新版本。
    • 对于需要GPU支持的机器,请确保已经安装了NVIDIA的CUDA工具。

具体步骤:

# 对于大部分用户,以下命令可以安装
PyTorch: !pip install torch torchvision  


# 如果你的机器上安装了CUDA,确保选择与CUDA版本匹配的PyTorch版本。 

4. PyTorch基础概念:张量(Tensors)

目标:理解张量的概念,能够进行基本的张量操作。

操作步骤:

import torch  


# 1. 创建一个张量 
x = torch.tensor([1, 2, 3]) print(x)  


# 2. 查看张量的形状 
print(x.shape)  


# 3. 进行基本的张量操作,如加法 
y = torch.tensor([4, 5, 6]) z = x + y print(z)  


# 4. 张量乘法 
product = x * y print(product)  


# 5. 张量的形状变化 
a = torch.randn(2, 3) reshaped_a = a.view(3, 2) print(reshaped_a) 

注意:

  • 张量在PyTorch中与Numpy数组类似,但张量可以在GPU上进行计算,而Numpy数组只能在CPU上进行计算。确保在进行张量操作时,所有参与的张量都具有兼容的形状。

实战项目:使用PyTorch进行基础的张量操作,如创建、修改和组合张量

目标:熟练掌握创建、修改和组合张量的技能。

  • 操作步骤:

创建一个形状为(5, 5)的随机张量。

a = torch.rand(5, 5) print(a) 

创建一个形状为(5, 5)的单位矩阵。

b = torch.eye(5) print(b) 

进行张量乘法。

c = torch.mm(a, b) print(c) 

改变张量形状。

d = a.view(25) print(d) 
  • 注意:
    • 使用view方法改变张量形状时,确保总元素数量不变。
    • 要区分点乘(*)和矩阵乘法(torch.mm)。
Logo

汇聚原天河团队并行计算工程师、中科院计算所专家以及头部AI名企HPC专家,助力解决“卡脖子”问题

更多推荐