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

OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介

GPT-4omini

OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介

一、引言

在人工智能领域,OpenAI的GPT系列模型一直是自然语言处理的标杆。随着技术的不断进步,OpenAI推出了多个版本的GPT模型,包括视觉增强的GPT-4V(GPT-4 with Vision)、优化版的GPT-4O(GPT-4 Optimized)以及适用于资源受限环境的轻量级版本GPT-4OMini(GPT-4 Optimized Mini)。本文将详细介绍这些模型,并深入探讨GPT-4OMini背后的技术栈。通过公式和代码示例,我们将全面了解这些模型的构建原理和实现细节。

二、GPT-4V:视觉增强的GPT-4

1. 概述

GPT-4V是GPT-4的视觉增强版本,它能够处理和生成图像信息,进一步扩展了GPT模型的应用范围。GPT-4V在语言理解的基础上加入了视觉处理能力,使其在多模态任务中表现出色。

2. 技术细节

GPT-4V结合了Transformer模型和卷积神经网络(CNN),能够同时处理文本和图像数据。模型的架构如下图所示:

import torch
import torch.nn as nn
import torch.nn.functional as Fclass VisionEncoder(nn.Module):def __init__(self):super(VisionEncoder, self).__init__()self.conv = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3, stride=1, padding=1)self.pool = nn.MaxPool2d(kernel_size=2, stride=2)def forward(self, x):x = self.pool(F.relu(self.conv(x)))return xclass GPT4V(nn.Module):def __init__(self):super(GPT4V, self).__init__()self.vision_encoder = VisionEncoder()self.transformer = nn.Transformer(d_model=512, nhead=8, num_encoder_layers=6)def forward(self, image, text):vision_features = self.vision_encoder(image)text_features = self.transformer(text)combined_features = torch.cat((vision_features, text_features), dim=1)return combined_features
视觉处理模块

视觉处理模块使用卷积神经网络(CNN)来提取图像特征。这些特征通过一系列卷积层和池化层进行处理,最终形成图像的高层次表示。

Transformer

Transformer模块用于处理文本输入,并结合来自视觉模块的图像特征。文本和图像特征通过拼接或加权平均的方式进行融合。

3. 应用场景

GPT-4V在视觉问答、图像生成、图文配对等任务中表现出色。例如,在图像描述生成任务中,GPT-4V能够根据输入图像生成相应的描述文字。

三、GPT-4O:优化版GPT-4

1. 概述

GPT-4O是GPT-4的优化版本,旨在提高模型的计算效率和推理速度。GPT-4O在保持原有模型性能的前提下,通过优化算法和架构设计实现了更高的效率。

2. 技术细节

a. 权重共享(Weight Sharing)

权重共享是一种减少模型参数数量的方法,通过在模型的不同层之间共享参数来降低计算和存储成本。

import torch
import torch.nn as nnclass OptimizedTransformer(nn.Module):def __init__(self, d_model, nhead, num_layers):super(OptimizedTransformer, self).__init__()self.transformer = nn.Transformer(d_model, nhead, num_layers)# 使用权重共享优化self.shared_weights = nn.Parameter(torch.randn(d_model, d_model))def forward(self, src, tgt):src = src @ self.shared_weightstgt = tgt @ self.shared_weightsreturn self.transformer(src, tgt)
b. 参数剪枝(Parameter Pruning)

参数剪枝通过移除神经网络中对最终输出影响较小的权重,从而减少模型的参数数量。剪枝可以是非结构化剪枝(去除单个权重)或结构化剪枝(去除整个神经元或通道)。

import torch
import torch.nn.utils.prune as prune# 假设我们有一个简单的线性层
linear = torch.nn.Linear(10, 5)# 应用全局剪枝,保留50%的权重
prune.global_unstructured([(linear, 'weight')],pruning_method=prune.L1Unstructured,amount=0.5,
)# 检查剪枝后的权重
print(linear.weight)
c. 注意力机制优化(Attention Mechanism Optimization)

通过引入更高效的注意力计算方法,如线性注意力(Linear Attention),可以显著减少计算复杂度。

import torch
import torch.nn as nnclass LinearAttention(nn.Module):def __init__(self, d_model):super(LinearAttention, self).__init__()self.query = nn.Linear(d_model, d_model)self.key = nn.Linear(d_model, d_model)self.value = nn.Linear(d_model, d_model)def forward(self, x):Q = self.query(x)K = self.key(x)V = self.value(x)attention_weights = torch.bmm(Q, K.transpose(1, 2)) / x.size(-1)**0.5attention = torch.bmm(attention_weights, V)return attention

3. 应用场景

GPT-4O适用于需要高效推理和低延迟的场景,例如实时翻译、智能助手和大规模文本处理任务。

四、GPT-4OMini:轻量级GPT-4

1. 概述

GPT-4OMini是GPT-4O的轻量级版本,专为资源受限环境设计。它在保持高效性能的同时,大幅度减少了模型的参数数量和计算复杂度,使其适用于移动设备、嵌入式系统等场景。

2. 技术细节

a. 模型压缩技术

GPT-4OMini背后的一个关键技术是模型压缩。模型压缩技术包括以下几种方法:

参数剪枝(Parameter Pruning)同上

参数剪枝通过移除神经网络中对最终输出影响较小的权重,从而减少模型的参数数量。常见的剪枝方法有基于阈值的剪枝和结构化剪枝。

import torch
import torch.nn.utils.prune as prune# 假设我们有一个简单的线性层
linear = torch.nn.Linear(10, 5)# 应用全局剪枝,保留50%的权重
prune.global_unstructured([(linear, 'weight')],pruning_method=prune.L1Unstructured,amount=0.5,
)# 检查剪枝后的权重
print(linear.weight)
知识蒸馏(Knowledge Distillation)

知识蒸馏通过训练一个较小的学生模型去学习较大教师模型的行为,从而使小模型能够在保留大模型性能的前提下大幅度减小规模。

import torch.nn.functional as F# 定义教师模型和学生模型
teacher_model = GPT4Model()
student_model = GPT4MiniModel()# 假设我们有输入数据x和标签y
x, y = get_data()# 教师模型输出
with torch.no_grad():teacher_output = teacher_model(x)# 学生模型输出
student_output = student_model(x)# 蒸馏损失
loss = F.kl_div(F.log_softmax(student_output / temperature, dim=1),F.softmax(teacher_output / temperature, dim=1),reduction='batchmean'
)# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
量化(Quantization)

量化通过将模型的权重和激活从高精度表示(如32位浮点数)转换为低精度表示(如8位整数),从而减少模型的存储和计算需求。

import torch.quantization# 定义模型
model = GPT4Model()# 准备模型进行量化
model.qconfig = torch.quantization.default_qconfig
torch.quantization.prepare(model, inplace=True)# 校准模型
calibrate_model(model, calibration_data)# 转换模型为量化版本
torch.quantization.convert(model, inplace=True)# 检查量化后的模型
print(model)
b. 高效的模型架构设计

GPT-4OMini采用了更高效的模型架构设计,以在不显著牺牲性能的前提下减少计算量。例如,它可能会使用更少的Transformer层、更小的隐藏层尺寸和更少的注意力头。

import torch
import torch.nn as nnclass MiniTransformer(nn.Module):def __init__(self, d_model, nhead, num_layers):super(MiniTransformer, self).__init__()self.transformer = nn.Transformer(d_model, nhead, num_layers)def forward(self, src, tgt):return self.transformer(src, tgt)# 初始化一个较小的Transformer模型
model = MiniTransformer(d_model=128, nhead=4, num_layers=2)
c. 硬件加速与并行计算

GPT-4OMini还通过硬件加速和并行计算进一步提高效率。利用现代GPU、TPU等硬件加速器,以及分布式计算技术,可以显著加速模型训练和推理过程。

import torch
import torch.nn as nn
import torch.distributed as dist# 初始化分布式环境
dist.init_process_group("gloo", rank=rank, world_size=world_size)# 定义模型
model = GPT4Model().to(device)# 包装为分布式数据并行模型
model = nn.parallel.DistributedDataParallel(model)# 定义数据加载器和优化器
data_loader = get_data_loader()
optimizer = torch.optim.Adam(model.parameters())# 训练循环
for epoch in range(num_epochs):for batch in data_loader:optimizer.zero_grad()outputs = model(batch)loss = compute_loss(outputs, batch.labels)loss.backward()optimizer.step()

3. 应用场景

GPT-4OMini适用于需要轻量级、高效的自然语言处理任务的场景,如移动应用、智能家居设备和边缘计算。

五、结论

从GPT-4V到GPT-4O,再到GPT-4OMini,这些模型代表了OpenAI在自然语言处理和多模态处理方面的最新进展。通过结合先进的技术和优化方法,这些模型在不同应用场景中展示了强大的能力。GPT-4OMini特别适合资源受限的环境,具有广泛的应用前景。希望本文的详细介绍能够帮助读者更好地理解这些模型的构建原理和实现方法。

随着技术的不断发展,我们可以期待更多创新的轻量级模型出现在各类实际应用中,推动人工智能技术的普及和应用。

相关文章:

OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介

OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介 一、引言 在人工智能领域,OpenAI的GPT系列模型一直是自然语言处理的标杆。随着技术的不断进步,OpenAI推出了多个版本的GPT模型,包括视觉增强的GPT-4V(GPT-4 with Vision&…...

从人工巡检到智能防控:智慧油气田安全生产的新视角

一、背景需求 随着科技的飞速发展,视频监控技术已成为各行各业保障安全生产、提升管理效率的重要手段。特别是在油气田这一特殊领域,由于其工作环境复杂、安全风险高,传统的监控方式已难以满足实际需求。因此,基于视频监控AI智能…...

【黑马java基础】Lamda, 方法引用,集合{Collection(List, Set), Map},Stream流

文章目录 JDK8新特性:Lambda表达式认识Lambda表达式Lambda表达式的省略规则 JDK8新特性:方法引用静态方法的引用实例方法的引用特定类型方法的引用构造器的应用 集合➡️Collection单列集合体系Collection的常用方法Collection的遍历方法迭代器增强for循…...

Stable Diffusion 使用详解(1)---- 提示词及相关参数

目录 背景 提示词 内容提示词 人物及主体特征 场景 环境光照 画幅视角 注意事项及示例 标准化提示词 画质等级 风格与真实性 具体要求 背景处理 光线与色彩 负向提示词 小结 常用工具 另外几个相关参数 迭代步数 宽度与高度 提示词引导系数 图片数量 背景…...

数据结构和算法(刷题) - 无序数组排序后的最大相邻差

无序数组排序后的最大相邻差 问题:一个无序的整型数组,求出该数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。 三种方法: 排序后计算比较 简介:用任意一种时间复杂度为 O ( n log ⁡ n ) O…...

HOW - React 处理不紧急的更新和渲染

目录 useDeferredValueuseTransitionuseIdleCallback 在 React 中,有一些钩子函数可以帮助你处理不紧急的更新或渲染,从而优化性能和用户体验。 以下是一些常用的相关钩子及其应用场景: useDeferredValue 用途:用于处理高优先级…...

基于A律压缩的PCM脉冲编码调制通信系统simulink建模与仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1A律压缩的原理 4.2 PCM编码过程 4.3 量化噪声与信噪比 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#…...

【入门教程一】基于DE2-115的My First FPGA 工程

1.1. 概述 这是一个简单的练习, 可以帮助初学者开始了解如何使用Intel Quartus 软件进行 FPGA 开发。 在本章节中,您将学习如何编译 Verilog 代码,进行引脚分配,创建时序约束,然后对 FPGA 进行编程,驱动开…...

mysql中的索引和分区

目录 1.编写目的 2.索引 2.1 创建方法 2.2 最佳适用 2.3 索引相关语句 3.分区 3.1 创建方法 3.2 最佳适用 Welcome to Code Blocks blog 本篇文章主要介绍了 [Mysql中的分区和索引] ❤博主广交技术好友,喜欢文章的可以关注一下❤ 1.编写目的 在MySQL中&…...

项目实战--C#实现图书馆信息管理系统

本项目是要开发一个图书馆管理系统,通过这个系统处理常见的图书馆业务。这个系统主要功能是:(1)有客户端(借阅者使用)和管理端(图书馆管理员和系统管理员使用)。(2&#…...

信号【Linux】

文章目录 信号处理方式(信号递达)前后台进程 终端按键产生信号kill系统调用接口向进程发信号阻塞信号sigset_tsigprocmasksigpending内核态与用户态:内核空间与用户空间内核如何实现信号的捕捉 1、信号就算没有产生,进程也必须识别…...

Kafka Producer之ACKS应答机制

文章目录 1. 应答机制2. 等级03. 等级14. 等级all5. 设置等级6. ISR 1. 应答机制 异步发送的效率高,但是不安全,同步发送安全,但是效率低。 无论哪一种,有一个关键的步骤叫做回调,也就是ACKS应答机制。 其中ACKS也分…...

【深入理解SpringCloud微服务】深入理解Eureka核心原理

深入理解Eureka核心原理 Eureka整体设计Eureka服务端启动Eureka三级缓存Eureka客户端启动 Eureka整体设计 Eureka是一个经典的注册中心,通过http接收客户端的服务发现和服务注册请求,使用内存注册表保存客户端注册上来的实例信息。 Eureka服务端接收的…...

算法——滑动窗口(day7)

904.水果成篮 904. 水果成篮 - 力扣(LeetCode) 题目解析: 根据题意我们可以看出给了我们两个篮子说明我们在开始采摘到结束的过程中只能有两种水果的种类,又要求让我们返回收集水果的最大数目,这不难让我们联想到题目…...

Django学习第一天(如何创建和运行app)

前置知识: URL组成部分详解: 一个url由以下几部分组成: scheme://host:port/path/?query-stringxxx#anchor scheme:代表的是访问的协议,一般为http或者ftp等 host:主机名,域名,…...

VScode连接虚拟机运行Python文件的方法

声明:本文使用Linux发行版本为rocky_9.4 目录 1. 在rocky_9.4最小安装的系统中,默认是没有tar工具的,因此,要先下载tar工具 2. 在安装好的vscode中下载ssh远程插件工具 3. 然后连接虚拟机 4. 查看python是否已经安装 5. 下载…...

通义千问AI模型对接飞书机器人-模型配置(2-1)

一 背景 根据业务或者使用场景搭建自定义的智能ai模型机器人,可以较少我们人工回答的沟通成本,而且可以更加便捷的了解业务需求给出大家设定的业务范围的回答,目前基于阿里云的通义千问模型研究。 二 模型研究 参考阿里云帮助文档&#xf…...

[k8s源码]6.reflector

Reflector 和 Informer 是 Kubernetes 客户端库中两个密切相关但职责不同的组件。Reflector 是一个较低级别的组件,主要负责与 Kubernetes API 服务器进行交互,执行资源的初始列表操作和持续的监视操作,将获取到的数据放入队列中。而 Informe…...

前台文本直接取数据库值doFieldSQL插入SQL

实现功能:根据选择的车间主任带出角色。 实现步骤:OA的“字段联动”功能下拉选项带不出表“hrmrolemembers”,所以采用此方法。 doFieldSQL("select roleid from HrmResource as a inner join hrmrolemembers as b on a.id b.resource…...

【06】LLaMA-Factory微调大模型——微调模型评估

上文【05】LLaMA-Factory微调大模型——初尝微调模型,对LLama-3与Qwen-2进行了指令微调,本文则介绍如何对微调后的模型进行评估分析。 一、部署微调后的LLama-3模型 激活虚拟环境,打开LLaMA-Factory的webui页面 conda activate GLM cd LLa…...

数学建模学习(1)遗传算法

一、简介 遗传算法(Genetic Algorithm, GA)是一种用于解决优化和搜索问题的进化算法。它基于自然选择和遗传学原理,通过模拟生物进化过程来寻找最优解。 以下是遗传算法的主要步骤和概念: 初始化种群(Initialization&a…...

NumPy冷知识66个

NumPy冷知识66个 多维切片: NumPy支持多维切片,可以通过指定多个索引来提取多维数组的子集。 复杂数支持: NumPy可以处理复数,提供了复数的基本运算和函数。 比特运算: NumPy支持比特运算,如与、或、异或等。 数据存储格式: NumPy可以将数…...

Wi-SUN无线通信技术 — 大规模分散式物联网应用首选

引言 在数字化浪潮的推动下,物联网(IoT)正逐渐渗透到我们生活的方方面面。Wi-SUN技术以其卓越的性能和广泛的应用前景,成为了大规模分散式物联网应用的首选。本文将深入探讨Wi-SUN技术的市场现状、核心优势、实际应用中的案例以及…...

在 Ubuntu Server 22.04 上安装 Docker 的详细步骤

在 Ubuntu Server 22.04 上安装 Docker 的详细步骤 本文档详细记录了在 Ubuntu Server 22.04 上安装 Docker 的完整过程,包括解决过程中遇到的问题。希望能对读者有所帮助。 安装过程,重点需要看官方文档。https://docs.docker.com/engine/install/ubu…...

前端使用 Konva 实现可视化设计器(18)- 素材嵌套 - 加载阶段

本章主要实现素材的嵌套(加载阶段)这意味着可以拖入画布的对象,不只是图片素材,还可以是嵌套的图片和图形。 请大家动动小手,给我一个免费的 Star 吧~ 大家如果发现了 Bug,欢迎来提 Issue 哟~ github源码 g…...

vue3 -layui项目-左侧导航菜单栏

1.创建目录结构 进入cmd,先cd到项目目录&#xff08;项目vue3-project&#xff09; cd vue3-project mkdir -p src\\views\\home\\components\\menubar 2.创建组件文件 3.编辑menu-item-content.vue <template><template v-if"item.icon"><lay-ic…...

Spring AOP(1)

目录 一、AOP 概述 什么是Spring AOP&#xff1f; 二、Spring AOP 快速入门 1、引入AOP依赖 2、编写AOP程序 三、Spring AOP 详解 1、Spring AOP的核心概念 &#xff08;1&#xff09;切点&#xff08;Pointcut&#xff09; &#xff08;2&#xff09;连接点&#xff…...

第1关 -- Linux 基础知识

闯关任务 完成SSH连接与端口映射并运行hello_world.py ​​​​ ssh -p 37367 rootssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyCheckingno可选任务 1 将Linux基础命令在开发机上完成一遍 可选任务 2 使用 VSCODE 远程连接开发机并创建一个conda环境 …...

tensorflow keras Model.fit returning: ValueError: Unrecognized data type

题意&#xff1a;TensorFlow Keras 的 Model.fit 方法返回了一个 ValueError&#xff0c;提示数据类型无法识别 问题背景&#xff1a; Im trying to train a keras model with 2 inputs: an image part thats a tf.data.Dataset and a nor mal part represented by a pd.DataF…...

虚拟机固定配置IP

在Hyper-V中&#xff0c;vEthernet (Default Switch) 是Hyper-V自带的默认虚拟交换机&#xff0c;它允许虚拟机直接连接到宿主机网络或外部网络。这个虚拟交换机可以通过Hyper-V管理器或PowerShell等工具进行管理和配置。以下是具体的操作步骤&#xff1a; 一、通过Hyper-V管理…...

【Pytorch实用教程】pytorch中random_split用法的详细介绍

在 PyTorch 中,torch.utils.data.random_split 是一个非常有用的函数,用于将数据集随机分割成多个子集。这在机器学习和深度学习中非常常见,特别是当你需要将数据集分割成训练集和测试集或验证集时。这里是 random_split 的详细用法介绍: 功能 random_split 用于随机地将…...

第二讲:NJ网络配置

Ethernet/IP网络拓扑结构 一. NJ EtherNet/IP 1、网络端口位置 NJ的CPU上面有两个RJ45的网络接口,其中一个是EtherNet/IP网络端口(另一个是EtherCAT的网络端口) 2、网络作用 如图所示,EtherNet/IP网络既可以做控制器与控制器之间的通信,也可以实现与上位机系统的对接通…...

pytorch中常见的模型3种组织方式 nn.Sequential(OrderedDict)

在nn.Sequential中嵌套OrderedDict组织网络,以对层进行命名 import torch import torch.nn as nn from collections import OrderedDictclass OrderedDictCNN(nn.Module):def __init__(self):super(OrderedDictCNN, self).__init__()# 使用 OrderedDict 定义网络层self.model …...

达梦数据库DM8-索引篇

目录 一、前景二、名词三、语法1、命令方式创建索引1.1 创建索引空间1.2.1 创建普通索引并指定索引数据空间1.2.2 另一种没验证&#xff0c;官方写法1.3 复合索引1.4 唯一索引1.5 位图索引1.6 函数索引 2、创建表时候创建索引3、可视化方式创建索引3.1 打开DM管理工具3.2 找到要…...

【中项】系统集成项目管理工程师-第4章 信息系统架构-4.5技术架构

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…...

随机梯度下降 (Stochastic Gradient Descent, SGD)

SGD 是梯度下降法的一种变体。与批量梯度下降法不同&#xff0c;SGD 在每次迭代中仅使用一个样本&#xff08;或一个小批量样本&#xff09;的梯度来更新参数。它能更快地更新参数&#xff0c;并且可以更容易地跳出局部最优解。 原理 SGD 的基本思想是通过在每次迭代中使用不…...

TDengine 3.3.2.0 发布:新增 UDT 及 Oracle、SQL Server 数据接入

经过数月的开发和完善&#xff0c;TDengine 3.3.2.0 版本终于问世了。这一版本中既有针对开源社区的功能优化&#xff0c;也有从企业级用户需求出发做出的功能调整。在开源版本中&#xff0c;我们增强了系统的灵活性和兼容性&#xff1b;而在企业级版本中&#xff0c;新增了关键…...

Ubuntu 24.04 LTS 无法打开Chrome浏览器

解决办法&#xff1a; 删除本地配置文件&#xff0c;再次点击Chrome图标&#xff0c;即可打开。 rm ~/.config/google-chrome/ -rf ref: Google chrome not opening in Ubuntu 22.04 LTS - Ask Ubuntu...

linux中RocketMQ安装(单机版)及springboot中的使用

文章目录 一、安装1.1、下载RocketMQ1.2、将下载包上传到linux中&#xff0c;然后解压1.3、修改runserver.sh的jvm参数大小&#xff08;根据自己服务器配置来修改&#xff09;1.4、启动mqnamesrv &#xff08;类似于注册中心&#xff09;1.5、修改runbroker.sh的jvm参数大小&am…...

亚信安全终端一体化解决方案入选应用创新典型案例

近日&#xff0c;由工业和信息化部信息中心主办的2024信息技术应用创新发展大会暨解决方案应用推广大会成功落幕&#xff0c;会上集中发布了一系列技术水平先进、应用效果突出、产业带动性强的信息技术创新工作成果。其中&#xff0c;亚信安全“终端一体化安全运营解决方案”在…...

Django视图与URLs路由详解

在Django Web框架中&#xff0c;视图&#xff08;Views&#xff09;和URLs路由&#xff08;URL routing&#xff09;是Web应用开发的核心概念。它们共同负责将用户的请求映射到相应的Python函数&#xff0c;并返回适当的响应。本篇博客将深入探讨Django的视图和URLs路由系统&am…...

怎么关闭 Windows 安全中心,手动关闭 Windows Defender 教程

Windows 安全中心&#xff08;也称为 Windows Defender Security Center&#xff09;是微软 Windows 操作系统内置的安全管理工具&#xff0c;用于监控和控制病毒防护、防火墙、应用和浏览器保护等安全功能。然而&#xff0c;在某些情况下&#xff0c;用户可能需要关闭 Windows…...

洛谷看不了别人主页怎么办

首先&#xff0c;我们先点进去 可以看到&#xff0c;看不了一点 那我们看向上方&#xff0c;就可以发现&#xff0c;我们那有个URL&#xff0c;选中 把光标插到n和/中间 把.cn删了&#xff0c;变成国际服 我们就可以看了 但是国际服还没搭建完&#xff0c;跳转的时候可能503&a…...

邮件安全篇:企业电子邮件安全涉及哪些方面?

1. 邮件安全概述 企业邮件安全涉及多个方面&#xff0c;旨在保护电子邮件通信的机密性、完整性和可用性&#xff0c;防止数据泄露、欺诈、滥用及其他安全威胁。本文从身份验证与防伪、数据加密、反垃圾邮件和反恶意软件防护、邮件内容过滤与审计、访问控制与权限管理、邮件存储…...

软件测试09 自动化测试技术(Selenium)

重点/难点 重点&#xff1a;理解自动化测试的原理及其流程难点&#xff1a;Selinum自动化测试工具的使用 目录 系统测试 什么是系统测试什么是功能测试什么是性能测试常见的性能指标有哪些 自动化测试概述 测试面临的问题 测试用例数量增多&#xff0c;工作量增大&#xff…...

记录解决springboot项目上传图片到本地,在html里不能回显的问题

项目场景&#xff1a; 项目场景&#xff1a;在我的博客系统里&#xff1a;有个相册模块&#xff1a;需要把图片上传到项目里&#xff0c;在html页面上显示 解决方案 1.建一个文件夹 例如在windows系统下。可以在项目根目录下建个photos文件夹&#xff0c;把上传的图片文件…...

C++ 中 const 关键字

C 中 const 关键字 2009-02-19 2024-07-23 补充C11后的做法 在 C 中&#xff0c;const 是一个关键字&#xff08;也称为保留字&#xff09;&#xff0c;它用于指定变量或对象的值在初始化后不能被修改。关键字是编程语言中具有特殊含义的词汇&#xff0c;编译器会识别这些词并…...

客梯自动监测识别摄像机

当今社会&#xff0c;随着城市建设的快速发展&#xff0c;客梯作为现代化建筑不可或缺的一部分&#xff0c;其安全性与效率显得尤为重要。为了提升客梯的安全管理水平&#xff0c;智能监测技术应运而生&#xff0c;尤其是客梯自动监测识别摄像机系统的应用&#xff0c;为乘客和…...

为什么那么多人学习AI绘画?工资香啊!

在当今这个科技日新月异的时代&#xff0c;AI绘画作为数字艺术与人工智能融合的璀璨成果&#xff0c;正吸引着无数人投身其中&#xff0c;而“工资香啊&#xff01;”无疑是这一热潮背后不可忽视的驱动力之一。 AI绘画的高薪待遇是吸引众多学习者的关键因素。随着市场对AI艺术…...

国产JS库(js-tool-big-box)7月度总结

js-tool-big-box开发已经有3个月了&#xff0c;团队内的小伙伴进行了热烈的讨论&#xff0c;持续做了功能迭代。小伙伴们也做了艰苦卓绝的文档分享&#xff0c;有纯功能分享类的&#xff0c;有带有小故事的&#xff0c;有朋友们利用自己独自网站分发分享的。7月份快要结束了&am…...