pytorch构建模型训练数据集

news2024/11/26 0:27:02

pytorch构建模型训练数据集

  • pytorch构建模型训练数据集
    • 1.AlexNet:
      • 1.1.导入必要的库:
      • 1.2.数据预处理和增强:
      • 1.3.加载数据集:
      • 1.4.划分测试集和训练集:
      • 1.5.创建数据加载器:
      • 1.6.加载AlexNet模型:
      • 1.7.修改模型以适应您的数据集类别数
      • 1.8.定义损失函数和优化器
      • 1.9.将模型移动到GPU(如果可用)
      • 1.10.初始化列表来存储每个epoch的损失和准确率
      • 1.11.训练模型
      • 1.12.绘制损失图表和准确率图标:
    • 2.LeNet-5:
      • 2.1.导入必要的库:
      • 2.2.数据预处理和增强:
      • 2.3.加载数据集:
      • 2.4.划分训练集和测试集:
      • 2.5.创建数据加载器:
      • 2.6.定义LeNet-5模型结构:
      • 2.7.初始化LeNet-5模型
      • 2.8. 定义损失函数和优化器
      • 2.9.将模型移动到GPU(如果可用)
      • 2.10.初始化列表来存储每个epoch的损失和准确率
      • 2.11.训练模型
    • 3.ResNet:
      • 3.1.导入必要的库:
      • 3.2.数据预处理和增强:
      • 3.3.加载数据集:
      • 3.4.划分训练集和测试集:
      • 3.5.创建数据加载器:
      • 3.6.使用ResNet-18模型:
      • 3.7.修改全连接层以适应数据集:
      • 3.8.定义损失函数和优化器:
      • 3.9.将模型移动到GPU(如果可用):
      • 3.10.初始化列表来存储每个epoch的损失和准确率:
      • 3.11.训练模型并输出:
    • 4.VGG-16:
      • 4.1.导入必要的库:
      • 4.2.数据预处理和增强:
      • 4.3.加载数据集:
      • 4.4.划分训练集和测试集:
      • 4.5.创建数据加载器:
      • 4.6.加载VGG16模型:
      • 4.8.定义损失函数和优化器:
      • 4.9.将模型移动到GPU(如果可用):
      • 4.10.初始化列表来存储每个epoch的损失和准确率:
      • 4.11.训练模型与输出:
    • 5.VGG-19:
      • 5.1.导入必要的库:
      • 5.2.数据预处理和增强:
      • 5.3.加载数据集:
      • 5.4.划分训练集和测试集:
      • 5.5.创建数据加载器:
      • 5.6.加载VGG19模型:
      • 5.7.修改模型以适应数据集类别数:
      • 5.8.定义损失函数和优化器:
      • 5.9.将模型移动到GPU(如果可用):
      • 5.10.初始化列表来存储每个epoch的损失和准确率:
      • 5.11.训练模型与输出:

pytorch构建模型训练数据集

1.AlexNet:

1.1.导入必要的库:

import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
from torchvision import datasets, transforms, models
from torch.utils.data import DataLoader
import matplotlib.pyplot as plt

1.2.数据预处理和增强:

transform = transforms.Compose([
    transforms.Resize((227, 227)),  # AlexNet需要227x227像素的输入
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  # AlexNet的标准归一化参数
])

1.3.加载数据集:

data_path = 'D:/工坊/Pytorch的框架/flower_photos'
dataset = datasets.ImageFolder(data_path, transform=transform)

1.4.划分测试集和训练集:

train_size = int(0.8 * len(dataset))
test_size = len(dataset) - train_size

train_dataset, test_dataset = torch.utils.data.random_split(dataset, [train_size, test_size])

1.5.创建数据加载器:

train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)

1.6.加载AlexNet模型:

model = models.alexnet(pretrained=True)

1.7.修改模型以适应您的数据集类别数

num_classes = len(dataset.classes)
model.classifier[6] = nn.Linear(model.classifier[6].in_features, num_classes)

1.8.定义损失函数和优化器

criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters())

1.9.将模型移动到GPU(如果可用)

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

1.10.初始化列表来存储每个epoch的损失和准确率

train_losses = []
train_accuracies = []

1.11.训练模型

num_epochs = 50
for epoch in range(num_epochs):
    model.train()
    running_loss = 0.0
    correct = 0
    total = 0
    for inputs, labels in train_loader:
        inputs, labels = inputs.to(device), labels.to(device)
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()
    epoch_loss = running_loss / len(train_loader)
    epoch_accuracy = 100 * correct / total
    train_losses.append(epoch_loss)
    train_accuracies.append(epoch_accuracy)
print(f'Epoch {epoch + 1}/{num_epochs}, Loss: {epoch_loss}, Accuracy: {epoch_accuracy}%')

运行结果:
在这里插入图片描述

1.12.绘制损失图表和准确率图标:

#创建图表
plt.figure(figsize=(10, 5))
 #绘制损失
plt.subplot(1, 2, 1)
plt.plot(range(1, len(train_losses) + 1), train_losses, 'bo-', label='Training Loss')
plt.title('Training Loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
#绘制准确率
plt.subplot(1, 2, 2)
plt.plot(range(1, len(train_accuracies) + 1), train_accuracies, 'ro-', label='Training Accuracy')
plt.title('Training Accuracy')
plt.xlabel('Epochs')
plt.ylabel('Accuracy (%)')
plt.legend()
#显示图表
plt.tight_layout()
plt.show()

2.LeNet-5:

2.1.导入必要的库:

import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
from torchvision import datasets, transforms, models
from torch.utils.data import DataLoader
import matplotlib.pyplot as plt

2.2.数据预处理和增强:

#数据预处理和增强
transform = transforms.Compose([
    transforms.Resize((227, 227)),  # AlexNet需要227x227像素的输入
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  # AlexNet的标准归一化参数
])

2.3.加载数据集:

data_path = 'D:/工坊/Pytorch的框架/flower_photos'
dataset = datasets.ImageFolder(data_path, transform=transform)

2.4.划分训练集和测试集:

train_size = int(0.8 * len(dataset))
test_size = len(dataset) - train_size

train_dataset, test_dataset = torch.utils.data.random_split(dataset, [train_size, test_size])

2.5.创建数据加载器:

train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)

2.6.定义LeNet-5模型结构:

  • 包含两个卷积层和三个全连接层
class LeNet5(nn.Module):
    def __init__(self, num_classes):
        super(LeNet5, self).__init__()
        self.conv_net = nn.Sequential(
            nn.Conv2d(3, 6, kernel_size=5),
            nn.Tanh(),
            nn.AvgPool2d(kernel_size=2, stride=2),
            nn.Conv2d(6, 16, kernel_size=5),
            nn.Tanh(),
            nn.AvgPool2d(kernel_size=2, stride=2)
        )
        self.fc_net = nn.Sequential(
            nn.Linear(44944, 120),  # 修改这里以匹配卷积层的输出尺寸
            nn.Tanh(),
            nn.Linear(120, 84),
            nn.Tanh(),
            nn.Linear(84, num_classes)
        )
    
    def forward(self, x):
        x = self.conv_net(x)
        x = x.view(x.size(0), -1)  # 展平多维卷积层输出
        x = self.fc_net(x)
        return x

2.7.初始化LeNet-5模型

num_classes = len(dataset.classes)
model = LeNet5(num_classes)

2.8. 定义损失函数和优化器

criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters())

2.9.将模型移动到GPU(如果可用)

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

2.10.初始化列表来存储每个epoch的损失和准确率

train_losses = []
train_accuracies = []

2.11.训练模型

num_epochs = 50
for epoch in range(num_epochs):
    model.train()
    running_loss = 0.0
    correct = 0
    total = 0
    for inputs, labels in train_loader:
        inputs, labels = inputs.to(device), labels.to(device)
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()
    epoch_loss = running_loss / len(train_loader)
    epoch_accuracy = 100 * correct / total
    train_losses.append(epoch_loss)
    train_accuracies.append(epoch_accuracy)
    print(f'Epoch {epoch + 1}/{num_epochs}, Loss: {epoch_loss}, Accuracy: {epoch_accuracy}%')

3.ResNet:

3.1.导入必要的库:

import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
from torchvision import datasets, transforms, models
from torch.utils.data import DataLoader
import matplotlib.pyplot as plt

3.2.数据预处理和增强:

#数据预处理和增强
transform = transforms.Compose([
    transforms.Resize((224, 224)),  # 调整图像大小为 224x224像素,符合ResNet输入
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  
#ResNet的标准化参数
])

3.3.加载数据集:

#加载数据集
data_path = 'D:/工坊/深度学习/img/weather_photos'
dataset = datasets.ImageFolder(data_path, transform=transform)

3.4.划分训练集和测试集:

#划分训练集和测试集
train_size = int(0.8 * len(dataset))
test_size = len(dataset) - train_size

train_dataset, test_dataset = torch.utils.data.random_split(dataset, [train_size, test_size])

3.5.创建数据加载器:

  • 为数据集提供批量加载和随机洗牌的功能。
#创建数据加载器
train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)

3.6.使用ResNet-18模型:

  • models.resnet18(pretrained=True):加载预训练的ResNet-18模型,修改全连接层以适应您的数据集:替换模型的最后一层,使其输出类别数与您的数据集类别数相匹配。
#使用ResNet-18模型
model = models.resnet18(pretrained=True)

3.7.修改全连接层以适应数据集:

num_classes = len(dataset.classes)  # 假设dataset是您之前定义的ImageFolder对象
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, num_classes)

3.8.定义损失函数和优化器:

criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters())

3.9.将模型移动到GPU(如果可用):

  • 检查是否有可用的GPU,如果有,则将模型和数据移动到GPU以加速训练。
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

3.10.初始化列表来存储每个epoch的损失和准确率:

  • 用于监控训练过程中的损失和准确率。
train_losses = []
train_accuracies = []

3.11.训练模型并输出:

  • 在多个epoch上迭代训练模型,在每个epoch中,遍历训练数据集,进行前向传播、计算损失、反向传播和参数更新,计算每个epoch的总损失和准确率,并打印出来。
  • 每个epoch的损失和准确率会被打印出来,以便监控训练过程
num_epochs = 50
for epoch in range(num_epochs):
    model.train()
    running_loss = 0.0
    correct = 0
    total = 0
    for inputs, labels in train_loader:
        inputs, labels = inputs.to(device), labels.to(device)
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()
    epoch_loss = running_loss / len(train_loader)
    epoch_accuracy = 100 * correct / total
    train_losses.append(epoch_loss)
    train_accuracies.append(epoch_accuracy)
    print(f'Epoch {epoch + 1}/{num_epochs}, Loss: {epoch_loss}, Accuracy: {epoch_accuracy}%')

4.VGG-16:

4.1.导入必要的库:

  • 用于构建和训练神经网络,以及处理图像数据。
import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
from torchvision import datasets, transforms, models
from torch.utils.data import DataLoader
import matplotlib.pyplot as plt

4.2.数据预处理和增强:

  • 使用VGG16模型的标准归一化参数。
transform = transforms.Compose([
    transforms.Resize((224, 224)),  # VGG16需要224x224像素的输入
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  # VGG16的标准归一化参数
])

4.3.加载数据集:

  • 从指定路径加载数据集。
data_path = 'D:/工坊/Pytorch的框架/flower_photos'
dataset = datasets.ImageFolder(data_path, transform=transform)

4.4.划分训练集和测试集:

  • 将数据集随机分为训练集和测试集。
train_size = int(0.8 * len(dataset))
test_size = len(dataset) - train_size

train_dataset, test_dataset = torch.utils.data.random_split(dataset, [train_size, test_size])

4.5.创建数据加载器:

  • 为训练集和测试集创建数据加载器。
train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)

4.6.加载VGG16模型:

  • 使用models.vgg16(pretrained=True)加载预训练的VGG16模型。
model = models.vgg16(pretrained=True)
  • 修改VGG16模型的分类器层的最后一层,使其输出类别数与您的数据集类别数相匹配。
num_classes = len(dataset.classes)
model.classifier[6] = nn.Linear(model.classifier[6].in_features, num_classes)

4.8.定义损失函数和优化器:

  • 使用交叉熵损失函数和Adam优化器。
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters())

4.9.将模型移动到GPU(如果可用):

  • 检查是否有可用的GPU,如果有,则将模型和数据移动到GPU以加速训练。
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

4.10.初始化列表来存储每个epoch的损失和准确率:

  • 用于监控训练过程中的损失和准确率。
train_losses = []
train_accuracies = []

4.11.训练模型与输出:

  • 每个epoch的损失和准确率会被打印出来,以便监控训练过程。
num_epochs = 1000
for epoch in range(num_epochs):
    model.train()
    running_loss = 0.0
    correct = 0
    total = 0
    for inputs, labels in train_loader:
        inputs, labels = inputs.to(device), labels.to(device)
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()
    epoch_loss = running_loss / len(train_loader)
    epoch_accuracy = 100 * correct / total
    train_losses.append(epoch_loss)
    train_accuracies.append(epoch_accuracy)
    print(f'Epoch {epoch + 1}/{num_epochs}, Loss: {epoch_loss}, Accuracy: {epoch_accuracy}%')

5.VGG-19:

5.1.导入必要的库:

  • 用于构建和训练神经网络,以及处理图像数据。
import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
from torchvision import datasets, transforms, models
from torch.utils.data import DataLoader
import matplotlib.pyplot as plt

5.2.数据预处理和增强:

-使用VGG19模型的标准归一化参数。

transform = transforms.Compose([
    transforms.Resize((224, 224)),  # VGG19需要224x224像素的输入
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  # VGG16的标准归一化参数
])

5.3.加载数据集:

  • 从指定路径加载数据集。
data_path = 'D:/工坊/Pytorch的框架/flower_photos'
dataset = datasets.ImageFolder(data_path, transform=transform)

5.4.划分训练集和测试集:

  • 将数据集随机分为训练集和测试集。
train_size = int(0.8 * len(dataset)) test_size = len(dataset) - train_size

train_dataset, test_dataset = torch.utils.data.random_split(dataset, [train_size, test_size])

5.5.创建数据加载器:

  • 为训练集和测试集创建数据加载器。
train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
   test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)

5.6.加载VGG19模型:

  • 使用models.vgg19(pretrained=True)加载预训练的VGG19模型。
model = models.vgg19(pretrained=True)

5.7.修改模型以适应数据集类别数:

  • 修改VGG19模型的分类器层的最后一层,使其输出类别数与您的数据集类别数相匹配。
num_classes = len(dataset.classes)
model.classifier[6] = nn.Linear(model.classifier[6].in_features, num_classes)

5.8.定义损失函数和优化器:

使用交叉熵损失函数和Adam优化器。

criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters())

5.9.将模型移动到GPU(如果可用):

  • 检查是否有可用的GPU,如果有,则将模型和数据移动到GPU以加速训练。
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

5.10.初始化列表来存储每个epoch的损失和准确率:

  • 用于监控训练过程中的损失和准确率。
train_losses = []
train_accuracies = []

5.11.训练模型与输出:

  • 每个epoch的损失和准确率会被打印出来,以便监控训练过程。
num_epochs = 1000
for epoch in range(num_epochs):
    model.train()
    running_loss = 0.0
    correct = 0
    total = 0
    for inputs, labels in train_loader:
        inputs, labels = inputs.to(device), labels.to(device)
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()
    epoch_loss = running_loss / len(train_loader)
    epoch_accuracy = 100 * correct / total
    train_losses.append(epoch_loss)
    train_accuracies.append(epoch_accuracy)
    print(f'Epoch {epoch + 1}/{num_epochs}, Loss: {epoch_loss}, Accuracy: {epoch_accuracy}%')

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

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

相关文章

【Python报错】已解决AttributeError: list object has no attribute ’shape‘ ( Solved )

解决Python报错:AttributeError: ‘list’ object has no attribute ‘shape’ (Solved) 在Python中,AttributeError表明你试图访问的对象没有你请求的属性或方法。如果你遇到了AttributeError: list object has no attribute shape的错误,这…

OpenMV学习笔记3——画图函数汇总

画图,即在摄像头对应位置画出图形,对于需要反馈信息的程序来说很直观。就如上一篇文章颜色识别当中的例子一样,我们在识别出的色块上画出矩形方框,并在中间标出十字,可以直观的看到OpenMV现在识别出的色块。 目录 一…

【机器学习】Python与深度学习的完美结合——深度学习在医学影像诊断中的惊人表现

🔥 个人主页:空白诗 文章目录 一、引言二、深度学习在医学影像诊断中的突破1. 技术原理2. 实际应用3. 性能表现 三、深度学习在医学影像诊断中的惊人表现1. 提高疾病诊断准确率2. 辅助制定治疗方案 四、深度学习对医疗行业的影响和推动作用 一、引言 随着…

冯喜运:6.7今日外汇黄金原油走势分析及日内操作策略

【黄金消息面分析】:美国初请失业金人数超预期,市场对美联储9月降息预期升温,全球降息潮起,黄金市场受支撑。北京时间本周四,美国劳工部公布的数据显示,截至6月1日当周初请失业金人数增加至22.9万人&#x…

【ArcGIS微课1000例】0119:TIFF与grid格式互相转换

文章目录 一、任务描述二、tiff转grid三、grid转tif四、注意事项一、任务描述 地理栅格数据常用TIFF格式和GRID格式进行存储。TIFF格式的栅格数据常以单文件形式存储,不仅存储有R、G、B三波段的像素值,还保存有地理坐标信息。GRID格式的栅格数据常以多文件的形式进行存储,且…

网络原理——HTTP/HTTPS ---- HTTPS

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 今天你敲代码了吗 目录 HTTPS加密与解密HTTPS的工作流程使用对称密钥来加密使用非对称密钥 来对 对称密钥进行加密第三方公证总结 HTTPS https本质上就是在http的基础之上 增加了加密层,抛开加密层之后,剩下的部…

【Python】实现极致:克服PyInstaller打包挑战,解决libpython3.10.so.1.0库丢失难题

【Python】实现极致:克服PyInstaller打包挑战,解决libpython3.10.so.1.0库丢失难题 大家好 我是寸铁👊 总结了一篇【Python】实现极致:克服PyInstaller打包挑战,解决libpython3.10.so.1.0库丢失难题✨ 喜欢的小伙伴可以…

Git的概念

Git 一些概念 **工作区:**电脑上你能看到的目录 **版本库:**工作区的隐藏目录.git。含 暂存区:git add后但未git commit的文件修改被添加到暂存区本地分支:git commit后,但未git push,即把暂存区的所有…

【云原生】kubernetes中secret原理详解与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

51单片机-实机演示(LED点阵)

目录 前言: 一.线位置 二.扩展 三.总结 前言: 这是一篇关于51单片机实机LED点阵的插线图和代码说明.另外还有一篇我写的仿真的连接在这:http://t.csdnimg.cn/ZNLCl,欢迎大家的点赞,评论,关注. 一.线位置 接线实机图. 引脚位置注意: 1. *-* P00->RE8 P01->RE7 …

JavaWeb2-Vue

Vue 前端框架,免除原生JS中的DOM操作简化书写 (以前学过又忘了,现在才知道原来vue是前端的) 基于MVVM思想(model-view -viewModel)实现数据双向绑定 model是数据模型 view负责数据展示 即DOM 中间这个负责…

EitbaseEX香港启航,携手OpenAI和路透社开发AI分析技术

全球知名的加密货币交易平台EitbaseEX宣布正式入驻香港,并改名为EitbaseEX。这一举措标志着EitbaseEX在亚洲市场的重要布局,旨在为香港及周边地区的用户提供安全、合规且高效的数字货币交易服务。与此同时,EitbaseEX还宣布与OpenAI和路透社展…

怎么找抖音视频素材?下载抖音的素材视频网站分享给你

在这个视觉印象至关重要的时代,选用高质量的视频素材对于制作抖音视频来说是关键。如果你正在寻找适合的视频素材来丰富你的抖音创作,以下这份详细的视频素材网站指南将帮助你迈出第一步。 蛙学府网 蛙学府网提供了丰富多样的视频素材,包括动…

如何新建并导入数据集并智能标注

如何新建并导入数据集并智能标注 智能标注 提交等待即可,智能标注结束会有难例确认,这个可以检查一下,检查完毕就自动保存标注就可以了

搭贝请假审批应用

在现代企业管理中,高效的请假审批系统至关重要。搭贝的请假审批应用通过简化员工的请假流程、提升管理层的工作效率,确保企业运作的连贯性和透明度。本文将介绍搭贝请假审批应用的主要功能模块:请假分析看板、请假申请审批流、请假类型维护和…

什么是振动电阻式传感器测量模块RM501/502

什么是振动电阻式传感器测量模块RM501/502 基本概念 差动电阻式传感器: ( Elastic wire sensor)是以两个电阻的比值来反映被测物理量的传感器。由于是由卡尔逊教授在 1932 年研发成功,所以也称为卡尔逊式传感器。 因为采用的是两…

YOLOv10涨点改进:原创自研 | GhostNet融合 | 从廉价的操作中生成更多的特征图

文章目录 GhostNet理论基础实验部分改进方案新增yolov10s-ghost.yaml文件代码运行GhostNet理论基础 Ghost Module是一种模型压缩的方法,即在保证网络精度的同时减少网络参数和计算量,从而提升计算速度(speed),降低延时(latency)。Ghost 模块可以代替现有卷积网络中的每…

Glance:支持RSS的自托管仪表板

本文软件由网友 P家单推人 推荐 什么是 Glance ? Glance 是一个自托管仪表板,可以显示实时 RSS 订阅、Reddit 子版块帖子、天气、书签、特定频道的最新 YouTube 视频、日历、股票信息、iframe、twitch 频道和热门游戏、GitHub 发布和网站监控等。 因为是…

M4 MacBook Pro预计将于2024年末正式亮相

M4 MacBook Pro 关于苹果即将推出的搭载AI增强功能的M4 MacBook Pro,传闻已经愈演愈烈。据悉,这款备受期待的M4芯片预计将于2024年末正式亮相,并且相比以往,它将更加注重AI性能的提升。 尽管M3系列芯片推出尚不足半年&#xff0…

RPA是什么?为啥要学习RPA,看这篇就够了

您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。 💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通 😁 2. 毕业设计专栏&…