P29_利用GUP训练(一)

news/2025/11/26 17:57:01/文章来源:https://www.cnblogs.com/Samar-blog/p/19274033

P29_利用GUP训练(一)

1.方法1:调用.cuda()方法

(1)找到网络模型、数据(输入、标注)和损失函数,然后调用其.cuda()方法:

①网络模型如dyl模型:dyl.cuda(),②数据(输入、标注)即:imgs = imgs.cuda(),targets = targets.cuda(),③损失函数即loss_fn.cuda()

点击查看代码
#5.创建网络模型
dyl = Dyl()
dyl = dyl.cuda()#6.创建损失函数(交叉熵)
loss_fn = nn.CrossEntropyLoss()
loss_fn = loss_fn.cuda()#训练步骤和测试步骤中的imgs,targets = data
imgs = imgs.cuda()
targets = targets.cuda()
(2)其中更好的写法是:加上if torch.cuda.is.available():
点击查看代码
#例如模型加上if torch.cuda.is.available():
if torch.cuda.is.available():dyl = dyl.cuda()

使用这种方法很麻烦,但是可以看到gpu跑出来真的很快:

P29_gpu跑出来真的很快

2.使用Google Colab(前提是能访问Google)

(1)需要登录谷歌账号

和jupyter很像,
发现gpu不能用:

打开“修改-笔记本设置-把硬件改成gpu"

P29_选用谷歌跑gpu
P29_选用谷歌跑gpu_cuda能用

(2)在Google Colab运行P29_train_gpu_1.py
点击查看代码
import torch
import torchvision
from torch.utils.tensorboard import SummaryWriter#1.准备数据集
#1.1训练数据集
from torch import nn
from torch.utils.data import DataLoadertrain_data = torchvision.datasets.CIFAR10("./dataset",train=True,transform=torchvision.transforms.ToTensor(),download=True)
#1.2测试数据集
test_data = torchvision.datasets.CIFAR10("./dataset",train=False,transform=torchvision.transforms.ToTensor(),download=True)#2.查看训练/测试数据集有多少张:len()
train_data_size = len(train_data)
test_data_size = len(test_data)
#打印:python中格式化字符串的一种写法
#如果train_data_size=10,则打印输出:训练数据集的长度为:10
print("训练数据集的长度为:{}".format(train_data_size))
print("训练测试集的长度为:{}".format(test_data_size))#3.使用DataLoader来加载数据集
train_dataloader = DataLoader(train_data,batch_size=64)
test_dataloader = DataLoader(test_data,batch_size=64)#4.搭建神经网络
#(由于CIFAR10有10个类别,则网络为10分类的网络):CIFAR10模型结构
class Dyl(nn.Module):def __init__(self):super(Dyl, self).__init__()self.model = nn.Sequential(nn.Conv2d(3,32,5,1,2) ,   #padding为2,之前计算过nn.MaxPool2d(2),nn.Conv2d(32,32,5,1,2),nn.MaxPool2d(2),nn.Conv2d(32,64,5,1,2),nn.MaxPool2d(2),nn.Flatten(),nn.Linear(1024,64),nn.Linear(64,10))def forward(self, x):x = self.model(x)return x
#一般会把以上模型单独保存在一个py文件里面:P26_model.py
#注意:model文件和该train.py要在同一文件夹下#5.创建网络模型
dyl = Dyl()
dyl = dyl.cuda()#6.创建损失函数(交叉熵)
loss_fn = nn.CrossEntropyLoss()
loss_fn = loss_fn.cuda()#7.定义优化器
#learning_rate = 0.01
#1e-2=1*(10)^(-2)=1/100=0.01
learning_rate = 1e-2
optimizer = torch.optim.SGD(dyl.parameters(),lr = learning_rate)#8.设置训练网络的一些参数
#8.1用total_train_step记录训练的次数
total_train_step = 0
#8.2用total_test_step记录测试的次数
total_test_step = 0
#8.3用epoch记录训练轮次,训练10轮
epoch = 10#10.添加tensorboard
writer = SummaryWriter("logs_train")for i in range(epoch):print("第{}轮训练开始".format(i+1))#8.4训练步骤开始:dyl.train()#从训练的dataloader去取数据:for data in train_dataloader:imgs,targets = dataimgs = imgs.cuda()targets = targets.cuda()outputs = dyl(imgs)loss = loss_fn(outputs,targets)#优化器优化模型#优化器梯度清零optimizer.zero_grad()#损失反向传播:得到每一个参数节点的梯度loss.backward()#调用优化器的step:对其中每个参数进行优化optimizer.step()total_train_step = total_train_step + 1if total_train_step % 100 == 0:#print("训练次数:{},loss:{}".format(total_train_step,loss))print("训练次数:{},loss:{}".format(total_train_step,loss.item()))writer.add_scalar("train_loss",loss.item(),total_train_step)#9.测试步骤开始:dyl.eval()total_test_loss = 0#11.计算整体正确率total_accuracy = 0with torch.no_grad(): #梯度没有了,能保证不会对其进行调优for data in test_dataloader:imgs,targets = dataimgs = imgs.cuda()targets = targets.cuda()outputs = dyl(imgs)loss = loss_fn(outputs,targets)# total_test_loss = total_test_loss + loss#由于total_test_loss初始化为0,是个int类型,而loss是tensor数据类型,使用loss.item()total_test_loss = total_test_loss + loss.item()accuracy = (outputs.argmax(1) == targets ).sum()total_accuracy = total_accuracy + accuracyprint("整体测试集上的loss为:{}".format(total_test_loss))#整体测试集上的正确率 = 总共预测对的数据/测试数据集上的个数print("整体测试集上的正确率为:{}".format(total_accuracy/test_data_size))writer.add_scalar("test_loss",total_test_loss,total_test_step)writer.add_scalar("test_accuracy",total_accuracy/test_data_size,total_test_step)total_test_step = total_test_step + 1#11.保存模型(保存每一轮训练的结果)torch.save(dyl,"dyl_{}.pth".format(i))#torch.save(dyl.state_dict(),"dyl_{}.pth".format(i))print("模型已保存")writer.close()

运行如下,仅用时1分钟:

点击查看代码
100%|██████████| 170M/170M [00:03<00:00, 48.9MB/s]
训练数据集的长度为:50000
训练测试集的长度为:10000
第1轮训练开始
训练次数:100,loss:2.2890524864196777
训练次数:200,loss:2.2805564403533936
训练次数:300,loss:2.259554862976074
训练次数:400,loss:2.1806514263153076
训练次数:500,loss:2.0599446296691895
训练次数:600,loss:2.014772415161133
训练次数:700,loss:2.000741481781006
整体测试集上的loss为:315.0673141479492
整体测试集上的正确率为:0.28360000252723694
模型已保存
第2轮训练开始
训练次数:800,loss:1.8652737140655518
训练次数:900,loss:1.834112286567688
训练次数:1000,loss:1.8954215049743652
训练次数:1100,loss:1.971741795539856
训练次数:1200,loss:1.7018647193908691
训练次数:1300,loss:1.641083002090454
训练次数:1400,loss:1.7378132343292236
训练次数:1500,loss:1.8231093883514404
整体测试集上的loss为:298.4915977716446
整体测试集上的正确率为:0.32339999079704285
模型已保存
第3轮训练开始
训练次数:1600,loss:1.7254525423049927
训练次数:1700,loss:1.657171607017517
训练次数:1800,loss:1.9478938579559326
训练次数:1900,loss:1.706923246383667
训练次数:2000,loss:1.8814713954925537
训练次数:2100,loss:1.500960111618042
训练次数:2200,loss:1.4777264595031738
训练次数:2300,loss:1.7960994243621826
整体测试集上的loss为:259.3301887512207
整体测试集上的正确率为:0.406499981880188
模型已保存
第4轮训练开始
训练次数:2400,loss:1.729522705078125
训练次数:2500,loss:1.3426584005355835
训练次数:2600,loss:1.6002354621887207
训练次数:2700,loss:1.684340238571167
训练次数:2800,loss:1.4967888593673706
训练次数:2900,loss:1.5782129764556885
训练次数:3000,loss:1.359269618988037
训练次数:3100,loss:1.5283527374267578
整体测试集上的loss为:242.99408984184265
整体测试集上的正确率为:0.43959999084472656
模型已保存
第5轮训练开始
训练次数:3200,loss:1.3664240837097168
训练次数:3300,loss:1.4924986362457275
训练次数:3400,loss:1.4467047452926636
训练次数:3500,loss:1.5090128183364868
训练次数:3600,loss:1.5577365159988403
训练次数:3700,loss:1.3685413599014282
训练次数:3800,loss:1.2862745523452759
训练次数:3900,loss:1.4254090785980225
整体测试集上的loss为:239.26388657093048
整体测试集上的正确率为:0.44509997963905334
模型已保存
第6轮训练开始
训练次数:4000,loss:1.3754222393035889
训练次数:4100,loss:1.4235591888427734
训练次数:4200,loss:1.5399119853973389
训练次数:4300,loss:1.2159309387207031
训练次数:4400,loss:1.138811469078064
训练次数:4500,loss:1.3563718795776367
训练次数:4600,loss:1.4215106964111328
整体测试集上的loss为:231.33142125606537
整体测试集上的正确率为:0.4651999771595001
模型已保存
第7轮训练开始
训练次数:4700,loss:1.3076436519622803
训练次数:4800,loss:1.5358412265777588
训练次数:4900,loss:1.3899439573287964
训练次数:5000,loss:1.3983232975006104
训练次数:5100,loss:0.9627978801727295
训练次数:5200,loss:1.317246675491333
训练次数:5300,loss:1.1845314502716064
训练次数:5400,loss:1.3754074573516846
整体测试集上的loss为:220.0756711959839
整体测试集上的正确率为:0.4975999891757965
模型已保存
第8轮训练开始
训练次数:5500,loss:1.2074824571609497
训练次数:5600,loss:1.2270691394805908
训练次数:5700,loss:1.221336841583252
训练次数:5800,loss:1.2056835889816284
训练次数:5900,loss:1.3447682857513428
训练次数:6000,loss:1.4489622116088867
训练次数:6100,loss:1.0195748805999756
训练次数:6200,loss:1.0643141269683838
整体测试集上的loss为:208.24758577346802
整体测试集上的正确率为:0.5264999866485596
模型已保存
第9轮训练开始
训练次数:6300,loss:1.385869026184082
训练次数:6400,loss:1.0935404300689697
训练次数:6500,loss:1.5920482873916626
训练次数:6600,loss:1.1219077110290527
训练次数:6700,loss:1.1198220252990723
训练次数:6800,loss:1.1673028469085693
训练次数:6900,loss:1.1212191581726074
训练次数:7000,loss:0.9083971977233887
整体测试集上的loss为:199.67288333177567
整体测试集上的正确率为:0.5457000136375427
模型已保存
第10轮训练开始
训练次数:7100,loss:1.2265293598175049
训练次数:7200,loss:1.0468568801879883
训练次数:7300,loss:1.1133828163146973
训练次数:7400,loss:0.8650857210159302
训练次数:7500,loss:1.2117706537246704
训练次数:7600,loss:1.2019312381744385
训练次数:7700,loss:0.8399395942687988
训练次数:7800,loss:1.2381956577301025
整体测试集上的loss为:194.8076994419098
整体测试集上的正确率为:0.5564999580383301
模型已保存

P29_选用谷歌跑gpu运行成果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/977468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年11月婚姻律师排名榜:离婚律师综合对比

北京婚姻律师实名推荐:从“顶层设计”到“细致入微”,盘点5位值得托付的家事律师 在婚姻家事纠纷中,选对律师是破局的关键。北京作为法律服务的聚集地,拥有众多优秀的家事律师。但如何从海量名单中找到最适合自己的…

十大留学机构排名 TOP10:2025 申请季破局密钥解密

2025 留学申请竞争白热化,文书作为核心竞争力,成为破局关键。以下拆解十大机构文书核心优势,助你精准拿捏名校录取逻辑。优越留学:三维文书闭环 + 全场景适配 【98 分】(https://www.peccn.com) 文书遵循 “精准…

2025十大留学中介排名TOP10:申请破局的文书制胜法则

在留学申请竞争日益激烈的当下,出色的文书往往成为决定录取结果的关键因素。本文深入剖析十大留学机构的文书服务特色,揭秘其如何通过专业的文书指导帮助学生实现申请突破。优越留学(评分95)(https://www.peccn.c…

市面主流公寓管理系统推荐,公寓管理系统软件排名

2025年的住房租赁行业正式迈入品质租住元年,市场逻辑从“规模至上”转向“慢规模、强产品、精运营”的高质量发展模式,保租房成为供给主力,不管是整栋楼的集中式公寓,还是散在各处的分散式房源,都得靠 “合规、安…

2025年11月iso9001认证/iso三体系认证/CE认证/iatf16949认证/iso27001认证厂家推荐:专业选择与深度解析

摘要 随着全球贸易一体化的加速,CE认证作为产品进入欧盟市场的强制性通行证,其重要性在2025年下半年愈发凸显。本文基于行业调研和用户反馈,整理出当前市场上值得关注的CE认证服务机构推荐榜单,排名不分先后,旨在…

2025年定制离焦镜品牌推荐榜单:定制离焦、定制离焦镜、个性化定制离焦镜引领技术新趋势

在儿童青少年近视防控需求持续升级的2025年,个性化定制离焦镜凭借其“精准防护、适配个体”的技术优势,成为家长与验光机构的首选方案。本期推荐聚焦技术与服务双核心,结合产品研发实力、临床数据支撑及市场口碑,评…

留学机构排行榜TOP10:2025申请季的黄金法则!

在全球申请竞争日益激烈的背景下,一份打动招生官的文书往往成为突围关键。2025申请季已至,如何在众多申请者中脱颖而出?本文深入剖析业内备受瞩目的十大留学服务机构,聚焦其文书申请核心优势,为学子提供科学选择依…

留学中介排行榜TOP10:谁是2025申请季的王牌?

随着2025申请季拉开帷幕,留学市场的竞争愈发白热化。在这场没有硝烟的战争中,一份高质量的申请文书往往是决定成败的关键一子。究竟哪些机构能凭借其专业的文书优势,成为引领学生走向心仪Offer的"王牌"?…

2025年大型镀锌锅优质厂家权威推荐榜单:热镀锌锅设备/专业镀锌锅/工业镀锌锅设备源头厂家精选

在金属表面处理与防腐工程领域,大型镀锌锅的性能直接影响镀锌质量、能耗成本与生产安全。行业数据显示,高品质镀锌锅可降低锌渣产率30%以上,同时提升热效率15%-25%。本文基于材质工艺、节能指标、耐用性及行业应用案…

what are you saying?

map<string,string>m; #include <bits/stdc++.h> using namespace std; int main() {string s1;cin>>s1;map<string,string>m;while(cin>>s1&&s1!="END"){string s2;…

2025 年最新推荐钢结构厂家排行榜:覆盖设计施工制造全领域,精选高性能高品质靠谱厂家钢结构施工/钢结构厂房/钢结构平台/钢结构安装/钢结构仓库/重型钢结构/钢结构雨棚公司推荐

引言 在建筑工业化、绿色化发展的浪潮下,钢结构凭借强度高、工期短、可回收的核心优势,已成为工业厂房、商业建筑、公共设施等场景的优选方案。但当前钢结构市场鱼龙混杂,部分企业存在资质缺失、技术落后、服务脱节…

2025年幼儿园设计厂家引领者,飞友以安全重塑行业标准

幼儿园是孩子们开启成长旅程的第一片天地,安全则是这片天地的“生命线”。作为深耕幼儿园设计领域的专业厂家,飞友始终坚信,所有美好的教育空间设计,都必须以极致安全为前提。从材料甄选到空间规划,从细节构造到功…

2025留学中介排名TOP10:留学机构文书申请优势大公开!

2025申请季已拉开帷幕,留学中介排名TOP10成为学生家长热议焦点。本榜单综合机构文书质量、服务透明度、案例成功率三大维度,精选十大留学中介与十大留学机构,特别聚焦文书申请优势,助你精准选择“一鸣惊人”的合作…

留学中介机构排名TOP10怎么选?哪家能助申请

留学申请季,面对众多机构的宣传,不少学子陷入选择困境。真正能助力申请的机构,需在规划专业性、资源匹配度、申请成果等方面经得起检验。以下结合核心业务表现与实际申请价值,梳理出留学中介机构排名 TOP10,为选对…

2025 年保温板源头厂家最新推荐排行榜:国家级高新技术企业领衔,优质品牌地暖 / 环保保温板精选

引言 在建筑节能政策持续收紧与绿色建材需求激增的背景下,保温板作为核心节能材料,其品质直接决定建筑能耗、居住安全与使用寿命。当前市场乱象丛生,部分厂家存在原料掺假、工艺落后、环保不达标等问题,导致保温性…

川渝火锅团建地TOP10:2025年人气排行,成都火锅/鸳鸯火锅/特色美食/重庆火锅/冒菜nbsp;川渝火锅聚餐地点营业到几点

前言 随着企业团建需求的多元化发展,川渝火锅凭借其独特的社交属性与浓郁的地域文化特色,正成为万象城商圈企业团建的热门选择。本文基于公开市场数据、消费者口碑评价及实地探访体验,从品牌特色、空间容量、服务质…

2025年11月深圳装修设计公司最新推荐,办公室、酒店、展厅、写字楼、厂房、公寓、店铺工装装修多维度综合考量

当前深圳写字楼、酒店、厂房等工装场景对装修设计的需求愈发精细化,空间利用率、功能适配性、环保标准等核心诉求不断升级,但市场上装修公司资质良莠不齐,部分服务商存在设计落地偏差大、施工质量不达标、售后响应滞…

留学机构排行榜TOP10发布,优质服务机构全收录

随着留学热潮持续升温,选择靠谱的留学机构成为学子们的重要课题。这份 TOP10 留学机构排名,综合考量服务专业性、文书质量、录取成果等关键因素,既筛选出实力出众的优质机构,也客观呈现部分机构的短板,为学子择校…

Actix-Web路由

一、路由 上一篇文章,介绍了Actix-Web入门知识,链接如下:https://www.cnblogs.com/xiao987334176/p/19271995 接下来介绍路由 基础路由 修改主代码 src/main.rsuse actix_web::{get, post, put, delete, web, HttpR…

服务质量一目了然,十大留学机构实力排名发布

在留学热潮持续升温的当下,选择靠谱的留学机构成为学子和家长的核心诉求。优质机构能凭借专业服务为留学之路保驾护航,而资质参差不齐的机构则可能耽误申请进程。以下结合服务质量、申请成果、资源实力等核心维度,整…