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

菏泽做网站建设的公司苏州网站建设相关技术

菏泽做网站建设的公司,苏州网站建设相关技术,分类目录网站程序,建筑人才网官网登录前一篇文章,CNN 卷积神经网络处理图片任务 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 本篇文章内容来自于 强化学习必修课:引领人工智能新时代【梗直哥瞿炜】 使用 AlexNet 实现图片分类…

前一篇文章,CNN 卷积神经网络处理图片任务 | PyTorch 深度学习实战

本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started

本篇文章内容来自于 强化学习必修课:引领人工智能新时代【梗直哥瞿炜】

使用 AlexNet 实现图片分类

  • 经典卷积网络
  • AlexNet 特点
  • 实验代码
  • 实验结果
  • Why AlexNet Works
  • Links

经典卷积网络

以下是卷积神经网络发展的里程碑:

在这里插入图片描述

  • AlexNet 在各项比赛中,比其它算法好,证明了深度神经网络算法的优越性和前景
  • VGGNet 则使用比 AlexNet 更深更宽的网络,取得了比 AlexNet 还好的成绩
  • GoogLeNet 效果则比 VGGNet 更好
  • ResNet 引入残差模块,解决了深度网络训练中的退化问题,超越之前的模型
  • DenseNet 模型采用密集连接的结构,使模型具有更好的鲁棒性

AlexNet 特点

在这里插入图片描述

AlexNet 结构

![[../assets/media/screenshot_20250208184431.png]]

更多详细介绍,阅读作者 Paper 论文, ImageNet Classification with Deep Convolutional Neural Networks

视频资源:9年后重读深度学习奠基作之一:AlexNet【上】【论文精读】

实验代码

from torch.utils.data.sampler import SubsetRandomSampler
from torchvision import transforms
from torchvision import datasets
import torch.nn as nn
import torch
import numpy as np# configuration
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
data_rootdir = os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir, "data")################################
# 定义 dataset loader
################################
def get_train_valid_loader(data_dir,batch_size,augment,random_seed,valid_size=0.1,shuffle=True):# 正则化图片的参数,mean 和 std 的值来自于 imagenet 的数据统计normalize = transforms.Normalize(mean=[0.4914, 0.4822, 0.4465],std=[0.2023, 0.1994, 0.2010],)# define transformsvalid_transform = transforms.Compose([transforms.Resize((227, 227)),transforms.ToTensor(),normalize,])if augment:# 数据增强train_transform = transforms.Compose([transforms.RandomCrop(32, padding=4),transforms.RandomHorizontalFlip(),transforms.ToTensor(),normalize,])else:train_transform = transforms.Compose([transforms.Resize((227, 227)),transforms.ToTensor(),normalize,])# load the datasettrain_dataset = datasets.CIFAR10(root=data_dir, train=True,download=True, transform=train_transform,)valid_dataset = datasets.CIFAR10(root=data_dir, train=True,download=True, transform=valid_transform,)num_train = len(train_dataset)indices = list(range(num_train))split = int(np.floor(valid_size * num_train))if shuffle:np.random.seed(random_seed)np.random.shuffle(indices)train_idx, valid_idx = indices[split:], indices[:split]train_sampler = SubsetRandomSampler(train_idx)valid_sampler = SubsetRandomSampler(valid_idx)train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size, sampler=train_sampler)valid_loader = torch.utils.data.DataLoader(valid_dataset, batch_size=batch_size, sampler=valid_sampler)return (train_loader, valid_loader)def get_test_loader(data_dir,batch_size,shuffle=True):normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225],)# define transformtransform = transforms.Compose([transforms.Resize((227, 227)),transforms.ToTensor(),normalize,])dataset = datasets.CIFAR10(root=data_dir, train=False,download=True, transform=transform,)data_loader = torch.utils.data.DataLoader(dataset, batch_size=batch_size, shuffle=shuffle)return data_loader# CIFAR10 dataset
CIFAR10_data = os.path.join(data_rootdir, "CIFAR10")
train_loader, valid_loader = get_train_valid_loader(data_dir= CIFAR10_data,                                      batch_size = 64,augment = False,                                          random_seed = 1)test_loader = get_test_loader(data_dir= CIFAR10_data,batch_size = 64)################################
# 定义 Model
################################
class AlexNet(nn.Module):def __init__(self, num_classes=10):super(AlexNet, self).__init__()self.layer1 = nn.Sequential(nn.Conv2d(3, 96, kernel_size=11, stride=4, padding=0),nn.BatchNorm2d(96),nn.ReLU(),nn.MaxPool2d(kernel_size = 3, stride = 2))self.layer2 = nn.Sequential(nn.Conv2d(96, 256, kernel_size=5, stride=1, padding=2),nn.BatchNorm2d(256),nn.ReLU(),nn.MaxPool2d(kernel_size = 3, stride = 2))self.layer3 = nn.Sequential(nn.Conv2d(256, 384, kernel_size=3, stride=1, padding=1),nn.BatchNorm2d(384),nn.ReLU())self.layer4 = nn.Sequential(nn.Conv2d(384, 384, kernel_size=3, stride=1, padding=1),nn.BatchNorm2d(384),nn.ReLU())self.layer5 = nn.Sequential(nn.Conv2d(384, 256, kernel_size=3, stride=1, padding=1),nn.BatchNorm2d(256),nn.ReLU(),nn.MaxPool2d(kernel_size = 3, stride = 2))self.fc = nn.Sequential(nn.Dropout(0.5),nn.Linear(9216, 4096),nn.ReLU())self.fc1 = nn.Sequential(nn.Dropout(0.5),nn.Linear(4096, 4096),nn.ReLU())self.fc2= nn.Sequential(nn.Linear(4096, num_classes))def forward(self, x):out = self.layer1(x)out = self.layer2(out)out = self.layer3(out)out = self.layer4(out)out = self.layer5(out)out = out.reshape(out.size(0), -1)out = self.fc(out)out = self.fc1(out)out = self.fc2(out)return out######################################
# Setting Hyperparameters
######################################
num_classes = 10
num_epochs = 20
batch_size = 64
learning_rate = 0.005model = AlexNet(num_classes).to(device)# Loss and optimizer
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate, weight_decay = 0.005, momentum = 0.9)  # Train the model
total_step = len(train_loader)######################################
# Training
######################################
for epoch in range(num_epochs):for i, (images, labels) in enumerate(train_loader):  # Move tensors to the configured deviceimages = images.to(device)labels = labels.to(device)# Forward passoutputs = model(images)loss = criterion(outputs, labels)# Backward and optimizeoptimizer.zero_grad()loss.backward()optimizer.step()print ('Epoch [{}/{}], Step [{}/{}], Loss: {:.4f}' .format(epoch+1, num_epochs, i+1, total_step, loss.item()))# Validationwith torch.no_grad():correct = 0total = 0for images, labels in valid_loader:images = images.to(device)labels = labels.to(device)outputs = model(images)_, predicted = torch.max(outputs.data, 1)total += labels.size(0)correct += (predicted == labels).sum().item()del images, labels, outputsprint('Accuracy of the network on the {} validation images: {} %'.format(5000, 100 * correct / total))# Now, we see how our model performs on unseen data
with torch.no_grad():correct = 0total = 0for images, labels in test_loader:images = images.to(device)labels = labels.to(device)outputs = model(images)_, predicted = torch.max(outputs.data, 1)total += labels.size(0)correct += (predicted == labels).sum().item()del images, labels, outputsprint('Accuracy of the network on the {} test images: {} %'.format(10000, 100 * correct / total))

在这里插入图片描述

实验结果

以上代码在 NVIDIA GeForce RTX 2050 WDDM 显存上训练和测试,大约花了半个小时时间。
最终,测试集上的准确率达到了 82.24% 。
在这里插入图片描述

Why AlexNet Works

Links

  • Writing AlexNet from Scratch in PyTorch
  • ImageNet Classification with Deep Convolutional
    Neural Networks
  • Conv2d API in PyTorch
  • AlexNet 论文精读(上),9年后重读深度学习奠基作之一
  • AlexNet 论文精读(下)
  • AlexNet Explained: A Step-by-Step Guide

文章转载自:

http://jFUt0g2D.fqmbt.cn
http://vz5L211C.fqmbt.cn
http://JUuIQNx8.fqmbt.cn
http://cgZSJW9s.fqmbt.cn
http://lrZXmbZh.fqmbt.cn
http://4x6K2EGx.fqmbt.cn
http://zidwhGDA.fqmbt.cn
http://t0gOgLWg.fqmbt.cn
http://A71fSv4y.fqmbt.cn
http://XdQDzsVn.fqmbt.cn
http://OkMkbII7.fqmbt.cn
http://W9MDJkzR.fqmbt.cn
http://bWwNqpkO.fqmbt.cn
http://PcjFQahn.fqmbt.cn
http://9NKvidCq.fqmbt.cn
http://seFHYoAA.fqmbt.cn
http://5JHBjtQv.fqmbt.cn
http://2GeUqPiV.fqmbt.cn
http://iH5TlBS8.fqmbt.cn
http://8b3k2F2p.fqmbt.cn
http://3ptlv1a0.fqmbt.cn
http://3ybjYZIc.fqmbt.cn
http://jjmR9oWH.fqmbt.cn
http://YWf8ZLud.fqmbt.cn
http://Utx8ZFeO.fqmbt.cn
http://HJZzXM7Y.fqmbt.cn
http://X1BQtKIT.fqmbt.cn
http://znYALyiH.fqmbt.cn
http://WJ8wuL97.fqmbt.cn
http://RA2oc7Ni.fqmbt.cn
http://www.dtcms.com/wzjs/609984.html

相关文章:

  • 个人网站建设研究意义网页设计自我介绍模板代码html
  • 网站规划的类型深圳软件外包公司有哪些
  • 网站备案 服务内容上海住房和城市建设厅网站
  • 哈尔滨网站制作专业福田做商城网站建设哪家技术好
  • 网站主机是什么wordpress怎么让文章只显示摘要
  • 网站制作及维护合同京东内部券网站怎么做
  • 多个织梦dedecms网站怎么做站群seo外包公司优化
  • 公园网站建设方案广东今科网站建设
  • 甘肃建投土木工程建设有限公司网站后台温州苍南网站建设
  • 网站收费怎么做关键词排名代发
  • 自适应网站ui做几套户外网站设计
  • 行业型网站 赢利点网站站长在哪登陆后台
  • 建设公寓租房信息网站网店美工素材
  • 大连做网站大公司网站推广哪种方法最
  • 河北省建设中心网站网站内容包括哪些
  • 网站开发工程师绩效考核网站建设 跑业务
  • 网站的链接要怎么做ui设计师的工作内容包括哪些
  • 深圳制作网站建设的企业谷歌推广教程
  • 网站设计大作业wordpress怎样比较安全
  • 上海做淘宝网站建设房地产市场
  • 网站 跳出率 多少ui培训班大概多少钱
  • 为什么网站浏览不是做的那样宣传网站有哪些
  • 农家乐网站建设营销方案漳州市芗城区建设局网站
  • 心理医院网站优化服务商cent7.4安装wordpress
  • 旅游网站建设内容上海公司牌照价格最新价格
  • 3秒钟自动跳转网页苏州seo关键词优化排名
  • 做网站如何获利给公司做网络维护怎么样
  • 淄博网站优化公司舆情报告分析
  • 怎么建设网站视频教程中国沈阳网站在哪里下载
  • 建设银行官网站预约门户网站html模板