华程智教AI后端研发工程师(Python/C++)课程大纲
2026-01-21 18:37:57 0 举报
AI智能生成
华程智教AI后端研发工程师(Python/C++)课程大纲
作者其他创作
大纲/内容
Python基础
初识Python
Python核心特性
Python在AI领域的核心应用
开发环境搭建
数据类型与变量
基础数据类型以及类型转换
变量定义、赋值规则与命名规范
运算符与操作对象
什么是操作符和操作对象
算术运算符
比较运算符
赋值运算符
位运算符
逻辑运算符
成员运算符
身份运算符
运算符优先级
容器及其操作
列表(list)
元组(tuple)
字典(dict)
容器通用操作(排序、去重、批量处理)
流程控制与函数
条件语句(if/elif/else)及嵌套使用
循环语句(for/while)、循环控制(break/continue)
函数定义、调用、参数
变量作用域(局部/全局/nonlocal)
函数返回值及多返回值处理
面向对象编程
类与对象定义及实例化
构造方法__init__及属性初始化
实例方法、类方法(@classmethod)、静态方法(@staticmethod)
继承与多态、方法重写
异常与文件处理
异常捕获(try/except/else/finally)及常见异常类型
文件读写(open函数、读写模式、close关闭)
上下文管理器with语句及应用
图片文件读写(PIL/Pillow库基础操作)
序列化与反序列化
JSON模块:dump/dumps/load/loads及数据格式转换
Pickle模块:dump/dumps/load/loads及使用注意事项
ONNX 序列化入门 - 模型跨框架存储铺垫
Python AI 工程化扩展
数据处理核心库
NumPy基础:ndarray创建、维度/形状/数据类型、索引切片
NumPy进阶:数组重塑、广播机制、维度转换、矩阵运算(加减乘除、转置、逆矩阵)
Pandas基础:Series/DataFrame创建、数据读取(csv/txt)、数据清洗(缺失值/重复值处理)
Pandas进阶:特征工程(归一化/标准化)、分组统计、合并拼接
Matplotlib/Seaborn:绘图基础、折线图/柱状图/热力图、子图布局
并发编程
线程与进程概念、GIL原理
threading模块:线程创建/启动/.join()、线程池
multiprocessing模块:进程创建/进程池、进程间通信(Queue)
互斥锁(Lock)及资源竞争解决
协程基础:asyncio模块、async/await、Task对象、事件循环
异步数据库操作(Redis/MySQL异步读写)
数据库编程
CV元数据存储:MongoDB模型版本管理(版本号、训练参数、数据集来源记录)
推理结果缓存:Redis存储模型推理性能指标(FPS、内存占用)
MySQL基础:数据库/数据表创建、数据类型、约束(主键/外键/非空/唯一)
MySQL增删改查(INSERT/DELETE/UPDATE/SELECT)
Python操作MongoDB(pymongo库)
后端服务开发
FastAPI基础:路由定义、请求方法(GET/POST)、路径参数/查询参数
请求体模型(Pydantic)、参数校验与异常处理
响应封装、状态码设置、图片上传与返回
gRPC基础:ProtoBuf语法、服务定义、消息类型定义
Python gRPC开发:客户端/服务端实现、同步/异步调用
C++ 基础
入门与环境搭建
C++开发环境(GCC、Visual Studio)安装与配置
第一个C++程序(Hello World)、编译与运行流程
注释规范、代码格式化要求
基础语法与数据类型
基本数据类型(int、float、double、char、bool)及类型转换
常量(const)、变量定义与命名规范
输入输出(cin、cout)及格式控制
运算符(算术/比较/逻辑/赋值)及表达式、运算符优先级
流程控制
分支结构(if/else、switch/case)及嵌套
循环结构(for、while、do-while)、循环控制(break、continue)
数组
数组定义、初始化、访问及数组名特性
二维数组与多维数组
函数
函数定义、声明、调用及函数原型
函数参数(值传递、引用传递、指针传递)
函数重载、默认参数、内联函数(inline)
指针
指针基础:地址与指针变量、解引用运算符(*)、取地址运算符(&)
指针与数组、指针与函数(函数参数为指针、函数返回指针)
字符串与指针、字符数组与字符串常量
复合数据类型
结构体(struct)定义、初始化、成员访问
枚举(enum)定义与使用
共同体
内存管理
堆与栈内存、new/delete运算符、内存泄漏规避
面向对象编程
类与对象:类的定义、访问控制符(public/private/protected)
构造函数、析构函数、拷贝构造函数
对象数组、对象指针、this指针
友元函数和友元类
运算符重载(+、-、*、/、==等)
继承与派生、虚函数与多态
泛型编程与STL
函数模板、类模板定义与使用
STL容器:vector、map、unordered_map、list、queue、stack
STL迭代器:迭代器定义、遍历操作、const迭代器
STL算法:sort、find、reverse、accumulate等常用算法
智能指针(unique_ptr/shared_ptr)及使用场景
工程化基础
预处理指令(#include、#define、#if/#else)
文件I/O(fstream、ifstream、ofstream)
异常处理(try/catch/throw)及常见异常类型
CMake基础:CMakeLists.txt编写、编译配置、库链接
Qt跨平台开发
Qt6基础
Qt基础知识
Qt字符串类、时间类等常用工具类
Qt元对象
Qt控件
Qt布局
Qt Widget
分割窗口、停靠窗口、堆栈窗口
Qt对话框
文件对话框、颜色对话框、字体对话框、消息对话框
Qt主窗口
Qt事件处理系统
文件操作、目录处理
Qt绘图
图形视图、动画、状态机
Qt双缓冲机制
Qt音视频处理
模型视图结构
进阶
Qt网络编程:TCP
Qt网络编程:UDP
Qt多线程与多进程
Qt国际化
AI 核心算法
基础数据结构与算法
算法复杂度分析(时间复杂度、空间复杂度)
线性表:单链表、双向链表、循环链表(定义、遍历、增删改查)
栈与队列:顺序栈、链式栈、循环队列(定义、基本操作)
字符串:字符串匹配、基本操作
二叉树:二叉搜索树、平衡二叉树(遍历、插入、删除)
Hash表:哈希函数、冲突解决(开放定址法、链地址法)
常用排序算法:快速排序、堆排序、插入排序、希尔排序
常用查找算法:顺序查找、二分查找
动态规划基础:状态定义、转移方程、简单案例
AI 数学基础
线性代数:矩阵运算、向量空间、特征值与特征向量、矩阵求导
微积分:导数、偏导数、梯度、极限、积分基础
概率论:概率分布(正态分布、二项分布)、熵、交叉熵、极大似然估计
机器学习基础
机器学习概述:监督学习、无监督学习、半监督学习
经典算法:逻辑回归、决策树、随机森林、SVM、PCA降维
模型评估指标:准确率、召回率、F1值、ROC曲线、AUC值
特征工程:数据归一化、标准化、特征选择、特征转换
Scikit-learn实战:模型训练、评估、保存与加载
深度学习基础
神经网络基本结构:输入层、隐藏层、输出层
激活函数:ReLU、Sigmoid、Softmax及其应用场景
损失函数:MSE、交叉熵、GIoU
优化器:SGD、Adam、学习率调整策略
经典网络架构:CNN(卷积、池化、填充、步长)、ResNet、MobileNet
深度学习框架:PyTorch基础(张量操作、模型定义、数据加载)
PyTorch训练流程:前向传播、反向传播、参数更新
模型保存、加载及ONNX格式导出
TensorFlow/Keras基础:模型构建、训练与部署入门
C++ AI 高性能扩展
CUDA GPU加速
CUDA核心概念:主机(CPU)、设备(GPU)、线程层次(Grid、Block、Thread)
CUDA内存模型:全局内存、共享内存、常量内存
核函数(__global__)定义、调用及执行流程
线程索引计算、CUDA流(Stream)与异步执行
CUDA错误检查与调试方法
Nsight Compute工具使用(核函数性能分析)
推理框架C++接口
CMake工程进阶:跨平台编译、库链接(静态库、动态库)
ONNX Runtime C++ API:环境初始化、模型加载、张量创建与设置
ONNX Runtime推理执行、结果解析与数据转换
TensorRT C++ API:引擎构建(ONNX转Engine)、精度配置(FP32/FP16/INT8)
INT8量化:校准数据集准备、精度校准流程
TensorRT动态形状推理、多批次推理
推理框架常见问题:算子不兼容、精度漂移、维度错误解决方案
自定义TensorRT插件开发基础(YOLOv11后处理层NMS加速)
计算机视觉与AI算子开发
OpenCV核心操作
OpenCV环境搭建(C++/Python)
图像读写与显示(imread、imwrite、imshow)
视频读写(VideoCapture、VideoWriter)
颜色空间转换(BGR、RGB、灰度图、LAB)
图像几何变换(缩放、旋转、平移、翻转)
ROI区域提取、图像滤波(高斯滤波、中值滤波)
边缘检测(Canny算法)及API使用
OpenCV DNN 模块
DNN模块核心流程:模型加载、输入设置、推理执行、结果解析
预训练模型调用与推理验证(YOLOv11)
YOLOv11算子开发
模型输入预处理算子
图像 Resize(保持比例 / 填充)- 对齐模型输入尺寸
像素值归一化(0-1/-1-1)- 匹配训练时预处理
色域转换(RGB→BGR / 归一化)- 框架适配
批量预处理 - OpenMP/CUDA 加速
模型输出后处理算子
边界框解析 - YOLO 输出转坐标
非极大值抑制(NMS)- 去重重叠框
类别映射 - 索引转标签名称
算子C++封装:函数定义、动态库生成
算子性能对比:Python vs C++ vs CUDA实现速度差异分析
YOLOv11核心算法
YOLOv11架构解析:Backbone(C3模块)、Neck(PANet)、Head(Anchor-Free)
YOLOv11改进:Mamba-YOLO(ODMamba骨干网络、RG块、Vision Clue Merge)
损失函数优化:CIoU Loss替代MSE
训练调参实战:学习率调度、数据增强策略(Mosaic/MixUp)配置
模型评估:mAP、FPS、IoU指标计算
算子性能优化
循环展开、内存对齐等C++算子优化技巧
ONNX自定义算子开发:算子定义、导出与校验
AI 模型部署与工程化
模型格式与转换
主流模型格式:ONNX、TorchScript、TensorRT Engine
PyTorch转ONNX:参数配置、动态维度设置、算子兼容处理
TensorFlow转ONNX(tf2onnx工具使用)
模型验证:ONNX Checker校验、推理结果一致性对比(Python vs C++)
高性能推理优化
ONNX Runtime优化:线程数配置、内存池调整、CPU/GPU切换
TensorRT引擎优化:推理精度与速度权衡(FP32→FP16→INT8)
OpenVINO优化:CPU推理性能调优(线程绑定、内存池配置)
TensorFlow→ONNX(tf2onnx 工具)
导出常见问题(算子不兼容 / 维度错误)
跨语言开发
Python调用C++:ctypes库使用、动态库加载、参数类型转换
C++扩展Python:CPython API、扩展模块编写与编译
GIL释放策略与多线程推理性能优化
gRPC跨语言通信:C++服务端+Python客户端(推理服务)
服务化部署
推理服务封装:C++推理核心+FastAPI接口集成
请求限流、超时处理、异常捕获与日志记录
批量推理:任务队列、资源池化、调度策略
容器化部署
Docker基础:镜像构建、容器创建与运行、GPU映射
Dockerfile编写(集成推理框架、依赖库)
K8s基础:集群调度、服务暴露、负载均衡
边缘部署:Jetson Nano环境配置、模型轻量化适配(TensorRT量化)
监控与高可用
推理耗时、资源占用(CPU/GPU/内存)统计
Prometheus+Grafana监控系统搭建(推理延迟、GPU显存占用、吞吐量)
推理服务容错、降级机制实现
综合实战
阶段小实战
FastAPI开发YOLOv11实时检测接口:接口定义(上传图片→返回检测结果)、参数校验、异常处理、文档生成;模型加载、推理执行、结果封装与返回;接口性能测试与优化
C+++TensorRT推理实现:ONNX模型转换为TensorRT Engine;预处理、推理、后处理全流程C++编码;推理速度测试与对比(CPU vs GPU)
PyTorch训练YOLOv11模型:数据集准备(标注、预处理)、模型构建(Backbone/Neck/Head)、训练调参(学习率、数据增强)、模型导出ONNX
Python调用C++推理库及边缘部署:C++推理动态库编译与测试;Python ctypes调用动态库;Jetson Nano环境配置与部署测试
图像分类推理服务(FastAPI+TensorRT)
OCR 推理服务(预处理 + 后处理算子优化)
综合大实战
边缘端YOLOv11目标检测系统
模型层:YOLOv11轻量化训练(Mamba-YOLO)、ONNX导出、TensorRT量化(INT8)
算法层:C++推理核心开发(CUDA加速预处理/后处理)、算子优化(NMS加速)
服务层:gRPC服务端开发(推理请求/响应定义)、请求处理与限流
部署层:Docker镜像构建(多模型版本共存)、Jetson Nano部署
监控层:上位机监控脚本开发(推理速度、精度、功耗)、Prometheus+Grafana可视化
工程规范:Git分支管理、代码评审、文档编写
输出物:完整工程代码、性能报告(速度/精度/功耗)、部署文档、接口文档
0 条评论
下一页