当前位置: 首页 > ai >正文

深度学习(深度神经网络)Pytorch框架

目录

一.深度学习核心框架的选择         

1.深度学习框架的介绍

2.框架选择与安装

3.CPU与GPU的架构差异

4.GPU的显存与性能指标

5.pytorch安装(GPU版本)

①查看GPU

②在命令行输入nvidia-smi查看cuda版本

③安装cuda驱动软件

④输入nvcc –V查看cuda是否安装成功

⑤安装torch(自行下载安装包,离线导入三方库的方式)

二.pytorch框架的认识

1.构架神经网络模型

①数据集与工具介绍

②数据可视化


一.深度学习核心框架的选择         

1.深度学习框架的介绍

  • Caffe(2015年):贾扬清开发,早期主流框架,因缺乏持续更新逐渐被淘汰。
  • TensorFlow(2017年)
    • 一版本代码冗长,后被Keras封装简化。
    • 二版本优化底层但不兼容一版本,目前仍广泛使用。
  • PyTorch(2018年)
    • Facebook开发,易用性高,支持动态计算图。
    • 近年使用率显著上升(约59%),成为大模型开发的主流框架。

2.框架选择与安装

  • 推荐优先学习PyTorch,因其社区支持、易用性及大模型适配性。
  • 安装指南:
    • 访问官网(pytorch.org),选择稳定版(如2.8.0)、操作系统(Windows)、包管理工具(pip)及计算平台(CPU/GPU)。
  • GPU优势:
    • 并行计算能力强,适合处理矩阵运算(如图像数据),显著加速模型训练。
    • 对比CPU需切割数据分批处理,GPU可直接处理大规模矩阵。

3.CPU与GPU的架构差异

  • GPU设计:90%运算单元,5%控制单元,5%缓存单元,专注于并行计算(如画面渲染)。
  • CPU设计:强调多任务/多线程处理,需强大控制单元(处理if/while等逻辑)。
  • 英伟达早期显卡主要用于游戏,2019年后因AI需求爆发(如深度学习)成为核心硬件。

4.GPU的显存与性能指标

  • 显存容量:决定算力空间(如6G、24G),直接影响同时处理的数据量(如多张图片并行计算)。
  • 显存频率(如1600-5000兆赫兹):越高则数据处理速度越快。
  • 显存位宽(如64-384位):单周期内传输数据量,影响执行效率。
  • 推荐优先关注显存容量,其次为频率和位宽。

5.pytorch安装(GPU版本)

①查看GPU

打开任务管理器,点开性能一栏

②在命令行输入nvidia-smi查看cuda版本

CUDA作用:作为GPU计算的桥梁,提供编程接口,使程序能调用GPU算力

注意::显示的CUDA版本为驱动支持的最高版本,需单独安装CUDA工具包

版本选择:根据查询结果选择匹配的PyTorch版本(如驱动支持12.7则选≤12.7的CUDA版本)

③安装cuda驱动软件

自行搜索安装教程

④输入nvcc –V查看cuda是否安装成功

⑤安装torch(自行下载安装包,离线导入三方库的方式)

进入官网https://download.pytorch.org/whl

找到torch并进入

下载完成之后打开文件所在地址复制,在命令行使用pip install 地址 进行离线安装torch库

相同的操作下载torchvision和torchaudio库离线安装,注意版本号的选择版本需与 CUDA 版本一致(如 torch 1.17 对应 torchvision 0.14.1、torchaudio 0.13.1

二.pytorch框架的认识

1.构架神经网络模型

import torch
from torch import nn#导入神经网络模块
from torch.utils.data import DataLoader#数据包管理工具,打包数据
from torchvision import datasets#封装了很多与图像相关的模型,和数据集
from torchvision.transforms import ToTensor#将其他数据类型转化为张量

①数据集与工具介绍

  • torchvision.datasets 提供预置数据集(如 MNIST 手写数字),可直接下载并自动转换为 tensor 类型(张量数据)。
  • torch.utils.data.DataLoader 用于管理数据集,transforms 模块用于数据预处理(如转为张量)。
  • 示例:通过 MNIST(root='data', train=True, download=True, transform=ToTensor()) 下载训练集,标签为数字(0-9)。
    train_data=datasets.MNIST(root='data',train=True,download=True,transform=ToTensor()
    )
    test_data=datasets.MNIST(root='data',train=False,download=True,transform=ToTensor()
    )

train=True,是否读取下载后数据中的训练集
download=True,如果之前下载过则不用下载

②数据可视化

  • 使用 matplotlib 展示图片:从 train_data 提取单张图片(如第 59000 张),通过 squeeze() 降维(从三维 [1,28,28] 到二维 [28,28]),以灰度图形式显示。
  • 代码示例:循环展示 9 张图片,关闭坐标轴(axis('off')),标签标注对应数字。
#展示手写照片
from matplotlib import pyplot as plt
figure=plt.figure()
for i in range(9):img,label=train_data[i+59000]figure.add_subplot(3,3,i+1)plt.title(label)plt.axis('off')plt.imshow(img.squeeze(),cmap='gray')
plt.show()

img,label=train_data[i+59000]#提取第59000张照片
figure.add_subplot(3,3,i+1)#图像窗口中创建多个小窗口,小窗口用于显示图片plt.imshow(img.squeeze(),cmap='gray')#img.squeeze()从张量img中去掉维度为1的,如果该维度大小不为1则不会改变,cmap='gray'表示显示灰度图

http://www.xdnf.cn/news/18552.html

相关文章:

  • LoRA 微调
  • Trip Footprint旅行足迹App技术架构全解析
  • 迭代器模式与几个经典的C++实现
  • 机器学习案例——预测矿物类型(模型训练)
  • 【JVM内存结构系列】一、入门:先搞懂整体框架,再学细节——避免从一开始就混淆概念
  • Linux服务器利用Systemd配置定时任务
  • FLOPs、TFLOPs 与 TOPS:计算能力单位
  • 纠删码技术,更省钱的分布式系统的可靠性技术
  • JAVA核心基础篇-枚举
  • Claude Code 新手使用入门教程
  • 【Kubernetes知识点】资源配额与访问控制
  • Qt + windows+exe+msvc打包教程
  • AI热点周报(8.17~8.23):Pixel 10“AI周”、DeepSeek V3.1发布,英伟达再起波澜?
  • 【python】get_dummies()用法
  • AI大模型 限时找我领取
  • 心灵笔记:人生管理模型
  • 简单AI:搜狐公司旗下AI绘画产品
  • 均匀实心球内部引力与半径成正比的牛顿壳层定理证明
  • MATLAB实现CNN-LSTM-Attention 时序和空间特征结合-融合注意力机制混合神经网络模型的风速预测
  • c语言学习_数组使用_扫雷1
  • 1.十天通关常见算法100题(第一天)
  • 科研笔记:博士生手册
  • 【每天一个知识点】训推一体机
  • 数据结构的线性表:顺序表
  • 坑洼铁皮矫平机:把“波浪”变成“镜面”的科学魔法
  • 旅行足迹App技术架构全解析
  • 二、BPMNJS简介
  • 【51单片机非精准延时演示来回流水灯效果】2022-11-10
  • Claude Code赋能企业级开发:外卖平台核心系统的智能化重构
  • n8n 键盘快捷键和控制