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

怎么用代码做网站推荐集团网站建设计划表百度

怎么用代码做网站推荐,集团网站建设计划表百度,怎么自创网站,广告设计是什么Github网址#xff1a;https://github.com/diaoquesang/pytorchTutorials/tree/main 本教程创建于2023/7/31#xff0c;几乎所有代码都有对应的注释#xff0c;帮助初学者理解dataset、dataloader、transform的封装#xff0c;初步体验调参的过程#xff0c;初步掌握openc… Github网址https://github.com/diaoquesang/pytorchTutorials/tree/main 本教程创建于2023/7/31几乎所有代码都有对应的注释帮助初学者理解dataset、dataloader、transform的封装初步体验调参的过程初步掌握opencv、pandas、os等库的使用纯手撸手写数字识别项目为减少代码量简化了部分数据集相关操作全流程跑通Pytorch❤️❤️❤️ This tutorial was created on 2023/7/31. Almost all the code has corresponding comments, to help beginners understand dataset, dataloader, transform packaging, preliminary experience of the process of tuning the parameters, the initial grasp of the use of libraries such as opencv, pandas, os, etc., and get involved in this handwritten digit recognition project (we simplified some dataset-related operations in order to reduce the amount of code). Enjoy the whole process of running Pytorch!❤️❤️❤️ 如果喜欢本项目的话留下你的⭐吧 Give me a ⭐ if you like this project! 一、train.py import torch import torchvisionfrom torch import nn import torch.nn.functional as F from torch.utils.data import Dataset, DataLoader from torchvision import transformsimport os import cv2 as cv import pandas as pdclass myDataset(Dataset): # 定义数据集类def __init__(self, annotations_file, img_dir, transformNone,target_transformNone): # 传入参数(标签路径,图像路径,图像预处理方式,标签预处理方式)self.img_labels pd.read_csv(annotations_file, sep , headerNone)# 从标签路径中读取标签,sep为划分间隔符,header为列标题的行位置self.img_dir img_dir # 读取图像路径self.transform transform # 读取图像预处理方式self.target_transform target_transform # 读取标签预处理方式def __len__(self):return len(self.img_labels) # 读取标签数量作为数据集长度def __getitem__(self, idx): # 从数据集中取出数据img_path os.path.join(self.img_dir, self.img_labels.iloc[idx, 0])# 从标签对象中取出第idx行第0列(第0列为图像位置所在列)的值(numberImages\5.bmp),并与图像路径(numberImages)进行拼接image cv.imread(img_path) # 用openCV的imread函数读取图像label self.img_labels.iloc[idx, 1] # 从标签对象中取出第idx行第1列(第1列为图像标签所在列)的值(5)if self.transform:image self.transform(image) # 图像预处理if self.target_transform:label self.target_transform(label) # 标签预处理return image, label # 返回图像和标签class myTransformMethod1(): # Python3默认继承object类def __call__(self, img): # __call___让类实例变成一个可以被调用的对象像函数img cv.resize(img, (28, 28)) # 改变图像大小img cv.cvtColor(img, cv.COLOR_BGR2RGB) # 将BGR(openCV默认读取为BGR)改为RGBreturn img # 返回预处理后的图像# 测试函数 # print(pd.read_csv(annotations.txt, sep , headerNone)) # print(os.path.join(numberImages, pd.read_csv(annotations.txt, sep , headerNone).iloc[5, 0])) # print(pd.read_csv(annotations.txt, sep , headerNone).iloc[5, 1]) # cv.imshow(1,cv.imread(os.path.join(numberImages, pd.read_csv(annotations.txt, sep , headerNone).iloc[5, 0]))) # cv.waitKey(0)class myNetwork(nn.Module): # 定义神经网络def __init__(self):super().__init__() # 继承nn.Module的构造器self.flatten nn.Flatten(-3, -1)# 继承nn.Module的Flatten函数并改为flatten,考虑到推理时没有batch(CHW),若使用默认值(1,-1)会导致C没有被flatten,故使用(-3,-1)self.linear_relu_stack nn.Sequential( # 定义前向传播序列nn.Linear(3 * 28 * 28, 512),nn.ReLU(),nn.Linear(512, 512),nn.ReLU(),nn.Linear(512, 10),)def forward(self, x): # 定义前向传播方法x self.flatten(x)logits self.linear_relu_stack(x)return logits# 设置运行环境,默认为cuda,若cuda不可用则改为mps,若mps也不可用则改为cpu device (cudaif torch.cuda.is_available()else mpsif torch.backends.mps.is_available()else cpu ) print(fUsing {device} device) # 输出运行环境model myNetwork().to(device) # 创建神经网络模型实例# 设置超参数 learning_rate 1e-5 # 学习率 batch_size 8 # 每批数据数量 epochs 3000 # 总轮数img_path ./numberImages # 设置图像路径 label_path ./annotations.txt # 设置标签路径myTransform transforms.Compose([myTransformMethod1(), transforms.ToTensor()]) # 定义图像预处理组合,ToTensor()中Pytorch将HWC(openCV默认读取为height,width,channel)改为CHW,并将值[0,255]除以255进行归一化[0,1]myDataset myDataset(label_path, img_path, myTransform) # 创建数据集实例myDataLoader DataLoader(myDataset, batch_sizebatch_size,shuffleTrue) # 创建数据读取器(可对训练集和测试集分别创建),batch_size为每批数据数量(一般为2的n次幂以提高运行速度),shuffle为随机打乱数据def train():# 根据epochs(总轮数)训练for epoch in range(epochs):totalLoss 0# 分批读取数据for batch, (images, labels) in enumerate(myDataLoader):# 数据转换到对应运行环境images images.to(device)labels labels.to(device)pred model(images) # 前向传播myLoss nn.CrossEntropyLoss() # 定义损失函数(交叉熵)optimizer torch.optim.Adam(model.parameters(), lrlearning_rate) # 定义优化器loss myLoss(pred, labels) # 计算损失函数totalLoss loss # 计入总损失函数loss.backward() # 反向传播optimizer.step() # 更新权重optimizer.zero_grad() # 清空梯度if batch % 1 0: # 每隔1个batch输出1次lossloss, current loss.item(), min((batch 1) * batch_size,len(myDataset))print(fepoch: {epoch:5d} loss: {loss:7f} [{current:5d}/{len(myDataset):5d}])if epoch 0:minTotalLoss totalLossif totalLoss minTotalLoss:print(······························模型已保存······························)minTotalLoss totalLosstorch.save(model, ./myModel.pth) # 保存性能最好的模型if __name__ __main__:model.train() # 设置训练模式train() 二、eval.py import torch import torchvisionfrom torch import nn import torch.nn.functional as F from torch.utils.data import Dataset, DataLoader from torchvision import transformsimport os import cv2 as cv import pandas as pdclass myTransformMethod1(): # Python3默认继承object类def __call__(self, img): # __call___让类实例变成一个可以被调用的对象像函数img cv.resize(img, (28, 28)) # 改变图像大小img cv.cvtColor(img, cv.COLOR_BGR2RGB) # 将BGR(openCV默认读取为BGR)改为RGBreturn img # 返回预处理后的图像class myNetwork(nn.Module): # 定义神经网络def __init__(self):super().__init__() # 继承nn.Module的构造器self.flatten nn.Flatten(-3, -1)# 继承nn.Module的Flatten函数并改为flatten,考虑到推理时没有batch(CHW),若使用默认值(1,-1)会导致C没有被flatten,故使用(-3,-1)self.linear_relu_stack nn.Sequential( # 定义前向传播序列nn.Linear(3 * 28 * 28, 512),nn.ReLU(),nn.Linear(512, 512),nn.ReLU(),nn.Linear(512, 10),)def forward(self, x): # 定义前向传播方法x self.flatten(x)logits self.linear_relu_stack(x)return logitsif __name__ __main__:model torch.load(./myModel.pth).to(cuda) # 载入模型model.eval() # 设置推理模式myTransform transforms.Compose([myTransformMethod1(), transforms.ToTensor()])# 定义图像预处理组合,ToTensor()中Pytorch将HWC(openCV默认读取为height,width,channel)改为CHW,并将值[0,255]除以255进行归一化[0,1]for i in range(10):img cv.imread(./numberImages/str(i).bmp) # 用openCV的imread函数读取图像img myTransform(img).to(cuda) # 图像预处理print(torch.argmax(model(img)))三、其余资料详见Github
http://www.hkea.cn/news/14402335/

相关文章:

  • 图书馆网站建设一览表网站开发所需开发环境
  • 简述如何对网站进行推广怎么在家做网站
  • 智慧团建入口登录网站找别人做公司网站第一步做什么
  • 套模板网站价格wordpress目录权限
  • 旅游网站建设步骤石排网站设计
  • 应用公园app在线制作平台官网百度推广优化师培训
  • 手机购物网站模版企业网站建设新站
  • 网站建设费是业务宣传费吗网络营销导向型企业网站建设的原则
  • html5行业网站传奇电脑版哪个好玩
  • 建设信用卡网站是什么做网站西安
  • 龙岗网站设计讯息wordpress页面颜色
  • 北京做手机网站的公司宁晋做网站
  • 网站是用什么技术做的wordpress如何让页面显示一篇文章
  • 龙岩网站排名个人网站备案能做什么内容
  • 做企业网站设计手机站博物馆网站建设方案报价
  • 如何在手机上做自己的网站6网站首页效果图怎么做
  • 如何做网站稳定客户建设网站是不是必须要服务器
  • 自己在家做网站wordpress虚拟3d网站
  • 做策划的人经常浏览的网站平面设计培训机构排名
  • 中山网站建设排名免费游戏直接进入
  • 旅游兼职网站建设上海到北京物流
  • 手机站点cn上线了做网站怎么查看
  • 大航母网站建设在哪里企业网站广告图片轮播代码
  • 网站的底部导航怎么做站长要维护网站
  • 查询公司信息的网站汕头seo推广优化
  • 住房和城乡建设部网站执业资格注册中心网页设计页面尺寸
  • 广东律师事务所东莞网站建设潭州学院网站建设报名
  • 男女做暖暖的试看网站酥酥影视wordpress允许爬取
  • 网站做的好不好看什么苏州建设网站
  • 成都品牌网站建设电话眉山建设银行官方网站