最新资讯

  • 【深度学习】喂饭版-深度学习环境配置(Ubuntu 24.04 + CUDA 12.4 + NVIDIA RTX 3090)

【深度学习】喂饭版-深度学习环境配置(Ubuntu 24.04 + CUDA 12.4 + NVIDIA RTX 3090)

2025-04-28 21:37:44 1 阅读

Ubuntu 24.04 + CUDA 12.4 + NVIDIA RTX 3090 深度学习环境配置

阅读提示:文章每一步笔者亲自走了一遍,并安装成功。同时成功运行了ComfyUI下Flux-dev1.0 文生图,最新通义万相Wan2.1文生视频,图生视频。请放心使用。

前提安装NVIDIA驱动,最简便的方法有两种:

第一种:在Ubuntu安装过程中安装NVIDIA驱动:

  1. 当您启动Ubuntu安装程序时,在安装类型选择界面会有一个选项:“安装Ubuntu时下载更新"和"安装第三方软件用于图形和Wi-Fi硬件,Flash,MP3和其他媒体”。
  2. 确保勾选"安装第三方软件用于图形和Wi-Fi硬件,Flash,MP3和其他媒体"这个选项。
  3. 在较新的Ubuntu版本中(如Ubuntu 20.04及以后),选择此选项后可能会出现另一个对话框,询问您是否要安装专有驱动程序,包括NVIDIA驱动。
  4. 选择"安装"或"是",然后继续正常的安装过程。
  5. 安装完成并重启后,NVIDIA驱动就已经预先安装好了。

第二种:使用Ubuntu自带的"软件和更新"工具,这是最简单的方法之一:

  1. 打开"软件和更新"
  2. 点击"附加驱动"选项卡
  3. 系统会自动搜索可用的NVIDIA驱动
  4. 选择推荐的NVIDIA专有驱动,这里选择专属,不要选择开源
  5. 点击"应用更改"并等待安装完成
  6. 重启系统

安装步骤

第一步:更新系统

echo "正在更新系统..."
sudo apt update && sudo apt upgrade -y

第二步:安装基础开发工具

echo "正在安装基础开发工具..."
sudo apt install -y build-essential gcc g++ make cmake unzip git wget curl htop

第三步:验证NVIDIA驱动是否已正确安装

echo "验证NVIDIA驱动..."
nvidia-smi

第四步:验证CUDA和NVCC是否已安装

echo "验证CUDA和NVCC..."
nvcc -V

# 如果NVCC未安装,则安装CUDA工具包
if [ $? -ne 0 ]; then 
    echo "NVCC未安装,正在安装CUDA工具包..."
    # 下载CUDA安装包(CUDA 12.4.1)
    wget https://developer.download.nvidia.com/compute/cuda/12.4.1_550.54.15/local_installers/cuda_12.4.1_550.54.15_linux.run
    # 安装CUDA工具包
    sudo sh cuda_12.4.1_550.54.15_linux.run --silent --toolkit
    # 删除安装包
    rm cuda_12.4.1_550.54.15_linux.run
    # 验证安装
    nvcc -V
fi

第五步:安装CUDA相关依赖

echo "正在安装CUDA相关依赖..."
# 确保CUDA已正确安装,这里假设CUDA 12.4已安装
# 添加CUDA路径到环境变量
echo 'export PATH=/usr/local/cuda-12.4/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

第六步:安装cuDNN

echo "正在安装cuDNN..."
# 下载cuDNN
wget https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-9.7.1.26_cuda12-archive.tar.xz -O ~/cudnn.tar.xz
# 解压cuDNN
mkdir -p ~/cudnn
tar -xf ~/cudnn.tar.xz -C ~/cudnn
# 复制cuDNN文件到CUDA目录
sudo cp ~/cudnn/cudnn-linux-x86_64-9.7.1.26_cuda12-archive/include/* /usr/local/cuda-12.4/include/
sudo cp ~/cudnn/cudnn-linux-x86_64-9.7.1.26_cuda12-archive/lib/* /usr/local/cuda-12.4/lib64/
sudo chmod a+r /usr/local/cuda-12.4/include/cudnn*.h /usr/local/cuda-12.4/lib64/libcudnn*
# 清理临时文件
rm -rf ~/cudnn ~/cudnn.tar.xz

第七步:安装Python开发环境

echo "正在安装Python开发环境..."
sudo apt install -y python3-dev python3-pip
sudo -H pip3 install --upgrade pip

第八步:创建虚拟环境(推荐使用conda)

echo "正在安装Miniconda..."
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh -b -p $HOME/miniconda
rm ~/miniconda.sh
echo 'export PATH="$HOME/miniconda/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# 创建深度学习环境
echo "正在创建深度学习conda环境..."
conda create -n deeplearning python=3.10 -y
conda activate deeplearning

# 在conda环境中安装包
pip install --upgrade pip

第九步:安装深度学习框架和依赖库

echo "正在安装PyTorch和相关库..."
# 安装PyTorch(适用于CUDA 12.4的版本)
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia

# 安装TensorFlow(确保安装支持GPU的版本)
pip install tensorflow

# 安装Jupyter生态系统
conda install -y jupyter jupyterlab

# 安装常用的数据科学和机器学习库
conda install -y numpy pandas matplotlib seaborn scikit-learn

# 安装其他有用的深度学习库
pip install transformers -i https://mirrors.aliyun.com/pypi/simple
pip install datasets -i https://mirrors.aliyun.com/pypi/simple
pip install opencv-python -i https://mirrors.aliyun.com/pypi/simple
pip install albumentations -i https://mirrors.aliyun.com/pypi/simple
pip install timm -i https://mirrors.aliyun.com/pypi/simple
pip install tensorboard -i https://mirrors.aliyun.com/pypi/simple
pip install mlflow -i https://mirrors.aliyun.com/pypi/simple
pip install pytorch-lightning -i https://mirrors.aliyun.com/pypi/simple
pip install fastai -i https://mirrors.aliyun.com/pypi/simple
pip install huggingface_hub -i https://mirrors.aliyun.com/pypi/simple

第十步:验证安装

echo "正在验证PyTorch GPU支持..."
python -c "import torch; print('PyTorch版本:', torch.__version__); print('CUDA是否可用:', torch.cuda.is_available()); print('CUDA版本:', torch.version.cuda); print('GPU数量:', torch.cuda.device_count()); print('GPU名称:', torch.cuda.get_device_name(0))"

echo "正在验证TensorFlow GPU支持..."
python -c "import tensorflow as tf; print('TensorFlow版本:', tf.__version__); print('GPU是否可用:', tf.config.list_physical_devices('GPU')); print('列出所有可用GPU:'); [print(gpu) for gpu in tf.config.list_physical_devices('GPU')]"

第十一步:创建简单的深度学习测试脚本

PyTorch测试脚本:
echo "创建PyTorch测试脚本..."
cat > ~/pytorch_test.py << 'EOL'
import torch
import torch.nn as nn
import torch.optim as optim
import time

# 检查是否有可用的GPU
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(f"使用设备: {device}")

# 创建一个简单的神经网络
class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(1000, 2000)
        self.fc2 = nn.Linear(2000, 3000)
        self.fc3 = nn.Linear(3000, 1000)
        self.relu = nn.ReLU()
    
    def forward(self, x):
        x = self.relu(self.fc1(x))
        x = self.relu(self.fc2(x))
        x = self.fc3(x)
        return x

# 创建模型并移至GPU
model = SimpleNN().to(device)
print("模型已创建并移至", device)

# 创建随机输入数据
batch_size = 64
x = torch.randn(batch_size, 1000).to(device)
y = torch.randn(batch_size, 1000).to(device)

# 定义损失函数和优化器
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)

# 测试多GPU训练
if torch.cuda.device_count() > 1:
    print(f"使用 {torch.cuda.device_count()} 个GPU进行训练!")
    model = nn.DataParallel(model)

# 运行训练循环
start_time = time.time()
for epoch in range(10):
    optimizer.zero_grad()
    outputs = model(x)
    loss = criterion(outputs, y)
    loss.backward()
    optimizer.step()
    print(f"Epoch {epoch+1}/10, Loss: {loss.item():.4f}")

end_time = time.time()
print(f"训练完成! 总用时: {end_time - start_time:.2f} 秒")
EOL
TensorFlow测试脚本:
echo "创建TensorFlow测试脚本..."
cat > ~/tensorflow_test.py << 'EOL'
import tensorflow as tf
import time
import numpy as np

print("TensorFlow版本:", tf.__version__)
print("可用的GPU:", tf.config.list_physical_devices('GPU'))

# 启用内存增长,以防止TensorFlow占用所有GPU内存
gpus = tf.config.list_physical_devices('GPU')
if gpus:
    try:
        for gpu in gpus:
            tf.config.experimental.set_memory_growth(gpu, True)
        print("设置GPU内存增长模式")
    except RuntimeError as e:
        print(e)

# 创建一个简单的模型
def create_model():
    model = tf.keras.Sequential([
        tf.keras.layers.Dense(2000, activation='relu', input_shape=(1000,)),
        tf.keras.layers.Dense(3000, activation='relu'),
        tf.keras.layers.Dense(1000)
    ])
    return model

# 准备随机数据
x = np.random.random((64, 1000)).astype(np.float32)
y = np.random.random((64, 1000)).astype(np.float32)

# 创建和编译模型
model = create_model()
model.compile(optimizer='adam', loss='mse')

# 使用tf.distribute.MirroredStrategy进行多GPU训练
if len(gpus) > 1:
    print(f"使用 {len(gpus)} 个GPU进行训练!")
    strategy = tf.distribute.MirroredStrategy()
    with strategy.scope():
        model = create_model()
        model.compile(optimizer='adam', loss='mse')

# 训练模型
start_time = time.time()
history = model.fit(x, y, epochs=10, batch_size=64, verbose=1)
end_time = time.time()
print(f"训练完成! 总用时: {end_time - start_time:.2f} 秒")
EOL

第十二步:配置Jupyter Notebook服务器

echo "正在配置Jupyter Notebook服务器..."
# 生成Jupyter配置文件
jupyter notebook --generate-config

# 设置Jupyter密码
python -c "from jupyter_server.auth import passwd; print(passwd())" > ~/.jupyter_password
JUPYTER_PASSWORD=$(cat ~/.jupyter_password)

# 配置Jupyter允许远程访问
cat > ~/.jupyter/jupyter_notebook_config.py << EOL
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port = 8888
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'${JUPYTER_PASSWORD}'
c.NotebookApp.allow_origin = '*'
c.NotebookApp.notebook_dir = '~/jupyter_notebooks'
EOL

# 创建Jupyter笔记本目录
mkdir -p ~/jupyter_notebooks

# 创建一个演示笔记本
mkdir -p ~/jupyter_notebooks/demos
cat > ~/jupyter_notebooks/demos/gpu_test.ipynb << 'EOL'
{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# GPU测试笔记本
",
        "
",
        "这个笔记本用于测试GPU是否可用于PyTorch和TensorFlow。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## PyTorch GPU测试"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "import torch
",
        "print(f"PyTorch版本: {torch.__version__}")
",
        "print(f"CUDA是否可用: {torch.cuda.is_available()}")
",
        "if torch.cuda.is_available():
",
        "    print(f"CUDA版本: {torch.version.cuda}")
",
        "    print(f"GPU数量: {torch.cuda.device_count()}")
",
        "    for i in range(torch.cuda.device_count()):
",
        "        print(f"GPU {i}: {torch.cuda.get_device_name(i)}")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## TensorFlow GPU测试"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "import tensorflow as tf
",
        "print(f"TensorFlow版本: {tf.__version__}")
",
        "print("可用的GPU:")
",
        "gpus = tf.config.list_physical_devices('GPU')
",
        "if gpus:
",
        "    for gpu in gpus:
",
        "        print(gpu)
",
        "else:
",
        "    print("没有找到GPU")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## 简单的PyTorch多GPU测试"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "import torch
",
        "import torch.nn as nn
",
        "import time
",
        "
",
        "# 创建一个简单的模型
",
        "class SimpleModel(nn.Module):
",
        "    def __init__(self):
",
        "        super(SimpleModel, self).__init__()
",
        "        self.layers = nn.Sequential(
",
        "            nn.Linear(1000, 2000),
",
        "            nn.ReLU(),
",
        "            nn.Linear(2000, 1000)
",
        "        )
",
        "    
",
        "    def forward(self, x):
",
        "        return self.layers(x)
",
        "
",
        "# 检查GPU可用性并创建模型
",
        "device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
",
        "model = SimpleModel().to(device)
",
        "print(f"使用设备: {device}")
",
        "
",
        "# 如果有多个GPU,使用DataParallel
",
        "if torch.cuda.device_count() > 1:
",
        "    print(f"使用 {torch.cuda.device_count()} 个GPU进行训练!")
",
        "    model = nn.DataParallel(model)
",
        "
",
        "# 创建一些随机数据
",
        "batch_size = 128
",
        "x = torch.randn(batch_size, 1000).to(device)
",
        "
",
        "# 测试前向传播速度
",
        "start_time = time.time()
",
        "for _ in range(100):
",
        "    with torch.no_grad():
",
        "        output = model(x)
",
        "end_time = time.time()
",
        "
",
        "print(f"执行100次前向传播用时: {end_time - start_time:.2f} 秒")"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.10.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 4
}
EOL

# 创建Jupyter启动服务脚本
cat > ~/start_jupyter.sh << 'EOL'
#!/bin/bash
source ~/miniconda/bin/activate deeplearning
jupyter notebook
EOL
chmod +x ~/start_jupyter.sh

# 设置开机自启动Jupyter Notebook(可选)
sudo vim /etc/systemd/system/jupyter.service
# 在文件中添加以下内容
# [Unit]
# Description=Jupyter Notebook Server
# After=network.target
# [Service]
# Type=simple
# User=oldbird
# ExecStart=/bin/bash /home/oldbird/start_jupyter.sh
# Restart=on-failure
# RestartSec=5s
# [Install]
# WantedBy=multi-user.target

# 重新加载systemd服务:
sudo systemctl daemon-reload
# 启用服务,使其在开机时自动启动:
sudo systemctl enable jupyter.service
# 立即启动服务
sudo systemctl start jupyter.service
# 检查服务状态
sudo systemctl status jupyter.service

安装完成

测试环境

# 测试基本深度学习环境
conda activate deeplearning
python ~/pytorch_test.py
python ~/tensorflow_test.py
# 启动Jupyter Notebook服务器:
~/start_jupyter.sh

然后在浏览器访问 http://你的IP地址:8888

注意:如果你开启了防火墙,需要开放8888端口

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

搜索文章

Tags

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