[pytorch]设备选择以及卷积神经网络的应用

0.写在前面:

首先这篇文章还没写完,因为今天要尝试对我之前的一个框架做一个简单的更新迭代,所以目前先更新这么多.

1.关于设备的选择

首先,目前的大多数电脑都是自带一些GPU(图形计算单元,在这里被称之为cuda), 需要安装相关的驱动才能正常使用这些设备和调用他们的具体情况.

复制代码
nvidia-smi

但是平时对于我们个人来说,我们的电脑基本无法承担上百万的数据调用,所以一般情况下,服务器是可以提供给我们这些东西.

如图所示是服务器上的GPU情况,可以看到服务器的开发者实现了一些其他的探测功能.

(1)单独设备的选取

首先注意一个情况,对于单一设备来说,我们称呼CPU为'cpu',称呼GPU为'gpu'

而在代码中,设备时被抽象为一个对象,我们可以通过torch包下的device来指定某个设备:

python 复制代码
torch.device('cpu')
torch.device('cuda') # 默认找到地0个GPU
torch.device('cuda:1') # 可以指定第一个GPU

# 以上三个函数会返回对应的一个设备连接对象

以上三个函数用来创建设备链接对象没通过这些设备可以获得具体的对象

当然在拿不准的时候,可以直接查询GPU的数目

python 复制代码
torch.cuda.device_count()

2.关于卷积神经网络的简单应用情况

如何构建神经网络,其实在上一篇博客中已经说到了,这里就简单介绍几个神经网络层构建函数

(1)卷积层

卷积层实现的效果其实就是一个简单的乘法加和,原理如图所示

python 复制代码
import torch.nn as nn

nn.Con2d( input_channels, kernet_num ,kernel_size=?, padding=0, stride=1)

注意一下参数中的第二个参数是我个人的理解,其实按照正常的普遍理解,这个应该叫"输出通道数目".

(2)平均池化层

(注意,大池化层的特点之一,都是不会改变频道的数目,也就是只会修改输入的尺寸,而不会修改输入的通道数目!!!!这个的pool东西,默认只有一层通道,也就是一个2d的核)

另外两个池化层需要输入的参数只有核的大小,以及步长

python 复制代码
import torch.nn as nn

nn.AvgPool2D(kernel_size=? stride=1)

(3)最大池化层

python 复制代码
import torch.nn as nn

nn.MaxPool2D(kernel_size=? stride=1)

3.如何讲模型和设备移动到指定设备上

首先我们在大多数情况下创建的张量和模型,都是默认在cpu上面的\

python 复制代码
arr.device    # cpu
net.device    # cuda/gpu

而在进行模型计算的时候,需要首先将模型和张量移动到统一设备上,这样计算很省时间

虽然但是,torch对于跨设备的数据和模型,提供了一些奇奇怪怪的手段来完成一个自动传递,但是真到了在训练的时候,临时传输不可避免地会造成大量的开销

使用to函数建立新链接即可

python 复制代码
cuda1=torch.device('cuda:1')
X = torch.tensor([0,1,2,3])
Y = X.to(cuda1)

X.device # cpu
Y.device # cuda1

而对于模型来说也是一样的的移动方式,使用to函数来实现

python 复制代码
# 顺便这里补充一个with语句
with语句用来创建一个上下文, 比如打开文件(这里要加上as)
或者说给模型设置为训练模式

当with语句中的函数块执行结束以后,就可以讲with对应的操作做一个取消
with net.train():
     ..........
当内部函数块执行结束以后,模型就会撤掉"转变为训练模式"这个操作
相关推荐
minhuan18 分钟前
构建AI智能体:三十一、AI医疗场景实践:医学知识精准问答+临床智能辅助决策CDSS
人工智能·医学知识问答·临床辅助决策·cdss·医学模型
大千AI助手32 分钟前
线性预热机制(Linear Warmup):深度学习训练稳定性的关键策略
人工智能·深度学习·大模型·模型训练·学习率·warmup·线性预热机制
七牛云行业应用37 分钟前
企业级AI大模型选型指南:从评估部署到安全实践
大数据·人工智能·安全
진영_39 分钟前
深度学习打卡第N6周:中文文本分类-Pytorch实现
人工智能·深度学习
龙亘川40 分钟前
智慧城市SaaS平台之智慧城管十大核心功能(六):业务指导系统
人工智能·智慧城市
龙亘川43 分钟前
智慧城市SaaS平台之智慧城管十大核心功能(七):后台支撑系统
服务器·人工智能·系统架构·智慧城市·运维开发·智慧城市saas平台
cms小程序插件【官方】1 小时前
pbootcms版AI自动发文插件升级到2.0版,支持AI配图、自动提取关键词
人工智能
AI 嗯啦1 小时前
计算机视觉----图像投影(透视)变换(小案例)
人工智能·opencv·计算机视觉
ZEGO即构开发者1 小时前
【ZEGO即构开发者日报】微信公众号上线“智能回复”功能;2025年8月中国应用/游戏厂商出海收入Top30榜;土耳其宣布将封禁29款社交/社媒应用……
人工智能·实时音视频·业界资讯·娱乐
serve the people2 小时前
召回率(Recall)
人工智能