基于Python的YOLO目标检测项目实战

本文还有配套的精品资源,点击获取

menu-r.4af5f7ec.gif

简介:YOLO(You Only Look Once)是一种高效的实时目标检测系统,广泛应用于计算机视觉领域。本YOLO项目基于深度学习框架TensorFlow与Keras,结合OpenCV、PIL等工具,实现从数据预处理、模型训练到推理部署的完整流程。项目涵盖YOLOv3、YOLOv4等主流版本,支持多尺度检测与高性能推理,适用于图像中多个物体的定位与分类任务。通过Flask/Django构建Web服务接口,并利用matplotlib进行结果可视化,项目具备完整的开发、评估与部署能力,适合深度学习与计算机视觉方向的学习与实践。

YOLO目标检测实战:从环境搭建到上线部署全解析

你有没有遇到过这样的场景?刚拿到一个新项目,满心欢喜地打开代码仓库,却发现 requirements.txt 里一堆不兼容的依赖版本;好不容易跑通训练脚本,结果模型在测试集上 mAP 直接“腰斩”;更别提上线时那句经典的报错:“ libcudart.so.12 not found ”。🤯

这简直不是做AI,是做运维啊!

但今天,我们要把这套流程彻底打通。从 零开始构建可复现的深度学习环境 ,深入剖析 YOLOv3/v4 的底层架构设计逻辑 ,再到 全流程实战训练与服务化部署 ——我们不仅告诉你“怎么做”,更要讲清楚“为什么这么设计”。

准备好了吗?Let’s dive in!🚀


深度学习环境搭建:别再让“环境问题”拖后腿

很多人觉得“环境配置”是技术含量最低的一环,但实际上,它是整个项目成败的第一道门槛。一个混乱的开发环境,轻则浪费半天时间排查依赖冲突,重则导致实验无法复现、团队协作崩溃。

所以,我们必须建立一套标准化、模块化、可迁移的工作流。

硬件驱动安装:GPU才是你的算力心脏 💪

现代YOLO系列模型(尤其是YOLOv4及以上)对硬件要求并不低。如果你还在用集成显卡跑训练,那建议先去升级设备。

推荐配置清单:
组件 最低要求 推荐配置
GPU NVIDIA GTX 1080 (8GB) RTX 3090 / 4090 或 A100 / V100
CPU Intel i5-9xxx i7/i9 或 AMD Ryzen 7/9
内存 16GB DDR4 32GB+
存储 100GB SSD NVMe SSD + 外挂存储池
📌 小贴士:对于边缘部署场景(如Jetson Nano),可以选择YOLOv4-tiny或YOLOv5s等轻量版本。

首先确认你的系统是否识别到了NVIDIA显卡:

lspci | grep -i nvidia 

如果输出中有类似 NVIDIA Corporation GA102 [GeForce RTX 3090] 的信息,说明硬件已就位。

接着检查驱动状态:

nvidia-smi 

正常情况下你应该看到类似下面的信息:

参数项 示例值
GPU Name NVIDIA GeForce RTX 3090
Driver Version 535.113.01
CUDA Version 12.2
Fan Speed 45%
Temperature 58°C
Memory Usage 1024 / 24576 MB

🔥 如果命令未找到或报错,说明驱动没装好。来吧,跟着我一步步走:

# 添加官方PPA源 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 查询推荐驱动 ubuntu-drivers devices # 安装推荐版本(比如535) sudo apt install nvidia-driver-535 # 重启生效 sudo reboot 

💡 避坑指南 :不要直接使用Ubuntu自带的开源 nouveau 驱动!它和CUDA完全不兼容。可以通过编辑 /etc/modprobe.d/blacklist.conf 来禁用:

blacklist nouveau options nouveau modeset=0 

然后更新内核镜像:

sudo update-initramfs -u 

否则开机可能黑屏😭。


Python虚拟环境:告别“全局污染”时代 🧼

你是不是也经历过这种噩梦?

  • 项目A需要TensorFlow 2.10,项目B却只能用2.6;
  • 安装完某个库后,Jupyter突然打不开了;
  • 团队成员之间因为环境差异导致代码行为完全不同……

这些问题的根源就是——没有使用虚拟环境!

我们强烈推荐使用 conda ,因为它不仅能管理Python包,还能处理MKL、OpenCV这类二进制依赖。

创建专属YOLO开发环境:
# 下载Miniconda(轻量版Anaconda) wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh # 初始化并激活shell source ~/.bashrc # 创建名为 yolo-env 的独立环境 conda create -n yolo-env python=3.9 # 激活环境 conda activate yolo-env 

现在你已经进入了一个干净的Python世界 ✨

可以导出环境快照供团队共享:

conda env export > environment.yml 

别人只需一句命令就能还原一模一样的环境:

conda env create -f environment.yml 

再也不用问“你那个包是怎么装的?”了 😎


CUDA与cuDNN:通往GPU加速的大门 🔑

TensorFlow-GPU版能不能跑起来,关键看CUDA和cuDNN配不匹配。

记住一句话: CUDA由驱动支持,cuDNN由CUDA支持

下面是TensorFlow各版本对应的组合表(划重点⚠️):

TensorFlow Version Python Version CUDA Version cuDNN Version
2.13 3.8–3.11 11.8 8.6
2.12 3.8–3.11 11.8 8.6
2.11 3.7–3.11 11.2 8.1
≤2.9 3.6–3.9 11.2 8.1

来源: TensorFlow官方文档

假设我们要用TF 2.12,则需安装 CUDA 11.8 + cuDNN 8.6

安装步骤如下:
# 下载CUDA Toolkit 11.8 wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run 
⚠️ 注意:取消勾选“Install NVIDIA Driver”,因为我们已经单独安装过了!

设置环境变量:

echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc 

验证安装成功:

nvcc --version 

输出应包含 release 11.8

接下来安装cuDNN(需要注册NVIDIA开发者账号):

tar -xzvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz sudo cp cuda/include/cudnn*.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn* 

搞定!👏


TensorFlow + Keras框架部署:让AI变得简单 🤖

完成底层基建后,终于轮到我们的主角登场了!

TensorFlow 2.x 引入了 Eager Execution 和 Keras API,极大简化了模型开发流程。我们现在就可以正式安装核心框架了。

安装TensorFlow并启用GPU支持

在激活的conda环境中执行:

pip install tensorflow==2.12.0 

安装完成后验证GPU可用性:

import tensorflow as tf print("TensorFlow version:", tf.__version__) print("GPUs Available: ", tf.config.list_physical_devices('GPU')) # 启用按需分配显存 gpus = tf.config.experimental.list_physical_devices('GPU') if gpus: try: for gpu in gpus: tf.config.experimental.set_memory_growth(gpu, True) except RuntimeError as e: print(e) 

如果看到类似以下输出:

TensorFlow version: 2.12.0 GPUs Available: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')] 

恭喜你!GPU已经成功启用 🎉

再来个小测试,看看计算是不是真的在GPU上跑:

with tf.device('/GPU:0'): a = tf.random.normal([10000, 10000]) b = tf.random.normal([10000, 10000]) c = tf.matmul(a, b) print("Matrix multiplication completed on GPU.") 

打开另一个终端运行 nvidia-smi ,你会看到GPU利用率瞬间飙升⚡️——这就是并行计算的魅力!


Keras高级API:三行代码定义一个CNN

Keras的设计哲学是“用户友好、模块化、易扩展”。来看看怎么快速搭个模型:

from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense model = Sequential([ Conv2D(32, (3,3), activation='relu', input_shape=(224, 224, 3)), MaxPooling2D(pool_size=(2,2)), Conv2D(64, (3,3), activation='relu'), MaxPooling2D(), Flatten(), Dense(128, activation='relu'), Dense(10, activation='softmax') ]) model.summary() 

这个简单的网络结构其实暗藏玄机:

  • Conv2D(32, (3,3)) 提取局部纹理特征;
  • MaxPooling2D 降维同时增强平移不变性;
  • Flatten() 把二维特征图展成向量;
  • Dense 做最终分类决策。

更重要的是,每一层都封装了权重与前向函数,通过自动微分机制实现反向传播。这种声明式编程风格,大大降低了入门门槛。

甚至你可以自定义Layer,比如实现一个带参数的归一化层:

class CustomNormalization(tf.keras.layers.Layer): def __init__(self, epsilon=1e-6, **kwargs): super().__init__(**kwargs) self.epsilon = epsilon def build(self, input_shape): self.gamma = self.add_weight(shape=input_shape[-1:], initializer='ones', trainable=True) self.beta = self.add_weight(shape=input_shape[-1:], initializer='zeros', trainable=True) def call(self, inputs): mean = tf.reduce_mean(inputs, axis=-1, keepdims=True) variance = tf.reduce_mean(tf.square(inputs - mean), axis=-1, keepdims=True) norm_inputs = (inputs - mean) / tf.sqrt(variance + self.epsilon) return self.gamma * norm_inputs + self.beta 

是不是比写原始TensorFlow清爽多了?😎


辅助库安装:图像处理全家桶

除了主框架,我们还需要一些得力助手:

pip install numpy opencv-python pillow matplotlib scikit-image 
库名 主要用途
NumPy 张量操作与数学运算
OpenCV 图像读取、预处理、绘制边界框
Pillow 替代OpenCV处理JPEG/PNG格式
Matplotlib 可视化损失曲线与检测结果
scikit-image 提供额外图像变换工具

测试一下OpenCV能否正常读图:

import cv2 img = cv2.imread("test.jpg") print("Image shape:", img.shape) # 注意是 BGR 色彩空间! rgb_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 

📌 记住:OpenCV默认使用BGR,而Matplotlib是RGB,混用会颜色错乱!


开发工具链协同配置:效率翻倍的秘密武器 🔧

工欲善其事,必先利其器。高效的开发离不开现代化IDE与协作工具的支持。

Jupyter Notebook:交互式调试神器

适合快速实验、可视化探索数据分布、调试模型中间输出。

安装并启动:

pip install jupyterlab jupyter-lab --ip=0.0.0.0 --port=8888 --allow-root 

访问 http://<server_ip>:8888 即可进入Web界面。

为了让Notebook能使用conda环境,还需安装内核:

python -m ipykernel install --user --name=yolo-env --display-name "Python (yolo-env)" 

这样你就能在Jupyter中选择对应环境运行代码啦!

graph TD A[Jupyter Lab] --> B[Kernel: yolo-env] B --> C{Execute Code} C --> D[Display Output] D --> E[Plot Images/Loss] E --> F[Export as HTML/PDF] 

整个流程清晰直观,特别适合教学、汇报或记录实验过程。


VSCode远程开发:本地编辑 + 远程算力

对于大型项目,建议使用VSCode配合Remote-SSH插件进行远程开发。

配置步骤:

  1. 在本地VSCode安装“Remote - SSH”扩展;
  2. 配置SSH连接:
{ "Host": "yolo-server", "HostName": "192.168.1.100", "User": "user", "Port": 22 } 
  1. 连接后即可直接在远程服务器上编辑、运行、调试。

优势在于: 本地丝滑编辑体验 + 远程强大GPU算力 ,完美解决笔记本性能不足的问题。


Git版本控制:团队协作的生命线

创建项目根目录并初始化Git:

mkdir yolov4-tf && cd yolov4-tf git init 

推荐的标准项目结构:

yolov4-tf/ ├── data/ # 数据集 ├── models/ # 权重文件 ├── configs/ # 配置文件 ├── notebooks/ # 实验记录 ├── src/ │ ├── dataset.py # 数据加载 │ ├── model.py # 模型定义 │ └── train.py # 训练脚本 ├── requirements.txt # 依赖声明 └── README.md 

提交初始结构:

git add . git commit -m "Initialize YOLO project structure" 

并通过 .gitignore 排除大文件:

*.h5 *.weights __pycache__ *.ipynb_checkpoints 

确保敏感数据不会被误上传。


环境验证:跑通第一个YOLO推理 demo 🎯

最后一步,我们要端到端验证整个环境是否可用。

YOLOv4-tiny 为例,先下载预训练权重:

git clone https://github.com/AlexeyAB/darknet.git cd darknet wget https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights 

编写转换脚本将DarkNet权重转为Keras可读格式:

from tensorflow.keras.models import Model from tensorflow.keras.layers import Input from yolov4_tiny import YOLOv4Tiny # 自定义模型类 def load_yolo_model(weight_file): input_layer = Input(shape=(416, 416, 3)) model = YOLOv4Tiny(input_layer) model.load_weights(weight_file, by_name=True, skip_mismatch=True) return model yolo_model = load_yolo_model("yolov4-tiny.weights") 

准备输入图像:

import cv2 import numpy as np def preprocess_image(image_path): image = cv2.imread(image_path) image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) resized = cv2.resize(image_rgb, (416, 416)) input_tensor = np.expand_dims(resized.astype(np.float32) / 255.0, 0) return input_tensor, image.shape[:2] input_tensor, orig_shape = preprocess_image("dog.jpg") predictions = yolo_model.predict(input_tensor) 

输出张量形状通常是 (1, 52, 52, 3, 85) ,其中:

  • 52x52 是特征图分辨率
  • 3 是每个位置预测的Anchor数量
  • 85 包含 [tx, ty, tw, th, obj_score, class_probs...]

后续需要解码坐标、过滤低置信度框、执行NMS去重。

def yolo_boxes(pred, anchors, classes): box_xy = tf.sigmoid(pred[..., :2]) box_wh = pred[..., 2:4] box_confidence = tf.sigmoid(pred[..., 4:5]) box_class_probs = tf.nn.softmax(pred[..., 5:]) return box_xy, box_wh, box_confidence, box_class_probs 

完整的NMS可以用 tf.image.combined_non_max_suppression 替代,省去手动实现。


YOLOv3/v4 架构深度拆解:不只是“黑箱”

很多教程只教你怎么用YOLO,但从不告诉你它为什么这么设计。今天我们就要掀开盖子,看看里面的齿轮是怎么咬合的。

YOLOv3:多尺度检测的奠基之作 🏗️

YOLOv3最大的突破是从单尺度预测转向 多尺度输出 ,引入了类似FPN的结构,显著提升了小目标检测能力。

它的主干网络叫 Darknet-53 ,灵感来自ResNet,但更加轻量化。

Darknet-53 核心结构:
def darknet53(input_shape=(416, 416, 3)): inputs = Input(shape=input_shape) x = conv_block(inputs, 32, 3) x = conv_block(x, 64, 3, 2) # 下采样 x = residual_block(x, 64) x = conv_block(x, 128, 3, 2) for _ in range(2): x = residual_block(x, 128) x = conv_block(x, 256, 3, 2) for _ in range(8): x = residual_block(x, 256) route_1 = x # 52x52x256 x = conv_block(x, 512, 3, 2) for _ in range(8): x = residual_block(x, 512) route_2 = x # 26x26x512 x = conv_block(x, 1024, 3, 2) for _ in range(4): x = residual_block(x, 1024) return Model(inputs, [route_1, route_2, x], name='darknet53') 

这三个中间特征图会被用于后续FPN融合。

graph TD A[Input 416x416x3] --> B[Conv 3x3/64] B --> C[MaxPool 2x2] C --> D[Conv 3x3/128] D --> E[MaxPool 2x2] E --> F[Residual Block x8] F --> G[Route Layer 1: 52x52x256] G --> H[Conv 3x3/512] H --> I[MaxPool 2x2] I --> J[Residual Block x8] J --> K[Route Layer 2: 26x26x512] K --> L[Conv 3x3/1024] L --> M[MaxPool 2x2] M --> N[Residual Block x4] N --> O[Output: 13x13x1024] 

FPN vs PANet:谁才是多尺度王者?👑

YOLOv3用FPN做自顶向下融合,而YOLOv4升级为 PANet(Path Aggregation Network) ,增加了一条自底向上的路径,进一步强化细节传递。

# FPN阶段 head_13, head_26, head_52 = yolo_fpn(darknet_outputs) # PANet增强:自底向上 up_26 = tf.image.resize(head_26, size=(13,13)) pan_13 = tf.concat([up_26, head_13], axis=-1) up_52 = tf.image.resize(head_52, size=(26,26)) pan_26 = tf.concat([up_52, head_26], axis=-1) return pan_13, pan_26, head_52 

实测表明,PANet能让小目标mAP提升2~3个百分点!


CSPDarknet53:梯度优化的新范式 🌀

YOLOv4最大的改进之一是采用 CSPNet 结构,将输入特征分成两支:

  • 一支走密集残差块;
  • 一支绕过直接拼接。

这样既减少了重复计算,又增强了梯度流动。

def csp_block(x, num_filters, num_blocks=1): route = x[:, :, :, :x.shape[-1]//2] main = x[:, :, :, x.shape[-1]//2:] main = conv_block(main, num_filters//2, 1) for _ in range(num_blocks): main = residual_block(main, num_filters//2) main = conv_block(main, num_filters//2, 1) route = conv_block(route, num_filters//2, 1) x = tf.concat([main, route], axis=-1) return x 

相比传统Darknet,CSP结构可减少约20%的FLOPs,同时精度更高。


Mish激活函数:超越ReLU的秘密武器 💣

YOLOv4还换掉了LeakyReLU,改用 Mish 激活函数:

$$
\text{Mish}(x) = x \cdot \tanh(\ln(1 + e^x))
$$

特点:
- 全域光滑连续
- 负值区轻微上升
- 上无界下有界

相比ReLU不会“死区”,相比Swish收敛更稳。

自定义实现也很简单:

class Mish(tf.keras.layers.Layer): def call(self, inputs): return inputs * tf.tanh(tf.math.log(1 + tf.exp(inputs))) get_custom_objects().update({'Mish': Mish}) 

实测在COCO上能带来1%左右的mAP提升。


实战全流程:从训练到上线 🚀

理论懂了,环境有了,现在我们来走一遍完整流程。

数据预处理:YOLO格式转换

YOLO要求每张图配一个 .txt 文件,格式为:

<class_id> <x_center> <y_center> <width> <height> 

全部归一化到0~1区间。

如果是COCO格式,可用脚本批量转换:

def coco_to_yolo(coco_json_path, output_dir): with open(coco_json_path) as f: data = json.load(f) cat_id_map = {cat['id']: i for i, cat in enumerate(data['categories'])} img_id_map = {img['id']: img['file_name'] for img in data['images']} for ann in data['annotations']: file_name = img_id_map[ann['image_id']].replace('.jpg', '.txt') x, y, w, h = ann['bbox'] xc = (x + w/2) / img_width yc = (y + h/2) / img_height nw, nh = w/img_width, h/img_height cls_id = cat_id_map[ann['category_id']] with open(os.path.join(output_dir, file_name), 'a') as f: f.write(f"{cls_id} {xc:.6f} {yc:.6f} {nw:.6f} {nh:.6f}\n") 

模型训练:精细化控制策略

批大小与学习率调度
Batch Size Initial LR Accum Steps Epochs
16 1e-3 2 100
32 1e-3 1 100

推荐使用余弦退火:

def cosine_lr(epoch, base_lr=1e-3): return base_lr * 0.5 * (1 + math.cos(math.pi * epoch / 100)) 
优化器选择
  • 初期微调用 Adam(lr=1e-4)
  • 后期精调用 SGD(lr=1e-2, momentum=0.937)
早停与Checkpoint
callbacks = [ ModelCheckpoint('best_model.h5', save_best_only=True, monitor='val_loss'), EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True) ] 

模型评估与可视化

使用COCO API标准评测:

coco_eval = COCOeval(coco_gt, coco_dt, 'bbox') coco_eval.evaluate() coco_eval.summarize() 

输出:

Average Precision (AP) @[ IoU=0.50:0.95 ] = 0.623 

用matplotlib画检测框:

rect = patches.Rectangle((x, y), w, h, linewidth=2, edgecolor='red', facecolor='none') ax.add_patch(rect) plt.text(x, y, f'{class_name}: {score:.2f}', color='white', backgroundcolor='red') 

模型部署:ONNX + TensorRT 加速

导出为ONNX:

import tf2onnx spec = (tf.TensorSpec((None, 416, 416, 3), tf.float32, name="input"),) model_proto, _ = tf2onnx.convert.from_keras(model, input_signature=spec, opset=13) with open("yolov4.onnx", "wb") as f: f.write(model_proto.SerializeToString()) 

用TensorRT构建引擎:

trtexec --onnx=yolov4.onnx --saveEngine=yolov4.trt --fp16 --workspace=2048 

速度最高可提升3倍!


Flask封装RESTful接口

@app.route('/detect', methods=['POST']) def detect(): file = request.files['image'] image = cv2.imdecode(np.frombuffer(file.read(), np.uint8), cv2.IMREAD_COLOR) processed_img, _, _ = letterbox_image(image) input_tensor = np.expand_dims(processed_img.astype(np.float32)/255.0, axis=0) detections = model.predict(input_tensor) results = postprocess(detections) return jsonify(results) 

对外提供HTTP服务,轻松集成到前端或移动端。


工程化实践:Git + Docker + CI/CD

Git Flow分支管理
graph TD A[main] --> B[release/v1.0] A --> C[develop] C --> D[feature/data-augment] C --> E[feature/model-prune] D --> C E --> C B --> A 
Docker容器化
FROM nvcr.io/nvidia/tensorrt:23.09-py3 COPY . /app WORKDIR /app RUN pip install -r requirements.txt EXPOSE 5000 CMD ["python", "app.py"] 

一键构建部署:

docker build -t yolov4-serving . docker run -d -p 5000:5000 yolov4-serving 
日志监控与告警
logging.basicConfig( level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s', handlers=[logging.FileHandler("detection.log"), logging.StreamHandler()] ) try: result = predict(image) except Exception as e: logging.error(f"Inference failed: {str(e)}") send_alert_to_slack(str(e)) 

真正实现生产级稳定运行。


总结:YOLO不止是算法,更是工程艺术 🎨

通过这一整套流程,我们完成了从环境搭建 → 模型理解 → 实战训练 → 上线部署的闭环。

你会发现,真正的AI项目远不止调参那么简单。它涉及:

  • 环境一致性保障
  • 多尺度特征工程
  • 梯度优化机制
  • 数据增强策略
  • 分布式训练技巧
  • 模型压缩与加速
  • 服务化封装
  • 团队协作规范

每一个环节都至关重要。

而YOLO之所以能在工业界广泛应用,正是因为它在 速度、精度、易用性 之间找到了绝佳平衡点。

未来随着YOLOv9、YOLO-NAS等新架构出现,这些底层设计理念仍将持续演进。

但万变不离其宗: 好的模型 = 好的结构 × 好的数据 × 好的工程

希望这篇文章,能帮你打通任督二脉,真正掌握YOLO的“内功心法”。💪

“授人以鱼不如授人以渔。” —— 我们的目标从来不是让你复制粘贴代码,而是教会你思考的方式。

本文还有配套的精品资源,点击获取

menu-r.4af5f7ec.gif

简介:YOLO(You Only Look Once)是一种高效的实时目标检测系统,广泛应用于计算机视觉领域。本YOLO项目基于深度学习框架TensorFlow与Keras,结合OpenCV、PIL等工具,实现从数据预处理、模型训练到推理部署的完整流程。项目涵盖YOLOv3、YOLOv4等主流版本,支持多尺度检测与高性能推理,适用于图像中多个物体的定位与分类任务。通过Flask/Django构建Web服务接口,并利用matplotlib进行结果可视化,项目具备完整的开发、评估与部署能力,适合深度学习与计算机视觉方向的学习与实践。


本文还有配套的精品资源,点击获取

menu-r.4af5f7ec.gif


Read more

office里面你所在的区域不支持Copilot的解决方法

最近了一年office 365羊毛,想试用copilot的时候遇到这个问题: 梯子开了美国全局tun也没用,之后怀疑是缓存问题,因为一开始没开梯子导致加载了中国区的js文件,所以没法用 用微软官方网站上的方法试了下清缓存: 删除以下文件夹的内容 %LOCALAPPDATA%\Microsoft\Office\16.0\Wef\ 之后保持美国全局tun重启word即可: 如果还是不行,可以尝试office 365的网页版,也能用Copilot 参考:https://ZEEKLOG.fjh1997.top/posts/40329.html

By Ne0inhk
IntelliJ IDEA 接入 AI 编程助手(Copilot、DeepSeek、GPT-4o Mini)

IntelliJ IDEA 接入 AI 编程助手(Copilot、DeepSeek、GPT-4o Mini)

IntelliJ IDEA 接入 AI 编程助手(Copilot、DeepSeek、GPT-4o Mini) 📊 引言 近年来,AI 编程助手已成为开发者的高效工具,它们可以加速代码编写、优化代码结构,并提供智能提示。本文介绍如何在 IntelliJ IDEA 中集成 DeepSeek、GPT-4o Mini、GitHub Copilot,并探索 本地 AI 编程助手 方案,帮助开发者在不同场景下提升编程效率。 👨‍💻 1. GitHub Copilot 集成 Copilot 是由 GitHub 和 OpenAI 推出的 AI 代码补全工具,它可以根据上下文智能生成代码片段。 GitHub Copilot 免费版 vs 付费版对比。 功能免费版付费版代码补全每月

By Ne0inhk
文心一言开源版部署及多维度测评实例

文心一言开源版部署及多维度测评实例

文章目录 * 第一章 文心一言开源模型简介 * 第二章 模型性能深度实测 * 2.1 通用能力基准测试 * 2.1.1 文本生成质量 * 2.1.2 数学推理能力 * 2.2 极端场景压力测试 * 2.2.1 高并发性能 * 2.2.2 长上下文记忆 * 第三章 中文特色能力解析 * 3.1.2 文化特定理解 * 3.2 行业术语处理 * 3.2.1 法律文书解析 * 3.2.2 医疗报告生成 * 第四章 开源生态建设评估 * 4.1 模型可扩展性验证 * 4.

By Ne0inhk
【人工智能】异构算力重构AIGC | 蓝耘智算平台部署通义万相2.1文生图技术全解析

【人工智能】异构算力重构AIGC | 蓝耘智算平台部署通义万相2.1文生图技术全解析

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ 蓝耘智算平台 * 通义万相2.1文生图 * 优势 * 模型效果对比 * 蓝耘智算平台 * 登陆注册 * 蓝耘:通义万相2.1文生图的配置部署 * 使用实例 * 总结 前言:在人工智能(AI)技术日新月异的今天,AIGC(生成式人工智能内容生成)作为新兴领域,正以前所未有的速度改变着内容创作的格局。随着数据规模、算法复杂度的不断攀升,算力需求也呈现出爆发式增长的趋势。在这一背景下,异构算力作为提升算力效率与灵活性的关键手段,正逐渐成为推动AIGC技术发展的核心驱动力。 在AIGC技术指数级进化的浪潮下,文生图模型的参数量已突破千亿级门槛,据Stability AI最新报告显示,单次1080P图像生成的算力消耗较两年前激增320%,传统同构计算架构面临显存墙、能耗比失衡、硬件利用率不足等多重挑战。蓝耘智算平台通过革命性的异构算力重构方案,成功部署通义万相2.1这一业界领先的文生图大模型,开创了"算法-算力-场景"三位一体的AIGC工业化新范式。 蓝耘智算平台

By Ne0inhk