AlexNet,LeNet-5,ResNet,VGG-19,VGG-16模型

模型

    • AlexNet
        • 导入必要的库:
        • 加载类别名称:
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 构建AlexNet模型:
        • 编译模型:
        • 训练模型:
    • LeNet-5
        • 导入必要的库:
        • 加载类别名称:
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 构建LeNet模型:
        • 编译模型:
    • ResNet
        • 导入必要的库:
        • 加载类别名称:
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 使用ResNet50模型进行迁移学习
        • 冻结预训练模型的权重:
        • 编译模型:
        • 训练模型:
    • VGG-19
        • 导入必要的库:
        • 加载类别名称
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 使用VGG-19模型进行迁移学习
        • 冻结预训练模型的权重:
        • 编译模型:
        • 训练模型:
    • VGG-16
        • 导入必要的库:
        • 加载类别名称
        • 创建标签映射字典:
        • 加载图像数据和对应的标签:
        • 使用VGG-16模型进行迁移学习
        • 冻结预训练模型的权重:
        • 编译模型:
        • 训练模型:

本篇博客的图像和标签数据集就是之前自己训练的
博客地址:
https://blog.csdn.net/2301_76794217/article/details/139215356?spm=1001.2014.3001.5502
数据集地址:
https://download.csdn.net/download/2301_76794217/89359353?spm=1001.2101.3001.9500

AlexNet

提出时间:2012年
主要贡献:AlexNet是第一个在ImageNet竞赛中取得显著成绩的深度卷积神经网络,它引入了许多后来被广泛采用的技术,如局部响应归一化(LRN)、ReLU激活函数、使用GPU进行并行计算等。
结构特点:AlexNet包含5个卷积层、3个全连接层和两个用于防止过拟合的dropout层。它使用了大量的数据增强技术,包括随机裁剪、随机缩放、随机水平翻转等。
大小:大约2500万个参数 层数:5层卷积层,3层全连接层 特点:使用ReLU激活函数、LRN层、重叠池化、多尺度特征提取等

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。
tensorflow.keras.layers:Keras层,用于构建神经网络。
tensorflow.keras.models:Keras模型,用于创建模型架构。

import os
import cv2
import numpy as np
import tensorflow as tf
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout, ZeroPadding2D
from tensorflow.keras.models import Sequential
加载类别名称:

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

label_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

遍历image_folder中的所有图像文件。
读取图像,将其调整为AlexNet所需的输入大小(227x227像素),并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。
将X_train和y_train转换为NumPy数组,并对图像数据进行归一化处理。

image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:image = cv2.resize(image, (227, 227))  # AlexNet输入图像大小为227x227X_train.append(image)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train) / 255.0  # 归一化图像数据
y_train = np.array(y_train)
构建AlexNet模型:

使用Keras的Sequential模型,按照AlexNet的结构添加层。
模型包括卷积层(Conv2D)、最大池化层(MaxPooling2D)、全连接层(Dense)、dropout层(Dropout)等。
输出层使用softmax激活函数,因为这是一个多分类问题。

model = Sequential()
model.add(ZeroPadding2D((1, 1), input_shape=(227, 227, 3)))
model.add(Conv2D(96, (11, 11), strides=(4, 4), activation='relu'))
model.add(MaxPooling2D((3, 3), strides=(2, 2)))
model.add(ZeroPadding2D((1, 1)))
model.add(Conv2D(256, (5, 5), activation='relu'))
model.add(MaxPooling2D((3, 3), strides=(2, 2)))
model.add(ZeroPadding2D((1, 1)))
model.add(Conv2D(384, (3, 3), activation='relu'))
model.add(ZeroPadding2D((1, 1)))
model.add(Conv2D(384, (3, 3), activation='relu'))
model.add(ZeroPadding2D((1, 1)))
model.add(Conv2D(256, (3, 3), activation='relu'))
model.add(MaxPooling2D((3, 3), strides=(2, 2)))
model.add(Flatten())
model.add(Dense(4096, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(4096, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(len(classes), activation='softmax'))
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
训练模型:

使用fit方法训练模型,指定训练数据、迭代次数(epochs)、批量大小(batch_size)。

model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

LeNet-5

提出时间:1998年 主要贡献:LeNet-5是由Yann
LeCun提出的,它是第一个在实际中使用的卷积神经网络,主要用于手写数字识别。LeNet-5的设计非常简单,但它在当时的技术条件下取得了很好的效果。
结构特点:LeNet-5包含两个卷积层、两个池化层、三个全连接层和两个输出层。它的设计非常紧凑,只包含6万个参数,这使得它可以在当时的硬件条件下运行。
大小:大约6万个参数 层数:2层卷积层,3层全连接层 特点:非常早期的卷积神经网络,用于手写数字识别,结构简单,参数少。

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。

import os
import cv2
import numpy as np
import tensorflow as tf
加载类别名称:

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

label_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

构建LeNet模型:遍历image_folder中的所有图像文件。
读取图像,并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。
将X_train和y_train转换为NumPy数组。

#加载图像数据和对应的标签
image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:X_train.append(image)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train)
y_train = np.array(y_train)
构建LeNet模型:

使用Keras的Sequential模型,按照LeNet的结构添加层。
模型包括卷积层(Conv2D)、最大池化层(MaxPooling2D)、全连接层(Dense)等。
输出层使用softmax激活函数,因为这是一个多分类问题。

model = tf.keras.Sequential([tf.keras.layers.Conv2D(6, (5, 5), activation='relu', input_shape=(X_train.shape[1:])),tf.keras.layers.MaxPooling2D((2, 2)),tf.keras.layers.Conv2D(16, (5, 5), activation='relu'),tf.keras.layers.MaxPooling2D((2, 2)),tf.keras.layers.Flatten(),tf.keras.layers.Dense(120, activation='relu'),tf.keras.layers.Dense(84, activation='relu'),tf.keras.layers.Dense(len(classes), activation='softmax')
])
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

ResNet

提出时间:2015年 主要贡献:ResNet是第一个引入残差学习的深度网络,它通过引入残差块(Residual
Block)来解决深层网络训练困难的问题,这些残差块包含一个恒等连接,使得网络可以更稳定地训练更深层次的网络。
结构特点:ResNet包含多个残差块,每个残差块包含一个或多个卷积层,这些卷积层可以有不同的大小和数量。ResNet的层数通常比其他网络更深,如ResNet-50、ResNet-101、ResNet-152等。

大小:大约2500万个参数 层数:50层,包括17个残差块 特点:引入了残差学习,可以构建更深层次的网络,解决梯度消失和梯度爆炸问题。

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。
tensorflow.keras.applications:包含预训练的模型,如ResNet50。
tensorflow.keras.layers:Keras层,用于构建神经网络。
tensorflow.keras.models:Keras模型,用于创建模型架构。

import os
import cv2
import numpy as np
import tensorflow as tf
from tensorflow.keras.applications import ResNet50
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.models import Model
加载类别名称:

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

label_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

遍历image_folder中的所有图像文件。
读取图像,并将其调整为ResNet50所需的输入大小(224x224像素),并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。

image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:X_train.append(cv2.resize(image, (224, 224)))  # Resize images to (224, 224)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train)
y_train = np.array(y_train)
使用ResNet50模型进行迁移学习

加载预训练的ResNet50模型,但不包括顶部的全连接层。
添加一个全局平均池化层(GlobalAveragePooling2D)和一个全连接层(Dense),用于输出预测。
创建一个新的模型,将ResNet50的输出连接到新的全连接层。

base_model = ResNet50(weights='imagenet', include_top=False)
x = base_model.output
x = GlobalAveragePooling2D()(x)
output = Dense(len(classes), activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=output)
冻结预训练模型的权重:

通过设置base_model.layers中的每个层的trainable属性为False,可以冻结预训练模型的权重,只训练新添加的全连接层。

for layer in base_model.layers:
layer.trainable = False
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
训练模型:

使用fit方法训练模型,指定训练数据、迭代次数(epochs)、批量大小(batch_size)。

model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

VGG-19

提出时间:2014年 主要贡献:VGG-16和VGG-19是由牛津大学的Karen Simonyan和Andrew
Zisserman提出的,它们通过使用非常小的3x3卷积核和大量重复的卷积层来构建深度网络,这使得它们在ImageNet竞赛中取得了很好的成绩。
结构特点:VGG-16包含16个卷积层和3个全连接层,而VGG-19包含19个卷积层和3个全连接层。VGG-16和VGG-19的卷积层都是使用3x3的卷积核,层与层之间使用2x2的最大池化层。

大小:大约1.38亿/1.45亿个参数 层数:16/19层卷积层,3层全连接层
特点:使用小尺寸的3x3卷积核和重复的卷积层,可以提取更丰富的特征。

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。
tensorflow.keras.applications:包含预训练的模型,如VGG19。
tensorflow.keras.layers:Keras层,用于构建神经网络。
tensorflow.keras.models:Keras模型,用于创建模型架构。

import os
import cv2
import numpy as np
import tensorflow as tf
from tensorflow.keras.applications import VGG19
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.models import Model
加载类别名称

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

abel_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

遍历image_folder中的所有图像文件。
读取图像,并将其调整为VGG-19所需的输入大小(224x224像素),并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。
将X_train和y_train转换为NumPy数组。

image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:X_train.append(cv2.resize(image, (224, 224)))  # Resize images to (224, 224)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train)
y_train = np.array(y_train)
使用VGG-19模型进行迁移学习

加载预训练的VGG-19模型,但不包括顶部的全连接层。
添加一个全局平均池化层(GlobalAveragePooling2D)和一个全连接层(Dense),用于输出预测。
创建一个新的模型,将VGG-19的输出连接到新的全连接层。

base_model = VGG19(weights='imagenet', include_top=False, input_shape=(224, 224, 3))
x = base_model.output
x = GlobalAveragePooling2D()(x)
output = Dense(len(classes), activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=output)
冻结预训练模型的权重:

通过设置base_model.layers中的每个层的trainable属性为False,可以冻结预训练模型的权重,只训练新添加的全连接层。

for layer in base_model.layers:layer.trainable = False
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
训练模型:
model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

VGG-16

导入必要的库:

os:用于操作文件和目录。
cv2:OpenCV库,用于图像处理。
numpy:用于数值计算。
tensorflow:用于构建和训练深度学习模型。
tensorflow.keras.applications:包含预训练的模型。
tensorflow.keras.layers:Keras层,用于构建神经网络。
tensorflow.keras.models:Keras模型,用于创建模型架构。

import os
import cv2
import numpy as np
import tensorflow as tf
from tensorflow.keras.applications import VGG19
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.models import Model
加载类别名称

打开classes.txt文件,读取其中的类别名称,并存储在classes列表中。

with open('99/classes.txt', 'r') as f:classes = f.read().splitlines()
创建标签映射字典:

label_mapping字典将数字标签映射到对应的情绪名称。

abel_mapping = {'0': 'sad','1': 'happy','2': 'amazed','3': 'anger'
}
加载图像数据和对应的标签:

遍历image_folder中的所有图像文件。
读取图像,并将其调整为VGG-16所需的输入大小(224x224像素),并将其添加到X_train列表。
读取与图像对应的标签文件(.txt格式),提取标签索引,将其映射到情绪名称,然后转换为数字标签,并添加到y_train列表。
将X_train和y_train转换为NumPy数组。

image_folder = '561'
label_folder = '99'X_train = []
y_train = []for image_file in os.listdir(image_folder):image_path = os.path.join(image_folder, image_file)image = cv2.imread(image_path)if image is not None:X_train.append(cv2.resize(image, (224, 224)))  # Resize images to (224, 224)label_file = os.path.join(label_folder, image_file.replace('.jpg', '.txt'))with open(label_file, 'r') as f:label_index = f.readline().strip().split()[0]  # 只取第一个数字作为标签索引label_name = label_mapping[label_index]label = classes.index(label_name)y_train.append(label)X_train = np.array(X_train)
y_train = np.array(y_train)
使用VGG-16模型进行迁移学习

加载预训练的VGG-16模型,但不包括顶部的全连接层。
添加一个全局平均池化层(GlobalAveragePooling2D)和一个全连接层(Dense),用于输出预测。
创建一个新的模型,将VGG-16的输出连接到新的全连接层。

base_model = VGG16(weights='imagenet', include_top=False, input_shape=(224, 224, 3))
x = base_model.output
x = GlobalAveragePooling2D()(x)
output = Dense(len(classes), activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=output)
冻结预训练模型的权重:

通过设置base_model.layers中的每个层的trainable属性为False,可以冻结预训练模型的权重,只训练新添加的全连接层。

for layer in base_model.layers:
layer.trainable = False
编译模型:

使用Adam优化器、稀疏分类交叉熵损失函数(因为标签是整数),并监控准确率。

训练模型:
model.fit(X_train, y_train, epochs=20, batch_size=32)

在这里插入图片描述

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

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

相关文章

.net8.0与halcon编程环境构建

1.安装vs2022 2.安装h-12.0.exe ,不要勾选复选框 3.vs2022新建wpf应用程序 4.依赖项添加项目应用,选择halcondotnet.dll 5.安装System.Drawing 安装 HalconDotNet 安装 Rti.HDevEngineDotNet 在工具箱 空白处右键 应用halcon.dll WPF控件也应用halcon.dll 6.xaml申明hal…

5款ai文案自动生成器,让你写作爆款文案不犯难!

现如今,无论是用于社交媒体、广告宣传、网站内容还是其他各种领域,优秀的文案都能吸引更多的关注和流量。但是,对于许多创作者来说,想要创作出高质量的文案并非易事,常常会面临灵感枯竭、思路卡顿等问题。而现在有了一…

raid配置与实战

一、raid理论 1、raid概述 raid(磁盘阵列):是用不同的硬盘分区,组成一个逻辑上的硬盘,高可用(冗余)。 2、raid级别 2.1、raid0条带化存储 数据分散在多个物理磁盘上的存储方式,…

如何解压忘记了密码的加密zip压缩包?这两个方法收藏好!

加密是一种保护信息不被未经授权访问的重要手段。ZIP压缩包作为一种常见的文件压缩格式,zip文件加密是很多人都回去做的一件事情,那么zip加密文件如何解密?有几种方法可以解密呢?今天介绍几种方法给大家。 一、尝试常用密码 我们…

SAP实施方法论

SAP新实施方法论 RDS Activate

大摩“凑热闹”:当前氧化铝紧平衡,任何供给冲击都将导致价格急剧波动

大摩认为,全球有590万吨氧化铝供应受阻,相等于扣除中国后全球供应约一成,而氧化铝需求可能有所上升,同时氧化铝库存缓冲有限,因此任何供给冲击都将导致价格急剧波动。 文章内容 今年以来氧化铝期货价格一路上行&#…

Thingsboard规则链:Customer Attributes节点详解

在物联网(IoT)平台Thingsboard的规则引擎中,Customer Attributes节点扮演了至关重要的角色,它允许用户访问和操作与客户(Customer)实体相关的属性数据。这些属性可以是静态信息,如客户名称、联系信息,或是动…

FreeRTOS学习笔记-基于stm32(7)任务状态查询与任务时间统计API函数

1、FreeRTOS任务相关API函数 函数描述uxTaskPriorityGet()查询某个任务的优先级vTaskPrioritySet()改变某个任务的任务优先级uxTaskGetSystemState()获取系统中任务状态vTaskGetInfo()获取某个任务信息xTaskGetApplicationTaskTag()获取某个任务的标签(Tag)值xTaskGetCurrentT…

spring分析工具_springboot startup analyze的部署和使用

工具是开源工具 ,可以放心使用 我是从开源中国OCSChina看到的顺便安利一下 部署 教程 https://github.com/linyimin0812/spring-startup-analyzer 直接下载地址 https://github.com/linyimin0812/spring-startup-analyzer/releases/download/v3.0.0/spring-startup-analyzer.…

Javaweb基础之Filter

大家好,这里是教授.F 引入: 为什么需要过滤器???我们在访问一个项目的时候,常常有很多页面,如果没有过滤器,则我们需要在用户访问一个页面的时候,都要进行一个校验&…

文心智能体平台:快来创建你的Java学习小助理,全方位辅助学习

文章目录 一、文心智能体平台1.1平台介绍1.2智能体介绍 二、智能体创建三、体验与总结 一、文心智能体平台 文心智能体平台是百度推出的基于文心大模型的智能体(Agent)平台,支持广大开发者根据自身行业领域、应用场景,选取不同类…

3D模型三角面转四角面操作指南---模大狮模型网

在3D建模的过程中,三角面(Triangles)和四角面(Quads)是两种常见的多边形类型。虽然三角面在渲染速度和计算效率上有其优势,但四角面在模型编辑和纹理映射上通常更为方便。因此,将三角面转换为四角面是建模过程中常见的需求。 一、选择合适的建…

【数值计算方法】雅可比解线性方程

废话少说&#xff0c;直接上干货。 #include <stdio.h> #include <stdlib.h> #include <math.h> #define MaxSize 100 double A[MaxSize][MaxSize]; //系数矩阵 double B[MaxSize]; //系数矩阵 double C[MaxSize][MaxSize]; //去对角线矩阵 double …

window自动启动bat文件

开机自动开启远程桌面&#xff0c; WinR 执行netplwiz 命令进入设置&#xff1b;取消勾选&#xff0c;可选择所需用户&#xff0c;点击应用&#xff0c;输入远程的密码即可 开机自动开启远程桌面&#xff0c; WinR 执行netplwiz 命令进入设置&#xff1b;取消勾选&#xff0…

web题解 Easy_SQLi or 雏形系统 (解题方法思想)

1.Easy_SQLi 1&#xff09;打开题目环境&#xff0c;如下是一个类似弱密码的格式&#xff0c;但是它又说是sql&#xff0c;还是按sql注入来 2&#xff09;.这里我尝试判断它的注入类型&#xff0c;但是一只不对&#xff0c;我便想着用万能密码试试&#xff0c;怎料直接登录成功…

STL库--priority_queue

目录 priority_queue定义 prority_queue容器内元素的访问 priority_queue()常用函数实例解析 priority_queue内元素优先级的设置 priority_queue的常见用途 priority_queue又称为优先队列&#xff0c;其底层是用堆来进行实现的。在优先队列中&#xff0c;队首元素一定是当…

全文最详细的生产管理完整方案!那些让人头疼的生产管理难题及解决方法!

什么是生产管理系统&#xff1f;为何生产管理系统在企业管理中如此重要&#xff1f;生产管理系统的核心模块包括哪些&#xff1f;为何企业在生产管理系统中常常遭遇项目信息碎片化、任务分配和跟踪困难等痛点&#xff1f;又该如何针对生产管理痛点进行优化&#xff1f; 本文40…

汽车大灯中擎耀智能控制器在车灯智能化配置下的创新与分析

随着科技的飞速发展&#xff0c;汽车工业也在不断地进行着革新。其中&#xff0c;车灯作为汽车的重要组成部分&#xff0c;其智能化配置已经成为汽车行业的一大趋势。这种趋势不仅为消费者带来了更加安全、便捷的驾驶体验&#xff0c;同时也为商家提供了丰富的商业机会。汽车工…

「异步魔法:Python数据库交互的革命」(二)

哈喽&#xff0c;我是阿佑&#xff0c;上篇文章带领了大家跨入的异步魔法的大门——Python数据库交互&#xff0c;一场魔法与技术的奇幻之旅&#xff01; 从基础概念到DB-API&#xff0c;再到ORM的高级魔法&#xff0c;我们一步步揭开了数据库操作的神秘面纱。SQLAlchemy和Djan…

【2024最新华为OD-C卷试题汇总】披萨大作战 (100分) - 支持在线评测+三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; 文章目录 前…