最新资讯

  • 深度学习 视觉处理(CNN) day_02

深度学习 视觉处理(CNN) day_02

2025-04-28 01:00:06 0 阅读

1. 卷积知识扩展

1.1 卷积结果

1.2 二维卷积

        分单通道版本和多通道版本。

1.2.1 单通道版本

        之前所讲卷积相关内容其实真正意义上叫做二维卷积(单通道卷积版本),即只有一个通道的卷积。
        如下图,我们对于卷积核(kernel)的描述一般是大小3x3、步长(stride)为1、填充(Padding)为0。

1.2.2 多通道版本

        彩色图像拥有R、G、B这三层通道,因此我们在卷积时需要分别针对这三层进行卷积

        最后将三个通道的卷积结果进行合并(元素相加,就是在通道上进行特征的一个融合操作),得到卷积结果。

1.3 三维卷积

        二维卷积是在单通道的一帧图像上进行滑窗操作,输入是高度H宽度W的二维矩阵。
        而如果涉及到视频上的连续帧或者立体图像中的不同切片,就需要引入深度通道,此时输入就变为高度H宽度W*深度C的三维矩阵。
        不同于二维卷积核只在两个方向上运动,三维卷积的卷积核会在三个方向上运动,因此需要有三个自由度
        这种特性使得三维卷积能够有效地描述3D空间中的对象关系,它在一些应用中具有显著的优势,例如3D对象的分割以及医学图像的重构等。

1.4 反卷积

        卷积是对输入图像及进行特征提取,这样会导致尺寸会越变越小,而反卷积是进行相反操作。并不会完全还原到跟输入图一样,只是保证了与输入图像尺寸一致,主要用于向上采样。从数学上看,反卷积相当于是将卷积核转换为稀疏矩阵后进行转置计算。也被称为转置卷积。

1.4.1 反卷积计算过程

        如图,在2x2的输入图像上使用【步长1、边界全0填充】的3x3卷积核,进行转置卷积(反卷积)计算,向上采样后输出的图像大小为4x4。

        如我们的语义分割里面就需要反卷积还原到原始图像大小。

1.4.2 反卷积底层计算

        反卷积的计算过程如下图:

1.5 膨胀卷积

        也叫膨胀卷积。为扩大感受野,在卷积核的元素之间插入空格“膨胀”内核,形成空洞卷积,并用膨胀率参数L表示要扩大内核的范围,即在内核元素之间插入L-1个空格。当L=1时,内核元素之间没有插入空格,变为标准卷积。图中是L=2的空洞卷积。

1.6 可分离卷积

1.6.1 空间可分离卷积

        空间可分离卷积是将卷积核分解为两项独立的核分别进行操作。在数学中我们可以将矩阵分解:

        

        所以对3x3的卷积核,我们同样可以拆分成 3x1 和 1x3 的两个卷积核,对其进行卷积,且采用可分离卷积的计算量比标准卷积要少。

1.6.2 深度可分离卷积

        深度可分离卷积由两部组成:深度卷积核$1 imes1$卷积,我们可以使用`Animated AI`官网的图来演示这一过程。
        图1:输入图的每一个通道,我们都使用了对应的卷积核进行卷积。 通道数量 = 卷积核个数,每个卷积核只有一个通道。

        图2:完成卷积后,对输出内容进行`1x1`的卷积。

1.7 扁平卷积

        扁平卷积是将标准卷积拆分成为3个`1x1`的卷积核,然后再分别对输入层进行卷积计算。

        - 标准卷积参数量XYC,计算量为MNCXY
        - 拆分卷积参数量(X+Y+C),计算量为MN(C+X+Y)

1.8 分组卷积

        2012年,AlexNet论文中最先提出来的概念,当时主要为了解决GPU显存不足问题,将卷积分组放到两个GPU中并行执行。
        在分组卷积中,卷积核被分成不同的组,每组负责对相应的输入层进行卷积计算,最后再进行合并。
        下图中卷积核被分成两个组,前半部负责处理前半部的输入层,后半部负责后半部的输入层,最后将结果组合。

        分组卷积中:

1. 输入通道被划分为若干组。

2. 每组通道只与对应的卷积核计算。

3. 不同组之间互相独立,卷积核不共享。

1.9 混洗分组卷积

        分组卷积中最终结果会按照原先的顺序进行合并组合,阻碍了模型在训练时特征信息在通道间流动,削弱了特征表示。混洗分组卷积,主要是将分组卷积后的计算结果混合交叉在一起输出。

2. 感受野

2.1 理解感受野

        字面意思是感受的视野范围

        如果堆叠3个3 x 3的卷积层,并且保持滑动窗口步长为1,其感受野就是7×7的了, 这跟一个使用7x7卷积核的结果是一样的,那为什么非要堆叠3个小卷积呢?

2.2 感受野的作用

        假设输入大小都是h × w × C,并且都使用C个卷积核(得到C个特征图),可以来计算 一下其各自所需参数。

        很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也随着增多,还不会增大权重参数个数,用小的卷积核来完成体特征提取操作。

3. 卷积神经网络案例

3.1 模型结构

        网络结构如下:

        1. 输入形状: 32x32
        2. 第一个卷积层输入 3 个 Channel, 输出 6 个 Channel, Kernel Size 为: 3x3
        3. 第一个池化层输入 30x30, 输出 15x15, Kernel Size 为: 2x2, Stride 为: 2
        4. 第二个卷积层输入 6 个 Channel, 输出 16 个 Channel, Kernel Size 为 3x3
        5. 第二个池化层输入 13x13, 输出 6x6, Kernel Size 为: 2x2, Stride 为: 2
        6. 第一个全连接层输入 576 维, 输出 120 维
        7. 第二个全连接层输入 120 维, 输出 84 维
        8. 最后的输出层输入 84 维, 输出 10 维

        我们在每个卷积计算之后应用 relu 激活函数来给网络增加非线性因素。

3.2 网络模型定义

        示例:

import torch
import torch.nn as nn


class ImageClassification(nn.Module):
    def __init__(self):
        super(ImageClassification, self).__init__()
        # 这是一层卷积层
        self.layer1 = nn.Sequential(
            nn.Conv2d(in_channels=3, out_channels=32, kernel_size=3, stride=1),
            nn.ReLU(),
            nn.MaxPool2d(kernel_size=2, stride=2),
            nn.Dropout(0.25),
        )

        self.layer2 = nn.Sequential(
            nn.Conv2d(in_channels=32, out_channels=128, kernel_size=3, stride=1),
            nn.ReLU(),
            nn.MaxPool2d(kernel_size=2, stride=2),
            nn.Dropout(0.25),
        )

        self.linear1 = nn.Sequential(
            nn.Linear(128 * 6 * 6, 2048), nn.ReLU(), nn.Dropout(0.5)
        )

        self.linear2 = nn.Sequential(nn.Linear(2048, 1024), nn.ReLU(), nn.Dropout(0.5))

        self.out = nn.Linear(1024, 10)

    def forward(self, x):
        x = self.layer1(x)
        x = self.layer2(x)
        x = x.reshape(x.size(0), -1)
        x = self.linear1(x)
        x = self.linear2(x)
        return self.out(x)

3.3 用到的模块

        示例:

import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F
from torchvision.datasets import CIFAR10
from torchvision.transforms import Compose, ToTensor
from torch.utils.data import DataLoader
import os
import time

# 从modele目录导入模型
from model.image_classification import ImageClassification

3.4 CIFAR10数据源

        示例:

def test001():
    dir = os.path.dirname(__file__)
    # 加载数据集
    train = CIFAR10(
        root=os.path.join(dir, "data"),
        train=True,
        download=True,
        transform=Compose([ToTensor()]),
    )

    vaild = CIFAR10(
        root=os.path.join(dir, "data"),
        train=False,
        download=True,
        transform=Compose([ToTensor()]),
    )

    # 观察一下数据集信息
    print("训练数据集数量:", train.__len__())
    # 观察一下数据集分类情况
    print("训练数据集分类情况:", train.class_to_idx)

    train_loader = DataLoader(train, batch_size=128, shuffle=True)
    vaild_loader = DataLoader(vaild, batch_size=128, shuffle=True)
    for i, (x, y) in enumerate(train_loader):
        print(i, x.shape, y.shape)

3.5 模型训练及保存

        示例:

def train():
    dir = os.path.dirname(__file__)
    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

    # 加载数据集
    train = CIFAR10(
        root=os.path.join(dir, "data"),
        train=True,
        download=True,
        transform=transform,
    )
    # 导入模型
    model = ImageClassification()
    model.to(device)
    # 定义i模型训练的超参数
    epochs = 80
    lr = 1e-3
    batch_size = 256
    loss_history = []
    # 构建训练用的损失函数及优化器
    criterion = nn.CrossEntropyLoss()
    optimizer = optim.Adam(model.parameters(), lr=lr)
    for i, epoch in enumerate(range(epochs)):
        # 构建训练数据批次
        train_loader = DataLoader(train, batch_size=batch_size, shuffle=True)
        # 记录样本数量
        train_num = 0
        # 记录总的损失值:用于计算平均损失
        total_loss = 0.0
        # 记录正确记录数
        correct = 0
        # 记录训练开始时间
        start = time.time()
        # 开始使用批次数据进行训练
        for x, y in train_loader:
            # 更改模型训练设备
            x = x.to(device)
            y = y.to(device)
            # 送入模型
            output = model(x)
            # 计算损失
            loss = criterion(output, y)
            # 梯度清零
            optimizer.zero_grad()
            # 反向传播
            loss.backward()
            # 更新参数
            optimizer.step()
            # 更新训练过程的数据
            train_num += len(y)
            total_loss += loss.item() * len(y)
            correct += output.argmax(1).eq(y).sum().item()

        print(
            "epoc:%d  loss:%.3f accuracy:%.3f time:%.3f"
            % (i + 1, total_loss / train_num, correct / train_num, time.time() - start)
        )
        loss_history.append(total_loss / train_num)
        # 更新图形
        update_plot(loss_history)
        # 训练完成之后,保存模型
        torch.save(model.state_dict(), os.path.join(dir, "model.pth"))
        print("模型保存成功:", i)

3.6 模型加载及验证

        示例:

# 测试集评估
def vaild():
    dir = os.path.dirname(__file__)
    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
    # 定义超参数
    batch_size = 100
    # 定义测试记录数据
    vaild_num = 0
    total_correct = 0

    vaild_data = CIFAR10(
        root=os.path.join(dir, "data"),
        train=False,
        download=False,
        transform=transform,
    )
    # 构建测评数据集批次
    vaild_loader = DataLoader(vaild_data, batch_size=batch_size, shuffle=False)
    model = ImageClassification()
    # 加载模型参数
    model.load_state_dict(torch.load(os.path.join(dir, "model.pth")))
    # 切换为验证模式
    model.to(device)
    model.eval()
    for x, y in vaild_loader:
        x = x.to(device)
        y = y.to(device)
        output = model(x)
        total_correct += output.argmax(1).eq(y).sum().item()
        vaild_num += len(y)

    print("测试集正确率:%.3f" % (total_correct / vaild_num))

        我们可以从以下几个方面来调整网络:

        1. 增加卷积核输出通道数;
        2. 增加全连接层的参数量;
        3. 调整学习率;
        4. 调整优化方法;
        5. 修改激活函数;
        6. 进行数据增强,等等。

3.7 数据增强

        示例:

data_transforms = {
    'train': transforms.Compose([transforms.RandomRotation(45),#随机旋转,-45到45度之间随机选
        transforms.CenterCrop(224),#从中心开始裁剪
        transforms.RandomHorizontalFlip(p=0.5),#随机水平翻转 选择一个概率概率
        transforms.RandomVerticalFlip(p=0.5),#随机垂直翻转
        transforms.ColorJitter(brightness=0.2, contrast=0.1, saturation=0.1, hue=0.1),#参数1为亮度,参数2为对比度,参数3为饱和度,参数4为色相
        transforms.RandomGrayscale(p=0.025),#概率转换成灰度率,3通道就是R=G=B
        transforms.ToTensor(),
        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])#均值,标准差
    ]),
    'valid': transforms.Compose([transforms.Resize(256),
        transforms.CenterCrop(224),
        transforms.ToTensor(),
        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
    ]),
}
from torchvision import transforms
from PIL import Image

# 定义图像预处理步骤
preprocess = transforms.Compose([
    transforms.Resize(256),
    transforms.CenterCrop(224),
    transforms.ToTensor(),
    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])

# 打开图像
img = Image.open("path_to_image.jpg")

# 应用预处理步骤
img_tensor = preprocess(img)

3.8 实时渲染训练效果

        示例:

# 更新图形的函数
def update_plot(loss_history):
    plt.cla()  # 清除之前的图形
    plt.plot(loss_history, marker="o", color="green", linestyle="-")  # 绘制损失率曲线
    plt.xlabel("Epoch")
    plt.ylabel("Loss")
    plt.title("Training Loss")
    plt.grid(True)
    plt.pause(0.001)  # 暂停一段时间以便更新图形

	# 开始训练模型并动态显示损失率变化
    plt.ion()  # 打开交互模式
    train()
    plt.ioff()  # 关闭交互模式
    plt.show()
    
#在训练的时候实时更新数据
loss_history = []
loss_history.append(total_loss / train_num)
# 更新图形
update_plot(loss_history)

本文地址:https://www.vps345.com/4102.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP 服务器 linux 运维 游戏 云计算 javascript 前端 chrome edge 进程 操作系统 进程控制 Ubuntu llama 算法 opencv 自然语言处理 神经网络 语言模型 ssh deepseek Ollama 模型联网 API CherryStudio python MCP harmonyos 华为 开发语言 typescript 计算机网络 ubuntu 数据库 centos oracle 关系型 安全 分布式 fastapi mcp mcp-proxy mcp-inspector fastapi-mcp agent sse pycharm ide pytorch 人工智能 numpy adb nginx 监控 自动化运维 阿里云 网络 网络安全 网络协议 django flask web3.py github 创意 社区 flutter RTSP xop RTP RTSPServer 推流 视频 macos react.js 前端面试题 node.js 持续部署 Dell R750XS 科技 ai java 个人开发 udp unity 笔记 C 环境变量 进程地址空间 tcp/ip rust http 银河麒麟 kylin v10 麒麟 v10 深度学习 YOLO 目标检测 计算机视觉 android c++ c语言 conda 机器学习 spring spring boot 后端 tomcat postman mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 ESP32 LDAP websocket docker 自动化 maven intellij idea Qwen2.5-coder 离线部署 腾讯云 nuxt3 vue3 实时音视频 filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 dubbo .netcore 运维开发 容器 统信 国产操作系统 虚拟机安装 .net openEuler golang 蓝耘科技 元生代平台工作流 ComfyUI gitlab 低代码 多线程服务器 Linux网络编程 pillow live555 rtsp rtp json html5 firefox 面试 性能优化 jdk intellij-idea 架构 elasticsearch jenkins AI 爬虫 数据集 kubernetes 学习方法 经验分享 程序人生 vim vscode 代码调试 ipdb c# springsecurity6 oauth2 授权服务器 token sas DeepSeek-R1 API接口 Flask FastAPI Waitress Gunicorn uWSGI Uvicorn prometheus Hyper-V WinRM TrustedHosts kvm 无桌面 命令行 串口服务器 apache matlab YOLOv8 NPU Atlas800 A300I pro asi_bench mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 windows 搜索引擎 Deepseek Docker Compose docker compose docker-compose 智能路由器 dell服务器 IIS .net core Hosting Bundle .NET Framework vs2022 rabbitmq es jvm php html oceanbase rc.local 开机自启 systemd 麒麟 ecm bpm chatgpt 大模型 llama3 Chatglm 开源大模型 深度优先 图论 并集查找 换根法 树上倍增 ddos ollama llm zotero WebDAV 同步失败 代理模式 ansible playbook vue.js audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 java-ee bash sql KingBase 报错 信息与通信 ip k8s 媒体 ESXi 学习 SSH 远程连接 qt express p2p 云原生 软件工程 mysql redis VMware安装Ubuntu Ubuntu安装k8s hugo mysql离线安装 ubuntu22.04 mysql8.0 WSL2 https kylin Samba SWAT 配置文件 服务管理 网络共享 监控k8s集群 集群内prometheus 嵌入式硬件 单片机 HTTP 服务器控制 ESP32 DeepSeek ruoyi git 服务器繁忙 备选 网站 api 调用 示例 银河麒麟桌面操作系统 Kylin OS 国产化 僵尸进程 DeepSeek行业应用 DeepSeek Heroku 网站部署 机器人 AutoDL IIS服务器 IIS性能 日志监控 命令 unix hive Hive环境搭建 hive3环境 Hive远程模式 microsoft rpc 边缘计算 智能硬件 远程桌面 sqlite AI编程 TCP服务器 qt项目 qt项目实战 qt教程 openssl 密码学 flash-attention Dify Docker Hub docker pull 镜像源 daemon.json Linux 模拟退火算法 开源 田俊楠 国标28181 视频监控 监控接入 语音广播 流程 SIP SDP 系统安全 编辑器 MQTT mosquitto 消息队列 缓存 r语言 数据挖掘 数据可视化 数据分析 word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 web安全 计算机 程序员 华为od ollama下载加速 ssl EMQX 通信协议 spring cloud kafka hibernate kamailio sip VoIP 根服务器 clickhouse gitee 数据库系统 宝塔面板 同步 备份 建站 AIGC Ubuntu Server Ubuntu 22.04.5 laravel AI大模型 大模型入门 大模型教程 webrtc minicom 串口调试工具 测试工具 remote-ssh sqlserver junit ukui 麒麟kylinos openeuler stm32 W5500 OLED u8g2 飞牛NAS 飞牛OS MacBook Pro 微服务 chfs ubuntu 16.04 框架搭建 kind 软件需求 jar android studio unity3d mongodb springboot 火绒安全 Nuxt.js Xterminal Reactor 设计模式 C++ 需求分析 规格说明书 豆瓣 追剧助手 迅雷 nas 微信 内存 远程工作 微信小程序 小程序 前端框架 okhttp CORS 跨域 雨云 NPS 飞书 孤岛惊魂4 uniapp vue aws googlecloud 恒源云 tcp AD域 vSphere vCenter 软件定义数据中心 sddc RTMP 应用层 jupyter 反向代理 致远OA OA服务器 服务器磁盘扩容 服务器数据恢复 数据恢复 存储数据恢复 北亚数据恢复 oracle数据恢复 jmeter 软件测试 HCIE 数通 oneapi 大模型微调 open webui 电脑 音视频 JAVA Java echarts 传统数据库升级 银行 大语言模型 LLMs gpu算力 单一职责原则 华为认证 网络工程师 交换机 移动云 MS Materials Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 gateway Clion Nova ResharperC++引擎 Centos7 远程开发 minio 外网访问 内网穿透 端口映射 ios Headless Linux 大数据 计算机外设 XCC Lenovo asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 策略模式 单例模式 1024程序员节 安全架构 AISphereButler tcpdump shell embedding visualstudio zookeeper debian 部署 SSL 域名 WSL win11 无法解析服务器的名称或地址 MacOS录屏软件 armbian u-boot LORA NLP 安装教程 GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 Trae IDE AI 原生集成开发环境 Trae AI npm 驱动开发 硬件工程 嵌入式实习 游戏程序 RustDesk自建服务器 rustdesk服务器 docker rustdesk 黑客技术 URL ftp uni-app pyqt 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 EasyConnect Cline LLM Web APP Streamlit 交叉编译 嵌入式 hadoop big data opensearch helm ssrf 失效的访问控制 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 MI300x 交互 openwrt 医疗APP开发 app开发 ux 多线程 vscode1.86 1.86版本 ssh远程连接 SSE zabbix GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 open Euler dde deepin 统信UOS Python 网络编程 聊天服务器 套接字 TCP 客户端 Socket asm svn xrdp string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap 游戏服务器 TrinityCore 魔兽世界 开发环境 SSL证书 sysctl.conf vm.nr_hugepages adobe CPU 主板 电源 网卡 VSCode 负载均衡 odoo 服务器动作 Server action 雨云服务器 FTP 服务器 崖山数据库 YashanDB 源码剖析 rtsp实现步骤 流媒体开发 Ubuntu 24.04.1 轻量级服务器 NFS redhat pdf 群晖 文件分享 virtualenv arm 毕设 raid5数据恢复 磁盘阵列数据恢复 银河麒麟操作系统 远程过程调用 Windows环境 ffmpeg 直播推流 服务器部署ai模型 rsyslog 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 物联网 三级等保 服务器审计日志备份 FTP服务器 v10 软件 fpga开发 微信公众平台 risc-v 3d 中间件 C语言 ipython 软考 流式接口 c 联想开天P90Z装win10 DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 bootstrap 系统架构 ci/cd ecmascript nextjs react reactjs 压力测试 tailscale derp derper 中转 重启 排查 系统重启 日志 原因 网工 IDEA bonding 链路聚合 idm 课程设计 MCP server C/S LLM windows日志 selete 高级IO Unity Dedicated Server Host Client 无头主机 stm32项目 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 命名管道 客户端与服务端通信 5G 3GPP 卫星通信 能力提升 面试宝典 技术 IT信息化 agi 多进程 TRAE 微信分享 鸿蒙 Image wxopensdk iDRAC R720xd 前后端分离 go 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 Linux PID XFS xfs文件系统损坏 I_O error 磁盘监控 ceph 集成学习 集成测试 服务器配置 生物信息学 Agent mcu gitea excel FunASR ASR 企业微信 Linux24.04 佛山戴尔服务器维修 佛山三水服务器维修 file server http server web server 黑客 Invalid Host allowedHosts rdp 实验 Wi-Fi WebUI DeepSeek V3 数据结构 Spring Security HarmonyOS Next UOS 统信操作系统 yum SysBench 基准测试 C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 ISO镜像作为本地源 mybatis 云电竞 云电脑 todesk 职场和发展 硬件 设备 GPU PCI-Express 7z 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 cursor 输入法 音乐服务器 Navidrome 音流 transformer av1 电视盒子 机顶盒ROM 魔百盒刷机 Minecraft 数学建模 网络结构图 MNN Qwen pppoe radius arm开发 远程 执行 sshpass 操作 gaussdb xss 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 pip H3C Dell HPE 联想 浪潮 华为云 next.js 部署next.js QQ 聊天室 温湿度数据上传到服务器 Arduino HTTP ocr AI agent 硬件架构 思科模拟器 思科 Cisco YOLOv12 云服务 向日葵 firewalld eureka 其他 muduo X11 Xming Cursor 银河麒麟服务器操作系统 系统激活 弹性计算 虚拟化 KVM 计算虚拟化 弹性裸金属 博客 权限 windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 社交电子 安全威胁分析 vscode 1.86 远程登录 telnet pygame 小游戏 五子棋 漏洞 IMX317 MIPI H265 VCU 鸿蒙系统 devops alias unalias 别名 composer ui DevEco Studio ue5 vr 产测工具框架 IMX6ULL 管理框架 cuda cudnn nvidia 智能手机 NAS Termux prometheus数据采集 prometheus数据模型 prometheus特点 gradle ip命令 新增网卡 新增IP 启动网卡 visual studio code 相机 云服务器 裸金属服务器 弹性裸金属服务器 Linux的基础指令 gpt 游戏引擎 游戏机 开发 文件系统 用户缓冲区 Netty 即时通信 NIO 源码 毕业设计 list 模拟实现 KylinV10 麒麟操作系统 虚拟机 Vmware milvus 混合开发 环境安装 JDK regedit 开机启动 无人机 毕昇JDK elk Logstash 日志采集 fd 文件描述符 语音识别 半虚拟化 硬件虚拟化 Hypervisor 基础入门 编程 EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 mac micropython esp32 mqtt webgl cocoapods xcode iBMC UltraISO dify threejs 3D centos-root /dev/mapper yum clean all df -h / du -sh vasp安装 考研 onlyoffice 在线office SenseVoice 查询数据库服务IP地址 SQL Server 京东云 postgresql pgpool 业界资讯 yolov8 实时互动 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 mamba 私有化 本地部署 code-server SVN Server tortoise svn 音乐库 飞牛 实用教程 具身智能 强化学习 ubuntu24.04.1 算力 iot Radius proxy模式 prompt 软链接 硬链接 HAProxy n8n 工作流 workflow MySql ABAP 银河麒麟高级服务器 外接硬盘 Kylin 物联网开发 路径解析 outlook epoll 可信计算技术 网络攻击模型 Windows trea idea efficientVIT YOLOv8替换主干网络 TOLOv8 做raid 装系统 BMC 实战案例 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 直流充电桩 充电桩 主从复制 移动魔百盒 cnn DenseNet IPv4 子网掩码 公网IP 私有IP USB转串口 CH340 rust腐蚀 SSH 密钥生成 SSH 公钥 私钥 生成 CrewAI harmonyOS面试题 邮件APP 免费软件 web mariadb eNSP 企业网络规划 华为eNSP 网络规划 ShenTong 网络穿透 VPS ruby bug rustdesk OD机试真题 华为OD机试真题 服务器能耗统计 deepseek r1 双系统 GRUB引导 Linux技巧 dns 信号处理 ubuntu24 vivado24 键盘 线程 autodl 链表 iphone 代理服务器 opcua opcda KEPServer安装 图像处理 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 iftop 网络流量监控 wsl 技能大赛 make命令 makefile文件 k8s集群资源管理 云原生开发 RAGFLOW 繁忙 解决办法 替代网站 汇总推荐 AI推理 CDN ros2 moveit 机器人运动 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 鲲鹏 烟花代码 烟花 元旦 AI-native Docker Desktop uv win服务器架设 windows server 安卓 wireshark lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 镜像 迁移指南 王者荣耀 ROS 自动驾驶 自定义客户端 SAS 大数据平台 wsgiref Web 服务器网关接口 selenium flink nfs 信息可视化 网页设计 大模型面经 大模型学习 华为机试 skynet dity make 办公自动化 自动化生成 pdf教程 navicat 大大通 第三代半导体 碳化硅 回显服务器 UDP的API使用 状态模式 gcc g++ g++13 ai工具 java-rocketmq Vmamba 服务器管理 配置教程 服务器安装 网站管理 ardunio BLE etcd 数据安全 RBAC webstorm arcgis Typore less GIS 遥感 WebGIS Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 金融 影刀 #影刀RPA# 项目部署到linux服务器 项目部署过程 升级 CVE-2024-7347 pyautogui RAG 检索增强生成 文档解析 大模型垂直应用 抗锯齿 Kylin-Server Kali Linux 渗透测试 信息收集 h.264 串口驱动 CH341 uart 485 firewall SSH 服务 SSH Server OpenSSH Server 网卡的名称修改 eth0 ens33 bcompare Beyond Compare 模拟器 教程 cpp-httplib 小智AI服务端 xiaozhi TTS 服务器主板 AI芯片 WebRTC web3 AD 域管理 AI写作 grafana bot Docker GCC Linux环境 lio-sam SLAM GoogLeNet IPMITOOL 硬件管理 IMM cd 目录切换 iis 政务 分布式系统 监控运维 Prometheus Grafana 视觉检测 EMUI 回退 降级 环境迁移 Node-Red 编程工具 流编程 VMware创建虚拟机 视频编解码 apt 国内源 虚拟局域网 python3.11 dash 正则表达式 tidb GLIBC tensorflow 显卡驱动 端口 查看 ss xpath定位元素 僵尸世界大战 游戏服务器搭建 远程控制 远程看看 远程协助 中兴光猫 换光猫 网络桥接 自己换光猫 知识图谱 gpt-3 文心一言 sqlite3 Open WebUI Anolis nginx安装 linux插件下载 ArkUI 多端开发 智慧分发 应用生态 鸿蒙OS cpu 实时 使用 网络用户购物行为分析可视化平台 大数据毕业设计 Ark-TS语言 ldap RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 单元测试 功能测试 springcloud 序列化反序列化 端口测试 程序 xml 图形化界面 换源 Debian 虚幻 实习 css 架构与原理 开机自启动 easyui langchain 多个客户端访问 IO多路复用 TCP相关API cmos 元服务 应用上架 linux环境变量 ros springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 wsl2 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 大文件秒传跨域报错cors 压测 ECS trae P2P HDLC camera Arduino 电子信息 VMware安装mocOS VMware macOS系统安装 crosstool-ng 宕机切换 服务器宕机 QT 5.12.12 QT开发环境 Ubuntu18.04 Jellyfin docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos deekseek ragflow 知识库 linux驱动开发 性能分析 lua RAID RAID技术 磁盘 存储 DOIT 四博智联 防火墙 NAT转发 NAT Server 多层架构 解耦 超融合 aarch64 编译安装 HPC RAGFlow 金仓数据库 2025 征文 数据库平替用金仓 mq rocketmq nac 802.1 portal 自动化测试 性能测试 昇腾 npu PVE 常用命令 文本命令 目录命令 分析解读 树莓派 VNC thingsboard wps 域名服务 DHCP 符号链接 配置 LInux midjourney 信号 rnn 相差8小时 UTC 时间 netty css3 智能音箱 智能家居 sentinel linux安装配置 本地知识库部署 DeepSeek R1 模型 seatunnel MacMini Mac 迷你主机 mini Apple 状态管理的 UDP 服务器 Arduino RTOS 宠物 免费学习 宠物领养 宠物平台 小艺 Pura X dba Python基础 Python教程 Python技巧 技术共享 我的世界 我的世界联机 数码 深度求索 私域 ue4 着色器 环境配置 IM即时通讯 剪切板对通 HTML FORMAT 我的世界服务器搭建 Claude 加解密 Yakit yaklang VLAN 企业网络 AnythingLLM AnythingLLM安装 rag ragflow 源码启动 干货分享 黑客工具 密码爆破 Kali iperf3 带宽测试 执法记录仪 智能安全帽 smarteye k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm 矩阵 线性代数 电商平台 流量运营 log4j VR手套 数据手套 动捕手套 动捕数据手套 阿里云ECS eclipse 蓝桥杯 anaconda 腾讯云大模型知识引擎 IPMI 带外管理 Xinference can 线程池 HarmonyOS glibc Erlang OTP gen_server 热代码交换 事务语义 freebsd linux上传下载 健康医疗 互联网医院 keepalived sonoma 自动更新 HiCar CarLife+ CarPlay QT RK3588 llama.cpp dns是什么 如何设置电脑dns dns应该如何设置 USB网络共享 Google pay Apple pay Playwright 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 ssh远程登录 chrome devtools chromedriver AI作画 rclone AList webdav fnOS Unity插件 浏览器开发 AI浏览器 ssh漏洞 ssh9.9p2 CVE-2025-23419 iventoy VmWare OpenEuler ArcTS 登录 ArcUI GridItem bat arkUI 测试用例 vmware 卡死 .net mvc断点续传 个人博客 matplotlib linux 命令 sed 命令 AI代码编辑器 etl 合成模型 扩散模型 图像生成 yaml Ultralytics 可视化 db 剧本 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 语法 safari 系统 rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK Windsurf 历史版本 下载 安装 OpenHarmony 真机调试 edge浏览器 自动化任务管理 工业4.0 捆绑 链接 谷歌浏览器 youtube google gmail 阻塞队列 生产者消费者模型 服务器崩坏原因 Linux find grep 网站搭建 serv00 jetty undertow Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 图形渲染 jina 代理 微信开放平台 微信公众号配置 黑苹果 rime 游戏开发 frp SEO Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 hexo wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 perf sdkman sequoiaDB yum源切换 更换国内yum源 流水线 脚本式流水线 显示管理器 lightdm gdm 大模型推理 TCP协议 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 C# MQTTS 双向认证 emqx 程序员创富 nlp minecraft PX4 MVS 海康威视相机 Linux的权限 本地化部署 聚类 李心怡 分布式训练 ai小智 语音助手 ai小智配网 ai小智教程 esp32语音助手 diy语音助手 EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 docker部署Python 渗透 玩机技巧 软件分享 软件图标 fast 大模型应用 IO 存储维护 NetApp存储 EMC存储 离线部署dify Qwen2.5-VL vllm docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 增强现实 沉浸式体验 应用场景 技术实现 案例分析 AR 内网服务器 内网代理 内网通信 VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 虚幻引擎 DocFlow 自动化编程 项目部署 粘包问题 嵌入式系统开发 spark HistoryServer Spark YARN jobhistory 热榜 wpf conda配置 conda镜像源 远程服务 CentOS 产品经理 MDK 嵌入式开发工具 论文笔记 sublime text DBeaver searxng 网络药理学 生信 PPI String Cytoscape CytoHubba Attention 大模型部署 UOS1070e 目标跟踪 OpenVINO 推理应用 运维监控 seleium figma leetcode 推荐算法 visual studio SRS 流媒体 直播 嵌入式Linux IPC dock 加速 软负载 gnu CLion 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 kali 共享文件夹 网络建设与运维 curl wget mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 AI Agent 字节智能运维 搭建个人相关服务器 swoole hosts 灵办AI deep learning 人工智能生成内容 openstack Xen 拓扑图 内网环境 飞牛nas fnos triton 模型分析 车载系统 TrueLicense Ubuntu共享文件夹 共享目录 Linux共享文件夹 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 Deepseek-R1 私有化部署 推理模型 欧标 OCPP x64 SIGSEGV xmm0 neo4j docker命令大全 OpenSSH docker run 数据卷挂载 交互模式 风扇控制软件 本地部署AI大模型 西门子PLC 通讯 Cookie UDP CentOS Stream DNS 基础环境 ubuntu20.04 开机黑屏 服务器时间 匿名管道 qemu libvirt 网络爬虫 沙盒 系统开发 binder framework 源码环境 word 多路转接 ping++ xshell termius iterm2 数据仓库 数据库开发 database Redis Desktop 服务网格 istio js 论文阅读 docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 IO模型 uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 rpa VS Code 网络搭建 神州数码 神州数码云平台 云平台 鸿蒙开发 移动开发 信创 信创终端 中科方德 grub 版本升级 扩容 kerberos