• querydet服务器复现记录

querydet服务器复现记录

2025-05-20 09:57:07 1 阅读

conda create -n querydet python=3.7 -y
source activate querydet
python版本3.7.16

CUDA release 11.3, V11.3.58  最高12.5

下载pytorch1.8.1

conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.3 -c pytorch -c conda-forge

一直卡solve

下载pytorch1.11            cuda11.3

pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113

下载好coco visdrone数据集

预处理visdrone:python visdrone/data_prepare.py --visdrone-root data/visdrone

安装CV2

pip install opencv-python

训练报错

python train_coco.py --config-file configs/coco/retinanet_train.yaml --num-gpu 8 OUTPUT_DIR work_dirs/coco_retinanet

Traceback (most recent call last):
  File "train_coco.py", line 3, in
    from detectron2.engine import launch
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/engine/__init__.py", line 11, in
    from .hooks import *
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/engine/hooks.py", line 18, in
    from detectron2.evaluation.testing import flatten_results_dict
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/evaluation/__init__.py", line 2, in
    from .cityscapes_evaluation import CityscapesInstanceEvaluator, CityscapesSemSegEvaluator
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/evaluation/cityscapes_evaluation.py", line 11, in
    from detectron2.data import MetadataCatalog
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/data/__init__.py", line 4, in
    from .build import (
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/data/build.py", line 12, in
    from detectron2.structures import BoxMode
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/structures/__init__.py", line 7, in
    from .masks import BitMasks, PolygonMasks, polygons_to_bitmask
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/structures/masks.py", line 9, in
    from detectron2.layers.roi_align import ROIAlign
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/layers/__init__.py", line 3, in
    from .deform_conv import DeformConv, ModulatedDeformConv
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.7/site-packages/detectron2/layers/deform_conv.py", line 11, in
    from detectron2 import _C
ImportError: libcudart.so.10.2: cannot open shared object file: No such file or directory

应该是dectron2版本不对,我是cuda11.3
卸载pip uninstall detectron2

重新下载【Detectron2】踩坑实记 - 知乎
git clone https://github.com/facebookresearch/detectron2.git
python -m pip install -e detectron2

成功安装2.0.6

运行报错

Traceback (most recent call last):
  File "train_coco.py", line 3, in
    from detectron2.engine import launch
  File "/home/liuyadong/QueryDet-PyTorch/detectron2/detectron2/engine/__init__.py", line 4, in
    from .train_loop import *
  File "/home/liuyadong/QueryDet-PyTorch/detectron2/detectron2/engine/train_loop.py", line 13, in
    from detectron2.utils.events import EventStorage, get_event_storage
  File "/home/liuyadong/QueryDet-PyTorch/detectron2/detectron2/utils/events.py", line 9, in
    from functools import cached_property
ImportError: cannot import name 'cached_property' from 'functools' (/home/liuyadong/.conda/envs/querydet/lib/python3.7/functools.py)

应该是dectron2版本和cuda torch版本不对

python -m pip install detectron2 -f 
  https://dl.fbaipublicfiles.com/detectron2/wheels/cu113/torch1.10/index.html

卸载pip uninstall detectron2

按照deepseek方案

还是报错

重新创环境

安装torch1.10 cuda11.3 python3.8 

conda create -n querydet python=3.7 -y

安装torch1.10.1

conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge

卡solve

安装离线包1.10.0

去服务器安装

pip install /home/liuyadong/QueryDet-PyTorch/torch-1.10.0+cu113-cp38-cp38-linux_x86_64.whl

pip install /home/liuyadong/QueryDet-PyTorch/torchvision-0.11.0+cu113-cp38-cp38-linux_x86_64.whl

安装dectron2

python -m pip install detectron2 -f 
  https://dl.fbaipublicfiles.com/detectron2/wheels/cu113/torch1.10/index.html

本地下载好安装

安装完成

安装spconv

pip install spconv-cu113==2.3.6

报错Traceback (most recent call last):
  File "train_coco.py", line 3, in
    from detectron2.engine import launch
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/__init__.py", line 11, in
    from .hooks import *
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/hooks.py", line 22, in
    from detectron2.evaluation.testing import flatten_results_dict
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/evaluation/__init__.py", line 2, in
    from .cityscapes_evaluation import CityscapesInstanceEvaluator, CityscapesSemSegEvaluator
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/evaluation/cityscapes_evaluation.py", line 11, in
    from detectron2.data import MetadataCatalog
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/data/__init__.py", line 2, in
    from . import transforms  # isort:skip
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/data/transforms/__init__.py", line 4, in
    from .transform import *
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/data/transforms/transform.py", line 36, in
    class ExtentTransform(Transform):
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/data/transforms/transform.py", line 46, in ExtentTransform
    def __init__(self, src_rect, output_size, interp=Image.LINEAR, fill=0):
AttributeError: module 'PIL.Image' has no attribute 'LINEAR'

deepseek方案

降级 Pillow 到兼容版本   当前10.4.0

# 卸载当前 Pillow
pip uninstall pillow -y

# 安装 Pillow 9.0.1(仍支持 Image.LINEAR)
pip install pillow==9.0.1

报错没CV2

pip install opencv-python

报错

Command Line Args: Namespace(config_file='configs/coco/retinanet_train.yaml', dist_url='tcp://127.0.0.1:50158', eval_only=False, machine_rank=0, no_pretrain=False, num_gpus=2, num_machines=1, opts=['OUTPUT_DIR', 'work_dirs/coco_retinanet'], resume=False)
Traceback (most recent call last):
  File "train_coco.py", line 13, in
    launch(
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/launch.py", line 67, in launch
    mp.spawn(
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 230, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 188, in start_processes
    while not context.join():
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 150, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException: 

-- Process 1 terminated with the following error:
Traceback (most recent call last):
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
    fn(i, *args)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/launch.py", line 126, in _distributed_worker
    main_func(*args)
  File "/home/liuyadong/QueryDet-PyTorch/train_tools/coco_train.py", line 190, in start_train
    cfg = setup(args)
  File "/home/liuyadong/QueryDet-PyTorch/train_tools/coco_train.py", line 182, in setup
    cfg.merge_from_file(args.config_file)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/config/config.py", line 46, in merge_from_file
    loaded_cfg = self.load_yaml_with_base(cfg_filename, allow_unsafe=allow_unsafe)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/fvcore/common/config.py", line 61, in load_yaml_with_base
    cfg = yaml.safe_load(f)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/yaml/__init__.py", line 125, in safe_load
    return load(stream, SafeLoader)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/yaml/__init__.py", line 81, in load
    return loader.get_single_data()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/yaml/constructor.py", line 49, in get_single_data
    node = self.get_single_node()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/yaml/composer.py", line 36, in get_single_node
    document = self.compose_document()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/yaml/composer.py", line 55, in compose_document
    node = self.compose_node(None, None)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/yaml/composer.py", line 127, in compose_mapping_node
    while not self.check_event(MappingEndEvent):
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/yaml/parser.py", line 98, in check_event
    self.current_event = self.state()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/yaml/parser.py", line 438, in parse_block_mapping_key
    raise ParserError("while parsing a block mapping", self.marks[-1],
yaml.parser.ParserError: while parsing a block mapping
  in "configs/coco/retinanet_train.yaml", line 1, column 1
expected , but found ''
  in "configs/coco/retinanet_train.yaml", line 2, column 15

训练前面正常,后面报错

采用deepseek方案

# 降级 setuptools 至兼容版本
pip install setuptools==58.0.4

将GPU数量设置为1

然后运行训练成功

20小时..........

妈的报错RuntimeError: DataLoader worker (pid 1014901) is killed by signal: Segmentation fault. 

修改visdrone-dataloader.py

恢复

python train_coco.py --config-file configs/coco/retinanet_train.yaml --num-gpu 2 --resume OUTPUT_DIR work_dirs/coco_retinanet

显存减半  11小时

从检查点训练

python train_coco.py --config-file configs/coco/retinanet_train.yaml --num-gpu 2 MODEL.WEIGHTS work_dirs/coco_retinanet/model_0064999.pth OUTPUT_DIR work_dirs/coco_retinanet

报错

Traceback (most recent call last):
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 990, in _try_get_data
    data = self._data_queue.get(timeout=timeout)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/multiprocessing/queues.py", line 107, in get
    if not self._poll(timeout):
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/multiprocessing/connection.py", line 257, in poll
    return self._poll(timeout)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/multiprocessing/connection.py", line 424, in _poll
    r = wait([self], timeout)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/multiprocessing/connection.py", line 931, in wait
    ready = selector.select(timeout)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/selectors.py", line 415, in select
    fd_event_list = self._selector.poll(timeout)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
    _error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 2297896) is killed by signal: Aborted. 

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/train_loop.py", line 149, in train
    self.run_step()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/defaults.py", line 494, in run_step
    self._trainer.run_step()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/train_loop.py", line 391, in run_step
    data = next(self._data_loader_iter)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/data/common.py", line 234, in __iter__
    for d in self.dataset:
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 521, in __next__
    data = self._next_data()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1186, in _next_data
    idx, data = self._get_data()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1152, in _get_data
    success, data = self._try_get_data()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1003, in _try_get_data
    raise RuntimeError('DataLoader worker (pid(s) {}) exited unexpectedly'.format(pids_str)) from e
RuntimeError: DataLoader worker (pid(s) 2297896) exited unexpectedly

禁用opencv的多线程再试试


    ...

重新训练

python train_coco.py --config-file configs/coco/retinanet_train.yaml --num-gpu 1 --resume OUTPUT_DIR work_dirs/coco_retinanet

检查点开始  2张卡

python train_coco.py --config-file configs/coco/retinanet_train.yaml --num-gpu 2 MODEL.WEIGHTS work_dirs/coco_retinanet/model_0064999.pth OUTPUT_DIR work_dirs/coco_retinanet

10小时

batch改为8试试

只要5小时

FloatingPointError: Loss became infinite or NaN at iteration=982!

训练结束

训练第二条

python train_coco.py --config-file configs/coco/querydet_train.yaml --num-gpu 2 OUTPUT_DIR work_dirs/coco_querydet

batch改成8  还是一样

设置分配32

importosimport os
os.environ['PYTORCH_CUDA_ALLOC_CONF'] = 'max_split_size_mb:32'

同时设置终端

export PYTORCH_CUDA_ALLOC_CONF='max_split_size_mb:32'
 

设置opencv  train_coco.py

训练还是报错

export PYTORCH_CUDA_ALLOC_CONF='max_split_size_mb:128'
 

清理

batch改8  可以跑了

终于找到num_works了  修改6处

训练试试

python train_coco.py --config-file configs/coco/querydet_train.yaml --num-gpu 2 OUTPUT_DIR work_dirs/coco_querydet

大功告成

报错outofmem

batch设为8  17小时

已杀死妈的

将num_works设为1试试  改detectron2的默认default

10速度最快

注释检查点置零

跑完

训练第三条  batch改16 num_works改2

python train_visdrone.py --config-file configs/visdrone/retinanet_train.yaml --num-gpu 2 OUTPUT_DIR work_dirs/visdrone_retinanet

把visdrone dataloader num_workers改了

还是8

2

训练完了 评估bash eval_visdrone.sh /path/to/visdrone_infer.json

bash eval_visdrone.sh work_dirs/visdrone_retinanet/visdrone_infer.json

安装评估工具pip install -e .

先训练第4条

python train_visdrone.py --config-file configs/visdrone/querydet_train.pyaml --num-gpu 2 OUTPUT_DIR work_dirs/visdrone_querydet

12半小时

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
    fn(i, *args)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/launch.py", line 126, in _distributed_worker
    main_func(*args)
  File "/home/liuyadong/QueryDet-PyTorch/train_tools/visdrone_train.py", line 250, in start_train
    return trainer.train()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/defaults.py", line 484, in train
    super().train(self.start_iter, self.max_iter)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/train_loop.py", line 149, in train
    self.run_step()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/defaults.py", line 494, in run_step
    self._trainer.run_step()
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/train_loop.py", line 405, in run_step
    self._write_metrics(loss_dict, data_time)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/train_loop.py", line 302, in _write_metrics
    SimpleTrainer.write_metrics(loss_dict, data_time, prefix)
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/detectron2/engine/train_loop.py", line 338, in write_metrics
    raise FloatingPointError(
FloatingPointError: Loss became infinite or NaN at iteration=665!
loss_dict = {'loss_cls': 1.8113356828689575, 'loss_box_reg': 6.629820704460144, 'loss_query': nan}

重新训练剩4小时已杀死妈的

num_workers改为1试试

使用gemini方案试试,看看参数能不能继续使用

原代码

def __init__(self, cfg, resume=False, reuse_ckpt=False):
        """
        Args:
            cfg (CfgNode):
        """
        super(DefaultTrainer, self).__init__()

        logger = logging.getLogger("detectron2")
        if not logger.isEnabledFor(logging.INFO):  # setup_logger is not called for d2
            setup_logger()
        cfg = DefaultTrainer.auto_scale_workers(cfg, comm.get_world_size())

        # Assume these objects must be constructed in this order.
        model = self.build_model(cfg)

        ckpt = DetectionCheckpointer(model)
        self.start_iter = 0
        self.start_iter = ckpt.resume_or_load(cfg.MODEL.WEIGHTS, resume=resume).get("iteration", -1) + 1
        self.iter =self.start_iter

        optimizer = self.build_optimizer(cfg, model)
        data_loader = self.build_train_loader(cfg)

        # For training, wrap with DDP. But don't need this for inference.
        if comm.get_world_size() > 1:
            model = DistributedDataParallel(
                model, device_ids=[comm.get_local_rank()], broadcast_buffers=False
            )
        self._trainer = (AMPTrainer if cfg.SOLVER.AMP.ENABLED else SimpleTrainer)(
            model, data_loader, optimizer
        )

        self.scheduler = self.build_lr_scheduler(cfg, optimizer)
        self.checkpointer = DetectionCheckpointer(
            model,
            cfg.OUTPUT_DIR,
            optimizer=optimizer,
            scheduler=self.scheduler,
        )
        self.start_iter = 0
        self.max_iter = cfg.SOLVER.MAX_ITER
        self.cfg = cfg

        self.register_hooks(self.build_hooks())

改后代码

def __init__(self, cfg, resume=False, reuse_ckpt=False): # 注意这里传入 resume 标志
        """
        Args:
            cfg (CfgNode):
            resume (bool): Whether to resume from the checkpoint directory.
                           Passed from the command line args.resume.
        """
        # super(DefaultTrainer, self).__init__() # 调用父类的 __init__ 不是标准做法,通常直接写逻辑

        logger = logging.getLogger("detectron2")
        # setup_logger is handled by default_setup, no need to call here usually
        # if not logger.isEnabledFor(logging.INFO):
        #     setup_logger()
        cfg = DefaultTrainer.auto_scale_workers(cfg, comm.get_world_size())

        # 1. 构建模型
        model = self.build_model(cfg)
        # 2. 构建优化器
        optimizer = self.build_optimizer(cfg, model)
        # 3. 构建数据加载器
        data_loader = self.build_train_loader(cfg)

        # --- 处理分布式训练 ---
        if comm.get_world_size() > 1:
            model = DistributedDataParallel(
                model, device_ids=[comm.get_local_rank()], broadcast_buffers=False
            )
        # --------------------

        # 4. 初始化底层的 Trainer (SimpleTrainer or AMPTrainer)
        # 注意:这里先不传递 optimizer,因为 resume_or_load 可能会加载优化器状态覆盖它
        self._trainer = (AMPTrainer if cfg.SOLVER.AMP.ENABLED else SimpleTrainer)(
            model, data_loader, optimizer # 优化器在这里传递是 Detectron2 的标准做法
        )

        # 5. 构建学习率调度器
        self.scheduler = self.build_lr_scheduler(cfg, optimizer)

        # 6. 构建 Checkpointer (关联模型、优化器、调度器)
        self.checkpointer = DetectionCheckpointer(
            model,
            cfg.OUTPUT_DIR,
            optimizer=optimizer,
            scheduler=self.scheduler,
        )

        # 7. 加载检查点或预训练权重,并获取起始迭代次数
        #    resume_or_load 会处理 resume=True 的情况 (加载最新检查点)
        #    和 resume=False 的情况 (加载 cfg.MODEL.WEIGHTS)
        #    它会正确地加载模型、优化器、调度器状态(如果 resume=True 且检查点存在)
        checkpoint_data = self.checkpointer.resume_or_load(cfg.MODEL.WEIGHTS, resume=resume)

        # -- 处理分布式 resume 时的同步 --
        if resume and self.checkpointer.has_checkpoint():
             # checkpoint.get("iteration", -1) 返回的是刚完成的迭代,所以+1
            self.start_iter = checkpoint_data.get("iteration", -1) + 1
        else:
            # 如果不是 resume 或没有检查点,则从 0 开始
            self.start_iter = 0
        # 确保所有 rank 的 start_iter 一致
        if comm.get_world_size() > 1:
             self.start_iter = comm.all_gather(self.start_iter)[0]
        # -------------------------------

        # 8. 设置最大迭代次数
        self.max_iter = cfg.SOLVER.MAX_ITER
        # 9. 保存配置
        self.cfg = cfg

        # 10. 注册训练钩子 (Hooks)
        self.register_hooks(self.build_hooks())

    # --- 不再需要单独的 resume_or_load 方法,逻辑已合并到 __init__ ---
    # def resume_or_load(self, resume=True):
    #     ... (可以删除这个方法) ...

    # --- 其他方法保持不变 ---

报错

采纳试试

报错

采纳试试

能正常运行,但是速度很慢,而且时间很长,每次输出了2轮,之前都只输出一轮的

[04/27 10:26:09 d2.utils.events]:  eta: 14:00:17  iter: 30019  total_loss: 0.8324  loss_cls: 0.4716  loss_box_reg: 0.3239  loss_query: 0.02985  time: 2.5858  data_time: 0.0037  lr: 0.001  max_mem: 20413M
[04/27 10:26:09 d2.utils.events]:  eta: 13:58:30  iter: 30019  total_loss: 0.8324  loss_cls: 0.4716  loss_box_reg: 0.3239  loss_query: 0.02985  time: 2.5831  data_time: 0.0037  lr: 0.001  max_mem: 20413M
[04/27 10:26:58 d2.utils.events]:  eta: 13:52:30  iter: 30039  total_loss: 0.4814  loss_cls: 0.2563  loss_box_reg: 0.1968  loss_query: 0.02421  time: 2.5382  data_time: 0.0034  lr: 0.001  max_mem: 20413M
[04/27 10:26:58 d2.utils.events]:  eta: 13:51:39  iter: 30039  total_loss: 0.4814  loss_cls: 0.2563  loss_box_reg: 0.1968  loss_query: 0.02421  time: 2.5372  data_time: 0.0034  lr: 0.001  max_mem: 20413M
[04/27 10:27:49 d2.utils.events]:  eta: 13:55:01  iter: 30059  total_loss: 0.5486  loss_cls: 0.3166  loss_box_reg: 0.2069  loss_query: 0.02835  time: 2.5330  data_time: 0.0035  lr: 0.001  max_mem: 20413M
[04/27 10:27:49 d2.utils.events]:  eta: 13:54:52  iter: 30059  total_loss: 0.5486  loss_cls: 0.3166  loss_box_reg: 0.2069  loss_query: 0.02835  time: 2.5324  data_time: 0.0035  lr: 0.001  max_mem: 20413M
[04/27 10:28:39 d2.utils.events]:  eta: 13:51:56  iter: 30079  total_loss: 0.4665  loss_cls: 0.2634  loss_box_reg: 0.1752  loss_query: 0.02661  time: 2.5200  data_time: 0.0034  lr: 0.001  max_mem: 20413M
[04/27 10:28:39 d2.utils.events]:  eta: 13:51:40  iter: 30079  total_loss: 0.4665  loss_cls: 0.2634  loss_box_reg: 0.1752  loss_query: 0.02661  time: 2.5194  data_time: 0.0034  lr: 0.001  max_mem: 20413M
[04/27 10:29:29 d2.utils.events]:  eta: 13:51:06  iter: 30099  total_loss: 0.4453  loss_cls: 0.2529  loss_box_reg: 0.1687  loss_query: 0.02287  time: 2.5201  data_time: 0.0036  lr: 0.001  max_mem: 20413M
[04/27 10:29:29 d2.utils.events]:  eta: 13:50:50  iter: 30099  total_loss: 0.4453  loss_cls: 0.2529  loss_box_reg: 0.1687  loss_query: 0.02287  time: 2.5196  data_time: 0.0036  lr: 0.001  max_mem: 20413M

把问题丢给gemini  他说

把之前采纳的注释掉,然后采取gemini方案

手动注册后,确实不会输出两次重复的了,但是速度还是很慢

采用他之前的解决方案试试

原代码

 def __init__(self, cfg, resume=False, reuse_ckpt=False): # 注意这里传入 resume 标志
        """
        Args:
            cfg (CfgNode):
            resume (bool): Whether to resume from the checkpoint directory.
                           Passed from the command line args.resume.
        """
        # super().__init__(cfg)  # 正确调用父类初始化方法

        logger = logging.getLogger("detectron2")
        # setup_logger is handled by default_setup, no need to call here usually
        # if not logger.isEnabledFor(logging.INFO):
        #     setup_logger()
        cfg = DefaultTrainer.auto_scale_workers(cfg, comm.get_world_size())

        # 1. 构建模型
        model = self.build_model(cfg)
        # 2. 构建优化器
        optimizer = self.build_optimizer(cfg, model)
        # 3. 构建数据加载器
        data_loader = self.build_train_loader(cfg)

        # --- 处理分布式训练 ---
        if comm.get_world_size() > 1:
            model = DistributedDataParallel(
                model, device_ids=[comm.get_local_rank()], broadcast_buffers=False
            )
        # --------------------

        # 4. 初始化底层的 Trainer (SimpleTrainer or AMPTrainer)
        # 注意:这里先不传递 optimizer,因为 resume_or_load 可能会加载优化器状态覆盖它
        self._trainer = (AMPTrainer if cfg.SOLVER.AMP.ENABLED else SimpleTrainer)(
            model, data_loader, optimizer # 优化器在这里传递是 Detectron2 的标准做法
        )

        # 5. 构建学习率调度器
        self.scheduler = self.build_lr_scheduler(cfg, optimizer)

        # 6. 构建 Checkpointer (关联模型、优化器、调度器)
        self.checkpointer = DetectionCheckpointer(
            model,
            cfg.OUTPUT_DIR,
            optimizer=optimizer,
            scheduler=self.scheduler,
        )

        # 7. 加载检查点或预训练权重,并获取起始迭代次数
        #    resume_or_load 会处理 resume=True 的情况 (加载最新检查点)
        #    和 resume=False 的情况 (加载 cfg.MODEL.WEIGHTS)
        #    它会正确地加载模型、优化器、调度器状态(如果 resume=True 且检查点存在)
        checkpoint_data = self.checkpointer.resume_or_load(cfg.MODEL.WEIGHTS, resume=resume)

        # -- 处理分布式 resume 时的同步 --
        if resume and self.checkpointer.has_checkpoint():
             # checkpoint.get("iteration", -1) 返回的是刚完成的迭代,所以+1
            self.start_iter = checkpoint_data.get("iteration", -1) + 1
        else:
            # 如果不是 resume 或没有检查点,则从 0 开始
            self.start_iter = 0
        # 确保所有 rank 的 start_iter 一致
        if comm.get_world_size() > 1:
             self.start_iter = comm.all_gather(self.start_iter)[0]
        # -------------------------------

        # 8. 设置最大迭代次数
        self.max_iter = cfg.SOLVER.MAX_ITER
        # 9. 保存配置
        self.cfg = cfg

        
        # --- FIX: Manually initialize the _hooks list ---
        self._hooks = []
        # -------------------------------------------------

        # 10. 注册训练钩子 (Hooks)
        self.register_hooks(self.build_hooks())

    # --- 不再需要单独的 resume_or_load 方法,逻辑已合并到 __init__ ---
    # def resume_or_load(self, resume=True):
    #     ... (可以删除这个方法) ...

    # --- 其他方法保持不变 ---

修改后

运行报错

缩进不对

手动修改试试

并且把注释掉的恢复

还是报错

采用gemin试试

改之前

    trainer = Trainer(cfg, resume=args.resume, reuse_ckpt=args.no_pretrain)
    return trainer.train()

改后

    # 1. 创建 Trainer 实例,只传递 cfg
    trainer = Trainer(cfg)

    # 2. 在创建实例后,调用 resume_or_load 方法处理恢复逻辑
    #    将命令行传入的 resume 标志用在这里!
    trainer.resume_or_load(resume=args.resume)

    # 3. 开始训练
    return trainer.train()

改完报错

恢复到训练很慢,但是不重复输出那一步

改试试

恢复init代码,取消注释resumeload

从0开始训练还报错oom

试一下

改之前

改之后

改visdrone_train.py  改之前和原原原代码一样

改之后

class Trainer(DefaultTrainer):
    """
    用于 VisDrone 的自定义 Trainer 类,继承自 DefaultTrainer。
    重写了数据加载和评估方法。
    """

    # __init__ 方法继承自 DefaultTrainer
    # resume_or_load 方法继承自 DefaultTrainer

    @classmethod
    def build_evaluator(cls, cfg, dataset_name, output_folder=None):
        """
        为 VisDrone 数据集构建评估器。
        创建一个用于保存检测结果的 JSON 文件。
        可选地添加 GPU 时间评估器。
        """
        if output_folder is None:
            # 默认输出文件夹位于主输出目录下
            output_folder = os.path.join(cfg.OUTPUT_DIR, "inference")
            os.makedirs(output_folder, exist_ok=True) # 确保文件夹存在

        evaluator_list = []
        # 使用 JsonEvaluator 保存 COCO JSON 格式的检测结果,适用于 VisDrone 的评估脚本
        evaluator_list.append(JsonEvaluator(os.path.join(output_folder, 'visdrone_infer.json'))) #
        if cfg.META_INFO.EVAL_GPU_TIME: #
            # 如果配置了,添加一个评估器来测量 GPU 推理时间
            evaluator_list.append(GPUTimeEvaluator(True, 'minisecond')) #
        # 返回一个包含所有指定评估器的 DatasetEvaluators 对象
        return DatasetEvaluators(evaluator_list)

    @classmethod
    def build_train_loader(cls, cfg):
        """
        使用自定义的 VisDrone 加载器构建用于训练的数据加载器。
        """
        # 使用 VisDrone 训练数据的特定数据加载器实现
        return build_train_loader(cfg) #

    @classmethod
    def build_test_loader(cls, cfg, dataset_name):
        """
        使用自定义的 VisDrone 加载器构建用于测试/验证的数据加载器。
        注意:如果配置已经指定了测试数据集的详细信息,`dataset_name` 可能不是必需的。
        """
        # 使用 VisDrone 测试/验证数据的特定数据加载器实现
        return build_test_loader(cfg) #

    @classmethod
    def test(cls, cfg, model, evaluators=None):
        """
        在 VisDrone 测试数据集上运行推理。
        Args:
            cfg: Detectron2 配置对象。
            model: 用于推理的已训练模型。
            evaluators: 可选;如果为 None,则使用 `build_evaluator` 构建的评估器。
        Returns:
             一个空列表,因为结果由 JsonEvaluator 保存到文件中。
             (Detectron2 的标准 test 返回一个字典,但这里我们专注于文件输出)。
        """
        logger = logging.getLogger(__name__)
        # 假设 'VisDrone_Test' 或类似名称是测试数据集的注册名称
        # 如果 build_test_loader 完全依赖于 cfg,则此名称可能不会直接使用
        dataset_name = 'VisDrone_Test' # 占位符名称,实际数据来自 cfg

        # 使用自定义方法构建测试数据加载器
        data_loader = cls.build_test_loader(cfg, dataset_name)
        # 使用自定义方法构建评估器
        if evaluators is None:
             evaluators = cls.build_evaluator(cfg, dataset_name)

        # 使用 detectron2 的工具函数运行推理
        results = inference_on_dataset(model, data_loader, evaluators)
        # 标准的 detectron2 结果验证(可选,但是好的实践)
        # verify_results(cfg, results) # 如果需要可以启用

        # 返回空列表,因为结果被 JsonEvaluator 保存到文件
        return []

# 注意:default_argument_parser, setup, 和 launch 逻辑通常位于
# 你的主脚本(例如 train_visdrone.py)中,而不是通常在 Trainer 定义文件内部。

报错oom 训练从1开始 

恢复到很慢那一步  逆天

bc改为4 11小时,训练完成

测试

python infer_coco.py --config-file configs/coco/retinanet_test.yaml --num-gpu 2 --eval-only MODEL.WEIGHTS  work_dirs/coco_retinanet/model_final.pth OUTPUT_DIR work_dirs/model_test

报错Traceback (most recent call last):
  File "infer_coco.py", line 4, in
    from train_tools.coco_infer import default_argument_parser, start_train
  File "/home/liuyadong/QueryDet-PyTorch/train_tools/coco_infer.py", line 45, in
    from detectron2_backbone.config import add_backbone_config
ModuleNotFoundError: No module named 'detectron2_backbone'

运行
git clone https://github.com/sxhxliang/detectron2_backbone.git
cd detectron2_backbone
python setup.py build develop

error: numpy 1.18.5 is installed but numpy<2,>=1.20 is required by {'matplotlib'}

pip install --upgrade "numpy>=1.20,<2.0"

推理结束  和第一次训练一样

运行

python infer_coco.py --config-file configs/coco/querydet_test.yaml --num-gpu 2 --eval-only MODEL.WEIGHTS work_dirs/coco_querydet/model_final.pth OUTPUT_DIR work_dirs/model_test

报错

添加

推理结束

666

需要重新训练

跳过CSQ

第三条

python infer_coco.py --config-file configs/visdrone/retinanet_test.yaml --num-gpu 2 --eval-only MODEL.WEIGHTS  work_dirs/visdrone_retinanet/model_final.pth OUTPUT_DIR work_dirs/model_test

逆天

修改测试命令

----------------------------------------VISdrone-------------------------------------------------------------

评估基线模型retinanet

python infer_visdrone.py --config-file configs/visdrone/retinanet_test.yaml --num-gpu 2 --eval-only MODEL.WEIGHTS  work_dirs/visdrone_retinanet/model_final.pth OUTPUT_DIR work_dirs/model_test

报错找不到

改绝对路径

python infer_visdrone.py --config-file configs/visdrone/retinanet_test.yaml --num-gpu 2 --eval-only MODEL.WEIGHTS /home/liuyadong/QueryDet-PyTorch/work_dirs/visdrone_retinanet/model_final.pth OUTPUT_DIR work_dirs/model_test

可以了

运行bash eval_visdrone.sh work_dirs/model_test/visdrone_infer.json评估

报错

修改这里

评估结束

评估querydet visdrone

python infer_visdrone.py --config-file configs/visdrone/querydet_test.yaml --num-gpu 2 --eval-only MODEL.WEIGHTS work_dirs/visdrone_querydet/model_final.pth OUTPUT_DIR work_dirs/model_test

评估bash eval_visdrone.sh work_dirs/model_test/visdrone_infer.json

基线模型结果和querydet结果都比论文好

评估一下加CSQ的vis

export SPCONV_FILTER_HWIO="1"; python infer_visdrone.py --config-file configs/visdrone/querydet_test.yaml --num-gpu 2 --eval-only MODEL.WEIGHTS work_dirs/visdrone_querydet/model_final.pth OUTPUT_DIR work_dirs/model_test MODEL.QUERY.QUERY_INFER True

报错Traceback (most recent call last):
  File "infer_visdrone.py", line 4, in
    from train_tools.visdrone_infer import default_argument_parser, start_train
  File "/home/liuyadong/QueryDet-PyTorch/train_tools/visdrone_infer.py", line 47, in
    from models.querydet.detector import RetinaNetQueryDet
  File "/home/liuyadong/QueryDet-PyTorch/models/querydet/detector.py", line 38, in
    import models.querydet.qinfer as qf
  File "/home/liuyadong/QueryDet-PyTorch/models/querydet/qinfer.py", line 4, in
    import spconv.pytorch as spconv
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/spconv/__init__.py", line 15, in
    from . import build as _build
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/spconv/build.py", line 21, in
    from .constants import PACKAGE_NAME, PACKAGE_ROOT, DISABLE_JIT, SPCONV_INT8_DEBUG
  File "/home/liuyadong/.conda/envs/querydet/lib/python3.8/site-packages/spconv/constants.py", line 30, in
    raise NotImplementedError("SPCONV_FILTER_HWIO is deprecated. use SPCONV_SAVED_WEIGHT_LAYOUT instead.")
NotImplementedError: SPCONV_FILTER_HWIO is deprecated. use SPCONV_SAVED_WEIGHT_LAYOUT instead.

先取消

unset SPCONV_FILTER_HWIO

在运行

export SPCONV_SAVED_WEIGHT_LAYOUT="RSCK"

python infer_visdrone.py --config-file configs/visdrone/querydet_test.yaml --num-gpu 2 --eval-only MODEL.WEIGHTS work_dirs/visdrone_querydet/model_final.pth OUTPUT_DIR work_dirs/model_test_csq MODEL.QUERY.QUERY_INFER True

报错

评估FPS

AP 运行bash eval_visdrone.sh work_dirs/model_test_csq/visdrone_infer.json

结果分析

--------------------------------------------------------------------------------------------------------------

接下来,重新训练COCO  带query的  之前训练结果有问题

batch=4  num_workers=2  

python train_coco.py --config-file configs/coco/querydet_train.yaml --num-gpu 2 OUTPUT_DIR work_dirs/coco_querydet

8小时 batch改8试试  16小时....

改6试试  12小时....

还是改4

跑完了

看看带CSQ的

python infer_coco.py --config-file configs/coco/querydet_test.yaml --num-gpu 2 --eval-only MODEL.WEIGHTS work_dirs/coco_querydet/model_final.pth OUTPUT_DIR work_dirs/model_test MODEL.QUERY.QUERY_INFER True 

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

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP docker 容器 运维 java-rabbitmq java 服务器安全 网络安全策略 防御服务器攻击 安全威胁和解决方案 程序员博客保护 数据保护 安全最佳实践 人工智能 自动化 centos python linux 机器学习 服务器 深度学习 游戏 云计算 Deepseek Deepseek-R1 大模型 私有化部署 推理模型 deepseek DeepSeek-R1 API接口 c++ javascript 前端 chrome edge 数据库 oracle 关系型 安全 分布式 网络工程师 网络管理 软考 2024 2024年上半年 下午真题 答案 tcp/ip 网络 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 DNS 神经网络 计算机视觉 卷积神经网络 redis ddos android 网络安全 web安全 harmonyos 华为 https arm开发 架构 ubuntu ssh 物联网 无人机 机器人 FTP服务器 数据库系统 springsecurity6 oauth2 授权服务器 前后端分离 RTSP xop RTP RTSPServer 推流 视频 vue.js audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 nginx 负载均衡 conda git npm github YOLO pytorch vscode yolov5 php 开发语言 flutter Google pay Apple pay Ollama 模型联网 API CherryStudio Flask FastAPI Waitress Gunicorn uWSGI Uvicorn django ai nlp CH340 单片机 嵌入式硬件 串口驱动 CH341 uart 485 笔记 C 环境变量 进程地址空间 进程 AIGC 人工智能生成内容 Dify 网络协议 outlook 错误代码2603 无网络连接 2603 操作系统 进程控制 Ubuntu spring boot c语言 windows agi 游戏引擎 学习 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 macos Qwen2.5-coder 离线部署 kubernetes prometheus grafana 云原生 指令 学习方法 经验分享 程序人生 pycharm ide rpc 远程桌面 策略模式 node.js 英语 gnu mysql 语言模型 MacMini Mac 迷你主机 mini Apple 镜像源 unix udp 网络结构图 计算机外设 bug 华为云 华为od ROS 自动驾驶 gcc centos 7 llama deepseek-r1 大模型本地部署 ip协议 iventoy VmWare OpenEuler mcp 算法 opencv 自然语言处理 oracle fusion oracle中间件 YOLOv8 NPU Atlas800 A300I pro asi_bench stm32 spring cloud compose 持续部署 银河麒麟 CPU 使用率 系统监控工具 linux 命令 USB转串口 typescript 鸿蒙 智能路由器 dell服务器 cron crontab日志 服务器配置 生物信息学 Ubuntu20.04 GLIBC 2.35 iftop 网络流量监控 本地环回 bind tomcat 科技 个人开发 react next.js 部署 部署next.js 腾讯云 外网访问 内网穿透 端口映射 react.js 前端面试题 交换机 硬件 设备 GPU PCI-Express 数据分析 jvm 虚拟机 qt arm adb 快捷键 旋转屏幕 自动操作 AutoDL adobe ACL 流量控制 基本ACL 规则配置 dify 知识库 本地化部署 qps 高并发 opengl 信息与通信 fstab axure 富文本编辑器 ui 环境迁移 ArkUI 鸿蒙系统 ArkTS ollama 压力测试 大模型压力测试 EvalScope 智能体开发 AI gitea 缓存 ssh漏洞 ssh9.9p2 CVE-2025-23419 UEFI Legacy MBR GPT U盘安装操作系统 ip Linux xrdp 远程连接 cursor kafka 面试 职场和发展 阿里云 mysql离线安装 ubuntu22.04 mysql8.0 ipython apache 远程工作 mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 程序 编程 内存 性能分析 交互 grub 版本升级 扩容 开源 实时音视频 实时互动 嵌入式 Alexnet 数据挖掘 SRS 流媒体 直播 jellyfin nas c# postman 测试工具 VMware selenium 虚拟现实 并查集 leetcode glibc jenkins maven svn rust腐蚀 vite vue3 数据结构 intellij-idea milvus centos-root /dev/mapper yum clean all df -h / du -sh 浪潮信息 AI服务器 excel 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 音视频 kylin filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 virtualenv gitlab unity gitee pygame 阻塞队列 生产者消费者模型 服务器崩坏原因 http asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 灵办AI 华为OD 华为OD机试真题 可以组成网络的服务器 Doris搭建 docker搭建Doris Doris搭建过程 linux搭建Doris Doris搭建详细步骤 Doris部署 计算机网络 IMM spring 后端 rsyslog IM即时通讯 QQ 微信 企业微信 剪切板对通 HTML FORMAT MCP 串口服务器 mcu 目标检测 雨云 NPS linux环境变量 ansible fastapi mcp-proxy mcp-inspector fastapi-mcp agent sse vnc eureka debian PVE Linux 维护模式 C语言 live555 rtsp rtp 自定义客户端 SAS devops elasticsearch word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 microsoft AI编程 网络药理学 生信 gromacs 分子动力学模拟 MD 动力学模拟 JDK Java LInux Windows 大数据 spark hive ffmpeg 视频编解码 pip uni-app rdp 远程服务 FTP 服务器 教程 环境搭建 Maven rocketmq visualstudio 性能优化 k8s websocket matplotlib fonts-noto-cjk dash json 正则表达式 flask 开发环境 媒体 burpsuite 安全工具 mac安全工具 burp安装教程 渗透工具 RAID RAID技术 磁盘 存储 工具分享 list ubuntu 18.04 安装教程 nvm 课程设计 remote-ssh python2 ubuntu24.04 区块链 行情服务器 股票交易 速度慢 切换 股票量化接口 股票API接口 DeepSeek IIS .net core Hosting Bundle .NET Framework vs2022 IIS服务器 IIS性能 日志监控 目标跟踪 OpenVINO 推理应用 zabbix mariadb openvpn server openvpn配置教程 centos安装openvpn 冯诺依曼体系 VMware Tools vmware tools安装 vmwaretools安装步骤 vmwaretools安装失败 vmware tool安装步骤 vm tools安装步骤 vm tools安装后不能拖 vmware tools安装步骤 ubuntu20.04 ros ros1 Noetic 20.04 apt 安装 rust grep stm32项目 硬件工程 zotero WebDAV 同步失败 代理模式 华为认证 反向代理 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 windows 服务器安装 计算生物学 生物信息 基因组 大语言模型 LLMs EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 HarmonyOS Next DevEco Studio 集成学习 集成测试 ue4 着色器 ue5 虚幻 电脑 NVML nvidia-smi postgresql Ubuntu 22.04 MySql 算家云 算力租赁 网易邮箱大师 运维开发 建站 统信 国产操作系统 虚拟机安装 webdav wsl 开机黑屏 微信小程序 miniapp 真机调试 调试 debug 断点 网络API请求调试方法 jupyter 链表 eclipse 编辑器 vim Chatbox 孤岛惊魂4 LDAP 防火墙 端口号 开放端口 访问列表 samba C++ jar asm 1024程序员节 AI-native gpt 多层架构 解耦 gpu算力 WSL2 IP 地址 MobaXterm 文件传输 微信分享 Image wxopensdk Hyper-V WinRM TrustedHosts 爬虫 sql VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 mongodb GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 ssrf 失效的访问控制 高级IO epoll nohup 异步执行 bash 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 chatgpt oneapi 系统安全 图像处理 hadoop Qualcomm WoS Python QNN AppBuilder pillow 直播推流 efficientVIT YOLOv8替换主干网络 TOLOv8 驱动开发 firewall C# MQTTS 双向认证 emqx llm transformer 升级 CVE-2024-7347 漏洞 命名管道 客户端与服务端通信 小程序 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 进程程序替换 execl函数 execv函数 execvp函数 execvpe函数 putenv函数 前端框架 TCP WebServer mac ollama api ollama外网访问 Cursor 虚拟显示器 远程控制 linux驱动开发 QT 5.12.12 QT开发环境 Ubuntu18.04 iot EtherCAT转Modbus EtherCAT转485网关 ECT转485串口服务器 ECT转Modbus485协议 ECT转Modbus串口网关 ECT转Modbus串口服务器 VMware安装mocOS macOS系统安装 ssl perf 知识图谱 LLM 大模型教程 AI大模型 cpu 实时 使用 虚拟局域网 多线程服务器 Linux网络编程 aws golang 镜像下载 freebsd 一切皆文件 大模型技术 本地部署大模型 maxkb ARG rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK cuda 私有化 本地部署 web express p2p pdf 管道 匿名管道 linuxdeployqt 打包部署程序 appimagetool kali 共享文件夹 7z kotlin android studio iphone cnn 常用命令 文本命令 目录命令 桥接模式 vmware windows虚拟机 虚拟机联网 mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 大模型应用 NFS 3d 数学建模 etcd 数据安全 RBAC openssl 网络爬虫 localhost .netcore Redis Desktop openEuler 智能合约 哈希算法 高效I/O visual studio code JAVA clickhouse Invalid Host allowedHosts vue 毕设 yolov8 python3.11 pyside6 界面 webrtc 云电竞 云电脑 todesk 安卓模拟器 安全威胁分析 html ESP32 lighttpd安装 Ubuntu配置 Windows安装 性能测试 服务器优化 MCP server C/S 磁盘挂载 新盘添加 partedUtil CNNs 图像分类 命令 jdk CPU 主板 电源 网卡 googlecloud rustdesk 读写锁 vSphere vCenter 软件定义数据中心 sddc 桌面环境 MacOS录屏软件 termux 昇腾 大模型训练/推理 推理问题 mindie ocr 硬件架构 系统架构 diskgenius jmeter 软件测试 移动端开发 国产数据库 瀚高数据库 数据迁移 下载安装 gateway Clion Nova ResharperC++引擎 Centos7 远程开发 ragflow DevOps 软件交付 数据驱动 应用场景 王者荣耀 思科 html5 firefox java-ee shell脚本免交互 expect linux免交互 java-rocketmq Docker Desktop Kali Linux 黑客 渗透测试 信息收集 实验 安卓 ruoyi springboot intellij idea numpy rag 大模型部署 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 vu大文件秒传跨域报错cors kubeless vasp安装 macbook 软件需求 源码剖析 rtsp实现步骤 流媒体开发 微服务 tcpdump xcode big data n8n 工作流 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 ci/cd 代码规范 open webui vr ios web3.py 大模型入门 IPMI zip unzip sqlserver ip命令 新增网卡 新增IP 启动网卡 多线程 SSH Xterminal tcp ecmascript nextjs reactjs 压测 ECS camera Arduino 电子信息 程序员 Ubuntu22.04 虚拟化 开发人员主页 flash-attention 报错 iTerm2 arkUI arkTs 大模型微调 burp suite 抓包 GCC aarch64 编译安装 HPC 信号处理 notepad WLAN MQTT 消息队列 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 Mermaid 可视化图表 自动化生成 Agent CrewAI 智能手机 shell 话题通信 服务通信 Maxkb RAG技术 本地知识库 ufw 回显服务器 UDP的API使用 protobuf 序列化和反序列化 安装 chatbox 智慧农业 开源鸿蒙 团队开发 go file server http server web server sublime text RustDesk自建服务器 rustdesk服务器 docker rustdesk 监控k8s集群 集群内prometheus PX4 frp css css3 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 录音麦克风权限判断检测 录音功能 录音文件mp3播放 小程序实现录音及播放功能 RecorderManager 解决录音报错播放没声音问题 聚类 卡死 KylinV10 麒麟操作系统 Vmware 执法记录仪 智能安全帽 smarteye ai小智 语音助手 ai小智配网 ai小智教程 智能硬件 esp32语音助手 diy语音助手 matlab ECT转Modbus协议 EtherCAT转485协议 ECT转Modbus网关 HP Anyware es6 qt6.3 g726 系统 黑苹果 odoo 服务器动作 Server action powerpoint 通信工程 毕业 kernel Linux Vim 进程优先级 调度队列 进程切换 实战案例 oceanbase 传统数据库升级 银行 磁盘监控 券商 股票交易接口api 类型 特点 温湿度数据上传到服务器 Arduino HTTP 其他 蓝桥杯C++组 蓝桥杯 yum docker-compose docker compose 嵌入式实习 Hive环境搭建 hive3环境 Hive远程模式 Linux PID openjdk dubbo windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 硅基流动 ChatBox Kylin-Server 服务器安装 KingBase Cline rc.local 开机自启 systemd 麒麟 Trae IDE AI 原生集成开发环境 Trae AI 程序员创富 photoshop NAS Termux Samba 工具 语音识别 ICMP 框架搭建 弹性计算 云服务器 裸金属服务器 弹性裸金属服务器 源代码管理 web3 区块链项目 GRE 政务 分布式系统 监控运维 Prometheus Grafana NAT转发 NAT Server 深度求索 私域 迁移指南 harmonyOS面试题 nohup后台启动 vm 中间件 vmamba 宝塔 Linux24.04 deepin 显示器 服务器扩容没有扩容成功 nuxt3 飞腾处理器 国产化 SSH 密钥生成 SSH 公钥 私钥 生成 主从复制 su sudo sudo原理 su切换 .net seatunnel 腾讯云大模型知识引擎 arcgis 计算机科学与技术 r语言 数据可视化 langchain deep learning 教育电商 游戏程序 云原生开发 K8S k8s管理系统 客户端 autoware ros2 linux内核 开发 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos WSL resolv.conf 电路仿真 multisim 硬件工程师 硬件工程师学习 电路图 电路分析 仪器仪表 多产物 Reactor 设计模式 umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word ueditor导入pdf ueditor导入ppt DrissionPage wps 可信计算技术 trae iperf3 带宽测试 进程间通信 海康 论文阅读 镜像 YOLOv12 服务器部署 本地拉取打包 HiCar CarLife+ CarPlay QT RK3588 智能电视 nacos 豆瓣 追剧助手 迅雷 软件工程 密码学 deepseak 文心一言 豆包 KIMI 腾讯元宝 lvm 磁盘分区 unity3d elk H3C Claude Desktop Claude MCP Windows Cli MCP dns 安装MySQL ROS2 Attention NLP 互信 nvidia mamba Vmamba 显卡驱动持久化 GPU持久化 弹性服务器 云服务 信息可视化 echarts ESXi Kali 渗透 HCIE 数通 Web应用服务器 产品经理 pyautogui c 个人博客 ragflow 源码启动 bcompare Beyond Compare Trae叒更新了? kamailio sip VoIP Mac软件 threejs 3D 联网 easyconnect 代理 cudnn anaconda bot Docker linux上传下载 大屏端 TrueLicense ukui 麒麟kylinos openeuler Netty 京东云 RDP Docker Compose Kubernetes Carla 智能驾驶 宝塔面板无法访问 VPS kylin v10 麒麟 v10 中兴光猫 换光猫 网络桥接 自己换光猫 进程信号 安全漏洞 信息安全 热榜 软件构建 视频监控 网站 fpga开发 WebRTC kvm 沙盒 电脑桌面出现linux图标 电脑桌面linux图标删除不了 电脑桌面Liunx图标删不掉 linux图标删不掉 OpenCore gpt-3 设置代理 实用教程 sysctl.conf vm.nr_hugepages 单一职责原则 换源 国内源 Debian 离线部署dify 网络编程 聊天服务器 套接字 Socket IP配置 netplan GameFramework HybridCLR Unity编辑器扩展 自动化工具 stable diffusion 权限 k8s部署 MySQL8.0 高可用集群(1主2从) VMware创建虚拟机 用户管理 iis WebUI DeepSeek V3 webpack 键盘 银河麒麟操作系统 EMQX 通信协议 log4j onlyoffice 嵌入式系统开发 sqlite3 物联网开发 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 laravel 考试 分析解读 远程过程调用 Windows环境 需求分析 提示词 图文教程 VMware虚拟机 macOS系统安装教程 macOS最新版 虚拟机安装macOS Sequoia kind api React Next.js 开源框架 mac设置host DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 内网环境 conda配置 conda镜像源 visual studio DocFlow redhat 高德地图 鸿蒙接入高德地图 HarmonyOS5.0 k8s集群资源管理 Linux的权限 大文件秒传跨域报错cors AD域 监控k8s 监控kubernetes zerotier openwrt ShapeFile GeoJSON Nginx 软件开发 信任链 Docker Hub docker pull daemon.json 软件卸载 系统清理 windows日志 搜索引擎 全文检索 图搜索算法 tar 创意 社区 MS Materials 数据集 db rabbitmq AnythingLLM AnythingLLM安装 锁屏不生效 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 智能体 autogen openai coze edge浏览器 WebVM Windsurf MAVROS 四旋翼无人机 基础环境 自动化运维 流水线 脚本式流水线 ftp服务 文件上传 日志分析 系统取证 keepalived win11 无法解析服务器的名称或地址 mysql安装报错 windows拒绝安装 armbian u-boot GPU训练 netty 状态管理的 UDP 服务器 Arduino RTOS pyicu ftp VMware安装Ubuntu Ubuntu安装k8s gradle LLM Web APP Streamlit SSE zookeeper database 隐藏文件 统信UOS bonding 链路聚合 云计算面试题 docker run 数据卷挂载 交互模式 自动化编程 make命令 makefile文件 UOS 统信操作系统 WSL2 上安装 Ubuntu cmos selete scikit-learn 数码 联机 僵尸毁灭工程 游戏联机 开服 具身智能 Isaac Sim 虚拟仿真 moveit 机器人运动 rancher llama3 Chatglm 开源大模型 iBMC UltraISO Office VSCode 笔灵AI AI工具 Dell R750XS 域名服务 DHCP 符号链接 配置 Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 export import save load 迁移镜像 测试用例 功能测试 initramfs Linux内核 Grub Mac内存不够用怎么办 低代码 单例模式 内网渗透 靶机渗透 网络用户购物行为分析可视化平台 大数据毕业设计 alias unalias 别名 xml 源码 毕业设计 Linux权限 权限命令 特殊权限 拓扑图 5G 混合开发 环境安装 v10 软件 矩阵 僵尸进程 图论 openstack Xen KVM ECS服务器 VPN wireguard EVE-NG nftables P2P HDLC webgl TRAE 动静态库 网卡的名称修改 eth0 ens33 SecureCRT 推荐算法 sublime text3 env 变量 fork wait waitpid exit Reactor反应堆 AI代码编辑器 空间 查错 7-zip CentOS Stream CentOS csrf yaml Ultralytics 可视化 MVS 海康威视相机 即时通信 NIO SWAT 配置文件 服务管理 网络共享 飞牛NAS 飞牛OS MacBook Pro 实时内核 单元测试 双系统 DeepSeek行业应用 Heroku 网站部署 邮件APP 免费软件 PyQt PySide6 显卡驱动 Ubuntu Server Ubuntu 22.04.5 游戏机 micropython esp32 mqtt 序列化反序列化 curl wget IPv4 子网掩码 公网IP 私有IP 技术 金融 Xinference 半虚拟化 硬件虚拟化 Hypervisor springboot容器部署 springboot容器化部署 微服务容器化负载均衡配置 微服务容器多节点部署 微服务多节点部署配置负载均衡 信号 内核 sdkman 国标28181 监控接入 语音广播 流程 SIP SDP DBeaver 底层实现 卸载 列表 产测工具框架 IMX6ULL 管理框架 算力 授时服务 北斗授时 Ubuntu共享文件夹 共享目录 Linux共享文件夹 服务器管理 宝塔面板 配置教程 网站管理 Linux的基础指令 TCP服务器 qt项目 qt项目实战 qt教程 终端 向日葵 iNode Macos 视觉检测 社交电子 工业4.0 rclone AList fnOS springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 hibernate 直流充电桩 充电桩 微信开放平台 微信公众平台 微信公众号配置 lio-sam SLAM uv junit W5500 OLED u8g2 SEO 网络文件系统 mybatis Echarts图表 折线图 柱状图 异步动态数据 鸿蒙开发 可视化效果 同步 备份 vscode 1.86 图形化界面 Nuxt.js 多进程 perl CLion Node-Red 编程工具 流编程 ping++ fpga Webserver 异步 文件系统 路径解析 safari ubuntu24.04.1 生活 网络穿透 自学笔记 小米 澎湃OS Android 自动化测试 workflow 图片增强 增强数据 恒源云 linux安装配置 firewalld lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 servlet 小智 rnn Web服务器 多线程下载工具 PYTHON chromium dpi 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 网络原理 安全架构 网络攻击模型 okhttp CORS 跨域 玩游戏 wireshark c/c++ 串口 边缘计算 数据采集 Crawlee Playwright Cookie 能力提升 面试宝典 IT信息化 ebpf uprobe ShenTong code-server mosquitto 医疗APP开发 app开发 开机自启动 fd 文件描述符 WireGuard 异地组网 Kylin OS 程序化交易 量化交易 高频交易 rpa Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer 移动云 CDN 模拟实现 监控 安防软件 飞牛nas fnos Docker快速入门 大数据平台 SenseVoice minicom 串口调试工具 yum源切换 更换国内yum源 音乐服务器 Navidrome 音流 nfs 网页设计 WINCC beautifulsoup springcloud systemctl composer AISphereButler 分子对接 autodock mgltools PDB PubChem 云桌面 微软 AD域控 证书服务器 DeepSeek r1 Open WebUI cd 目录切换 服务器ssl异常解决 健康医疗 概率论 考研 OpenManus 版本 浏览器自动化 终端工具 远程工具 分布式账本 共识算法 EMUI 回退 降级 x64 SIGSEGV xmm0 pyqt llamafactory 微调 Qwen wsl2 ELF加载 Bug解决 Qt platform OpenCV 强化学习 Pyppeteer 黑客技术 计算机 mq 车载系统 设备树 服务器主板 AI芯片 harmonyosnext AI作画 ux 鲲鹏 npu minio 文件存储服务器组件 RTMP 应用层 OD机试真题 服务器能耗统计 办公自动化 pdf教程 ollama下载加速 opensearch helm xpath定位元素 string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap 游戏服务器 TrinityCore 魔兽世界 代码调试 ipdb shard 智能音箱 智能家居 动态规划 linux 命令 sed 命令 IPMITOOL BMC 硬件管理 opcua opcda KEPServer安装 计算机系统 自动化任务管理 hosts hosts文件管理工具 开源软件 命令行 基础入门 RagFlow RAG tensorflow SVN Server tortoise svn 群晖 文件分享 pppoe radius 雨云服务器 MQTT协议 消息服务器 代码 token sas dba DenseNet 远程看看 远程协助 服务器部署ai模型 Xshell client-go k8s二次开发 代理服务器 机柜 1U 2U AI写作 prompt top Linux top top命令详解 top命令重点 top常用参数 LVM lvresize 磁盘扩容 pvcreate 蓝耘科技 元生代平台工作流 ComfyUI RAGFlow g++ g++13 Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 HarmonyOS Tabs组件 TabContent TabBar TabsController 导航页签栏 滚动导航栏 三级等保 服务器审计日志备份 ldap 云耀服务器 apt docker命令大全 支持向量机 CUPS 打印机 Qt5 流式接口 DIFY 充电桩平台 充电桩开源平台 小艺 Pura X rtc less 相机 gunicorn 网工 宠物 免费学习 宠物领养 宠物平台 mvc IO 蓝牙 java-zookeeper RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 Unity Dedicated Server Host Client 无头主机 NVM Node Yarn PM2 打不开xxx软件 无法检查其是否包含恶意软件 树莓派 VNC thingsboard 大模型面经 大模型学习 deepseek-v3 ktransformers rime 交叉编译 隐藏目录 管理器 通配符 NFC 近场通讯 智能门锁 输入法 免费 gaussdb 华为机试 相差8小时 UTC 时间 scapy 远程 执行 sshpass 操作 xshell termius iterm2 webstorm neo4j 数据仓库 数据库开发 数据库架构 FunASR ASR 磁盘清理 桌面快捷方式 跨平台 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? c/s 框架 Typore 3GPP 卫星通信 mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 ArcTS 登录 ArcUI GridItem AimRT 跨域请求 加解密 Yakit yaklang js USB网络共享 Wi-Fi 强制清理 强制删除 mac废纸篓 retry 重试机制 ssh远程登录 我的世界 我的世界联机 EasyConnect 影刀 浏览器开发 AI浏览器 word RAGFLOW Ark-TS语言 vscode1.86 1.86版本 ssh远程连接 massa sui aptos sei OpenHarmony etl 深度优先 并集查找 换根法 树上倍增 Ardupilot wordpress gitee go 大版本升 升级Ubuntu系统 MNN SSL证书 AI提示词优化 小游戏 五子棋 环境配置 免密 公钥 私钥 切换root MAC Claude dity make 软链接 硬链接 显示过滤器 Wireshark安装 HistoryServer Spark YARN jobhistory iDRAC R720xd 重启 排查 系统重启 日志 原因 copilot powerbi ArkTs nac 802.1 portal telnet 远程登录 k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm docker desktop prometheus数据采集 prometheus数据模型 prometheus特点 PPI String Cytoscape CytoHubba vsxsrv ajax netlink libnl3 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 .net mvc断点续传 kerberos 系统开发 binder framework 源码环境 银河麒麟服务器操作系统 系统激活 uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 视频平台 录像 视频转发 视频流 docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 金仓数据库 2025 征文 数据库平替用金仓 金仓数据库概述 金仓数据库的产品优化提案 playbook 剧本 Github加速 Mac上Github加速 Chrome浏览器插件 cmake 线程 cfssl X11 Xming 博客 embedding CosyVoice 在线office AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 华为证书 HarmonyOS认证 华为证书考试 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 负载测试 显示管理器 lightdm gdm 玩机技巧 软件分享 软件图标 element-ui 上传视频并预览视频 vue上传本地视频及进度条功能 vue2选择视频上传到服务器 upload上传视频组件插件 批量上传视频 限制单个上传视频 ubuntu安装 linux入门小白 jetty undertow openvino ceph notepad++ 导航栏 lb 协议 百度云 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 banner dock 加速 anythingllm open-webui docker国内镜像 OpenGL 图形渲染 HTTP 服务器控制 ESP32 DeepSeek llama.cpp 银河麒麟桌面操作系统 容器技术 Python学习 Python编程 软考设计师 中级设计师 SQL 软件设计师 思科模拟器 Cisco jina fiddler csrutil mac恢复模式进入方法 恢复模式 solidworks安装 sqlite deepseek r1 seleium chromedriver 模拟退火算法 对比 meld DiffMerge 端口聚合 windows11 UDP 银河麒麟高级服务器 外接硬盘 Kylin UOS1070e android-studio 顽固图标 启动台 达梦 DM8 代码托管服务 创业创新 数据库管理 finebi ranger MySQL8.0 chfs ubuntu 16.04 System V共享内存 进程通信 AD 域管理 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 hdc 火绒安全 软负载 内网服务器 内网代理 内网通信 xfce Masshunter 质谱采集分析软件 使用教程 科研软件 image rsync 历史版本 下载 NLP模型 端口 查看 ss 飞书 uniapp 服务器繁忙 备选 调用 示例 bigdata 毕昇JDK 内存管理 致远OA OA服务器 服务器磁盘扩容 mybase 实时云渲染 云渲染 3D推流 Alist mount 挂载 网盘 fast pyscenic 生信教程 检索增强生成 文档解析 大模型垂直应用 田俊楠 easyui 运维监控 XCC Lenovo SPI 可用性测试 模拟器 用户缓冲区 MDK 嵌入式开发工具 论文笔记 pgpool 业界资讯 端口测试 支付 微信支付 开放平台 cocoapods archlinux kde plasma wsgiref Web 服务器网关接口 SSL 域名 skynet 钉钉 Linux的基础开发工具 IPv6 IPv6测试 IPv6测速 IPv6检测 IPv6查询 OpenManage LORA 配置原理 抓包工具 嵌入式Linux IPC ai工具 做raid 装系统 Jellyfin pxe gru broadcom h.264 多端开发 智慧分发 应用生态 鸿蒙OS 轮播图 qt5 客户端开发 URL 项目部署到linux服务器 项目部署过程 wpf bat MI300x 大模型推理 d3d12 源代码 trea idea open Euler dde 自定义登录信息展示 motd 美化登录 cpp-httplib docker部署Python 能源 crosstool-ng 欧拉系统 docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 mapreduce 定义 核心特点 优缺点 适用场景 Bandizip Mac解压 Mac压缩 压缩菜单 cpolar 崖山数据库 YashanDB Qwen3 qwen3 32b vllm 繁忙 解决办法 替代网站 汇总推荐 AI推理 SSH 服务 SSH Server OpenSSH Server Radius SystemV saltstack GeneCards OMIM TTD yashandb 无桌面 ruby GIS 遥感 WebGIS 腾讯云服务器 轻量应用服务器 linux系统入门 linux命令 swoole 阿里云ECS 机架式服务器 1U工控机 国产工控机 ubuntu24 vivado24 联想开天P90Z装win10 裸机装机 linux磁盘分区 裸机安装linux 裸机安装ubuntu 裸机安装kali 裸机 多个客户端访问 IO多路复用 TCP相关API 风扇控制软件 免费域名 域名解析 bootstrap linux子系统 忘记密码 virtualbox 脚本 宕机切换 服务器宕机 Sealos accept autodl 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 稳定性 看门狗 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 Helm k8s集群 node 工厂方法模式 Python基础 Python教程 Python技巧 数据管理 数据治理 数据编织 数据虚拟化 idm logstash Charles #影刀RPA# 实习 VR手套 数据手套 动捕手套 动捕数据手套 PostgreSQL15数据库 VGG网络 卷积层 池化层 矩池云 数据下载 数据传输 信创 信创终端 中科方德 商用密码产品体系 pycharm安装 qemu libvirt XFS xfs文件系统损坏 I_O error es Linux环境 miniconda av1 电视盒子 机顶盒ROM 魔百盒刷机 增强现实 沉浸式体验 技术实现 案例分析 AR web开发 sonoma 自动更新 GoogLeNet IPv4/IPv6双栈 双栈技术 网路规划设计 ensp综合实验 IPv4过渡IPv6 IPv4与IPv6 risc-v SoC swift 电视剧收视率分析与可视化平台 佛山戴尔服务器维修 佛山三水服务器维修 Zoertier 内网组网 材料工程 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 glm4 问题解决 服务网格 istio 匿名FTP 邮件传输代理 SSL支持 chroot监狱技术 Spring Security chrome devtools 技术共享 虚幻引擎 ecm bpm can 线程池 Linux find grep 合成模型 扩散模型 图像生成 可执行程序 线性代数 电商平台 SysBench 基准测试 服务器时间 性能调优 安全代理 cocos2d 3dcoat Minecraft DOIT 四博智联 技能大赛 vpn 文件共享 Obsidian Dataview 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 MinIO 计算机学习路线 编程语言选择 dns是什么 如何设置电脑dns dns应该如何设置 eNSP 网络规划 VLAN 企业网络 Dell HPE 联想 浪潮 流程图 mermaid Apache Beam 批流统一 案例展示 数据分区 容错机制 网页服务器 web服务器 LLaMA-Factory 星河版 软件商店 livecd systemtools searxng pthread 聊天室 HarmonyOS NEXT 原生鸿蒙 飞牛 NTP服务器 regedit 开机启动 惠普服务器 惠普ML310e Gen8 惠普ML310e Gen8V2 端口开放 muduo PTrade QMT 量化股票 TCP协议 抗锯齿 postgres Dify重启后重新初始化 comfyui comfyui教程 互联网医院 GRUB引导 Linux技巧 本地部署AI大模型 医院门诊管理系统 Logstash 日志采集 #STC8 #STM32 动态库 GCC编译器 -fPIC -shared 子系统 网站搭建 serv00 devmem isaacgym OpenSSH 移动魔百盒 OS xss access blocked 破解 win服务器架设 windows server 我的世界服务器搭建 minecraft hugo 企业风控系统 互联网反欺诈 DDoS攻击 SQL注入攻击 恶意软件和病毒攻击 查询数据库服务IP地址 SQL Server 分布式训练 红黑树封装map和set ubantu webview 状态模式 NVIDIA 智能问答 向量数据库 Spring AI Milvus 极限编程 VS Code 根服务器 三次握手 hexo 小智AI服务端 xiaozhi TTS IO模型 烟雾检测 yolo检测 消防检测 规格说明书 navicat deployment daemonset statefulset cronjob whistle AI Agent 字节智能运维 实时日志 logs 接口优化 lua LSTM IMX317 MIPI H265 VCU mcp服务器 client close Headless Linux 知行EDI 电子数据交换 知行之桥 EDI 集群管理 flink 能效分析 存储维护 NetApp存储 EMC存储 语法 AzureDataStudio 大大通 第三代半导体 碳化硅 mcp协议 go-zero 解决方案 鸿蒙NEXT Async注解 网络建设与运维 超融合 机械臂 网络库 post.io 企业邮箱 搭建邮箱 Qt QModbus 企业网络规划 华为eNSP tidb 制造 Python 视频爬取教程 Python 视频爬取 Python 视频教程 GRANT REVOKE 学习路线 线程同步 线程互斥 条件变量 僵尸世界大战 游戏服务器搭建 Anolis nginx安装 linux插件下载 deekseek 环境 非root 静态IP LVS 架构与原理 CPU架构 服务器cpu 手机 paddle nano IDEA triton 模型分析 漏洞报告生成 brew 查看显卡进程 fuser ArtTS Web3 Telegram bert yum换源 蜂窝网络 频率复用 射频单元 无线协议接口RAN 主同步信号PSS vmware tools docker search Multi-Agent MLLMs VLM gpt-4v sentinel figma 搭建个人相关服务器 VM虚拟机 midjourney 接口返回 h.265 动态域名 vue在线预览excel和编辑 vue2打开解析xls电子表格 浏览器新开页签或弹框内加载预览 文件url地址或接口二进制文档 解决网页打不开白屏报错问题 粘包问题 Putty 花生壳 设计规范 干货分享 黑客工具 密码爆破 RK3568 GPUGEEK easyTier 组网 流量运营 C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 ISO镜像作为本地源 react native 带外管理 tailscale derp derper 中转 物理地址 页表 虚拟地址 本地知识库部署 DeepSeek R1 模型 事件驱动 移动开发 Erlang OTP gen_server 热代码交换 事务语义 欧标 OCPP Modbus TCP finalsheel proxy模式 烟花代码 烟花 元旦 模板 泛型编程 MacOS AI员工 sequoiaDB 网络搭建 神州数码 神州数码云平台 云平台 捆绑 链接 谷歌浏览器 youtube google gmail Ubuntu 24.04.1 轻量级服务器 音乐库 UFW AI agent web环境 青少年编程 多路转接 lvs 输入系统 homeassistant win向maOS迁移数据 Qwen2.5-VL aac nosql qtcreator 游戏开发 项目部署 watchtower 流量 nginx默认共享目录 anonymous ABAP fabric 集成 HAProxy 搜狗输入法 Ubuntu 24.04 搜狗输入法闪屏 Ubuntu中文输入法 4 - 分布式通信、分布式张量 GKI KMI orbslam2 北亚数据恢复 oracle数据恢复 macOS lrzsz authing ardunio BLE tar.gz tar.xz linux压缩 超级终端 多任务操作 提高工作效率 华为鸿蒙系统 ArkTS语言 Component 生命周期 条件渲染 Image图片组件 李心怡 安装部署 milvus安装 西门子PLC 通讯 元服务 应用上架 java毕业设计 微信小程序医院预约挂号 医院预约 医院预约挂号 小程序挂号 数字比特流 模拟信号 将二进制数据映射到模拟波形上 频谱资源 振幅频率相位 载波高频正弦波 AWS RAGflow RockyLinux 中文输入法 风扇散热策略 曙光 海光 宁畅 中科可控 命令模式 mujoco 零售 pythonai PlaywrightMCP Metastore Catalog 数字证书 签署证书 进程池实现 火山引擎 jdk11安装 jdk安装 openjdk11 openjdk11安装 solr 代码复审 caddy wifi驱动 vCenter服务器 ESXi主机 监控与管理 故障排除 日志记录 qwen2vl 服务器正确解析请求体 Unity插件 janus 计算虚拟化 弹性裸金属 STL 容器化 Serverless rtcp BCLinux CAD瓦片化 栅格瓦片 矢量瓦片 Web可视化 DWG解析 金字塔模型 nmcli 网络配置 华为昇腾910b3 issue 基本指令 socket 静态NAT 站群 多IP appium 通用环境搭建 MySQL scrapy 苹果电脑装windows系统 mac安装windows系统 mac装双系统 macbook安装win10双 mac安装win10双系统 苹果电脑上安装双系统 mac air安装win AppLinking 应用间跳转 影视app 证书 签名 python高级编程 Ansible elk stack sse_starlette Starlette Server-Sent Eve 服务器推送事件 5分钟快速学 docker入门 MCP 服务器 JADX-AI 插件 ANDROID_HOME zshrc IP地址 计算机基础 互联网实用编程指南 光电器件 LED 排序算法 选择排序 jQuery RNG 状态 可复现性 随机数生成 linq Linux的进程概念