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

京东网站的公司地址莱芜新闻最新消息

京东网站的公司地址,莱芜新闻最新消息,四川成都最新新闻事件今天,网站视频插件代码大纲 创建设备训练推理总结 在《Windows Subsystem for Linux——支持cuda能力》一文中#xff0c;我们让开发环境支持cuda能力。现在我们要基于《0基础学习PyTorch——时尚分类#xff08;Fashion MNIST#xff09;训练和推理》#xff0c;将代码修改成支持cuda的训练和推… 大纲 创建设备训练推理总结 在《Windows Subsystem for Linux——支持cuda能力》一文中我们让开发环境支持cuda能力。现在我们要基于《0基础学习PyTorch——时尚分类Fashion MNIST训练和推理》将代码修改成支持cuda的训练和推理。 创建设备 我们首先需要依据环境是否支持cuda来创建相应设备。 device torch.device(cuda if torch.cuda.is_available() else cpu)因为我们开发环境WSL已经支持了cuda所以此时我们创建的是GPU设备。 训练 训练的过程有两处修改 将模型实例化到GPU上。 model GarmentClassifier().to(device) # model GarmentClassifier()将数据移动到GPU上。 inputs, labels data # 获取输入数据和对应的标签 inputs, labels inputs.to(device), labels.to(device) # 将数据移动到GPU上完整代码如下 from datetime import datetime import torch import torchvision import torchvision.transforms as transforms from garmentclassifier import GarmentClassifier# 定义图像转换操作将图像转换为张量并进行归一化处理 transform transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5,), (0.5,))]) # 对图像的每个通道进行标准化使得每个通道的像素值具有零均值和单位标准差# 加载FashionMNIST训练数据集并应用定义的图像转换操作 training_set torchvision.datasets.FashionMNIST(./data, trainTrue, transformtransform)# 创建数据加载器用于批量加载训练数据batch_size为4数据顺序随机打乱 trainloader torch.utils.data.DataLoader(training_set, batch_size4, shuffleTrue)# 将模型移动到GPU上 device torch.device(cuda if torch.cuda.is_available() else cpu)# 实例化模型并移动到GPU上 model GarmentClassifier().to(device)# 定义损失函数为交叉熵损失 loss_fn torch.nn.CrossEntropyLoss() # 定义优化器为随机梯度下降SGD学习率为0.001动量为0.9 optimizer torch.optim.SGD(model.parameters(), lr0.001, momentum0.9)# 训练模型训练2个epoch for epoch in range(2):running_loss 0.0 # 初始化累计损失# 枚举数据加载器中的数据i是批次索引data是当前批次的数据for i, data in enumerate(trainloader, 0):inputs, labels data # 获取输入数据和对应的标签inputs, labels inputs.to(device), labels.to(device) # 将数据移动到GPU上optimizer.zero_grad() # 清空梯度outputs model(inputs) # 前向传播计算模型输出loss loss_fn(outputs, labels) # 计算损失loss.backward() # 反向传播计算梯度optimizer.step() # 更新模型参数running_loss loss.item() # 累加损失# 每2000个批次打印一次平均损失if i % 2000 1999:print(f[{epoch 1}, {i 1}] loss: {running_loss / 2000})running_loss 0.0 # 重置累计损失# 获取当前时间戳格式为 YYYYMMDD_HHMMSS timestamp datetime.now().strftime(%Y%m%d%H%M%S.pth)# 定义模型保存路径包含时间戳 model_path model_{}.format(timestamp) # 保存模型的状态字典到指定路径 torch.save(model.state_dict(), model_path)推理 GPU上算出的模型不一定非要在GPU上推理也可以在CPU上推理。 但是本文我们就是希望模型在GPU上推理则可以对代码做如下修改。 将模型实例化到GPU上。 model GarmentClassifier().to(device) # model GarmentClassifier()将数据移动到GPU上。 image image.to(device) # 将图像移动到GPU上完整代码如下 import os import glob import torch import torchvision.transforms as transforms from PIL import Image from datetime import datetime from garmentclassifier import GarmentClassifierdef get_latest_model_path(directory, patternmodel_*.pth):# 获取目录下所有符合模式的文件model_files glob.glob(os.path.join(directory, pattern))if not model_files:raise FileNotFoundError(No model files found in the directory.)# 找到最新的模型文件latest_model_file max(model_files, keyos.path.getmtime)return latest_model_file# 定义图像转换操作将图像转换为张量并进行归一化处理 transform transforms.Compose([transforms.Resize((28, 28)), # 调整图像大小为28x28transforms.ToTensor(),transforms.Normalize((0.5,), (0.5,)) ])# 将模型移动到GPU上 device torch.device(cuda if torch.cuda.is_available() else cpu)# 实例化模型并移动到GPU上 model GarmentClassifier().to(device) # 加载训练好的模型 model_path get_latest_model_path(./) # 获取最新的模型文件 model.load_state_dict(torch.load(model_path, weights_onlyFalse)) # 加载模型参数 model.eval() # 设置模型为评估模式# 从本地加载图像 image_path shoe.jpg # 替换为实际的图像路径 image Image.open(image_path).convert(L) # 将图像转换为灰度图# 预处理图像 image transform(image) image image.unsqueeze(0) # 增加一个批次维度 image image.to(device) # 将图像移动到GPU上# 推理预测 with torch.no_grad(): # 在推理过程中不需要计算梯度outputs model(image) # 前向传播计算模型输出_, predicted torch.max(outputs, 1) # 获取预测结果# 定义类别名称 classes (T-shirt/top, Trouser, Pullover, Dress, Coat,Sandal, Shirt, Sneaker, Bag, Ankle boot)# 打印预测结果 print(fPredicted label: {classes[predicted.item()]})总结 依据系统是否支持cuda来生成设备。模型和数据都要移动到相同的设备上。模型是由CPU还是GPU训练的并不影响推理使用CPU还是GPU。
http://www.dnsts.com.cn/news/217940.html

相关文章:

  • 中小型企业网站建设与推广从写代码到网站运行不了了
  • 建设银行的网站用户名是什么意思网站建设上机实验心得
  • 西安知名的集团门户网站建设企业湖北网站seo设计
  • 无锡网站建设 微信泰安网站建设538sw
  • 大连网站如何制作广告营销平台
  • 广告代理发布平台兰州新站点seo代理
  • 软件制作网站做网站从哪里买域名
  • 网站备案地区名国外旅游网站模板下载
  • 重庆市城市建设投资公司网站做网站打广告图片素材
  • 网站推广费用ihanshi郑州网站建设方案书
  • 网站建设用宝塔网店怎么开需要什么条件
  • 如何做类似优酷的视频网站搭建外文网站
  • 手机网站模板徐州网站制作苏视
  • 北京双井网站建设景观设计师
  • 网站建设html实训心得wordpress nginx ssl
  • 给企业做网站收入有没有做宠物的网站
  • 营销型网站的设计与建设荥阳网站建设荥阳
  • 安平县做网站的有哪些天津网站开发建设
  • 昆明做网站找天度假山网站建设
  • php网站开发实例编程网站空间是什么
  • 南通网站建设seo网络报警平台
  • 重庆科技建设信息网站wordpress文章图片全屏浏览
  • 随州网站建设价格wordpress 页面属性 模板
  • 杭州网站建设提供商成都网站建设新网创想
  • 青海省建设厅建管处网站为什么我的电脑打开了第一个网站打开第二个网站就网络出问题了?
  • 标签式网站内容管理卖印花图案设计网站
  • 电子商务网站设计方案资金盘做网站
  • jsp网站开发源码佛山市企业网站建设平台
  • 网站建设公司好发信息网网站建站公司哪家价钱合理
  • 上海网页建站模板网络域名费用多少钱