# P2024AlgDocker **Repository Path**: aprogrotess/p2024-alg-docker ## Basic Information - **Project Name**: P2024AlgDocker - **Description**: 医工所对外算法docker打包仓库, 每个对外算法包含相关的推理脚本、分析脚本、使用说明等。 - **Primary Language**: Python - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-06 - **Last Updated**: 2025-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 仓库说明 - 此仓库一般用于归档眼科影像模态算法的代码封装文件 - 代码封装一般只进行如下封装: - 模块化需求:删减、封装分析算法的Python代码 - 网络需求: 使用FastAPI封为web服务,并添加Client远程调用代码 - 快速部署需求:使用Dockerfile语法进行代码环境、执行的封装,最终交付DockerImage和启动的sh脚本 - 效率优化需求:首先统计模块化算法的cprofile,profiler统计性能并输出文件,然后一般将尝试以下内容 - 优化计算数据精度 - 调试并固定非定值函数超参 - 算法处理库替换 - 模型量化(fp16/int8) - PyBind11计算逻辑卸载Cpp - 计算设备API(librga->NPU, OpenCV-Backend)等,卸载计算到专用图形设备 - 离线集成需求:使用部署器将代码重新写为对应的Python以及Cpp格式,通常支持如下 - OpenVINO: > intel 12th - TensorRT: NVIDIA Cuda GPU - ONNX: normal device - TVM: ARM GPU(一般不考虑) - Ascend-CL: 华为昇腾310B - 仓库将会归档集成一些总线通信方案,并给出示例用于应对医疗设备审查问题 - Modbus RTU/TCP - Serial - SPI Master/SPI Slave - I2C Master/I2C Slave - CAN - libUSB(Master)/USB Slave ## 其他文档 - 通用文档 - nvidia docker安装.md - 不同平台打包模型性能评估.md - 打包常见镜像.md - 打包指南.md - 机械革命极光pro性能测试.md - 香橙派性能测试文档.md - DeviceDriver: 外设驱动 - CH32V203C8T6_Transfer: 沁恒CH32 USB2.0开发板, 仅实现单个USB Slave代码 - CH343G_Transfer: 沁恒CH343G高速485模块,实现控制,文件传输功能 - Pico_Transfer: Pico转SPI和华为开发板通信示例,失败,当作备选思路存档 - STP23L_Distance: STP32L单点激光(TOF)测距传感器驱动Python移植代码,忽略了模块停止/复位等指令 - ModelOptimize: 模型优化 - nncf-example: 使用intel nncf框架进行`模型部署优化` - cls-imagenet200-compression-example: nncf权重压缩示例 - cls-imagenet200-quantization-example: nncf模型量化示例 - nni-example: 使用microsoft nni框架进行`模型优化` - cls-mnist-pruning-example: nni模型剪枝示例 - cls-mnist-quantization-example: nni模型量化示例 ## 打包信息汇总 - Funds: - FundsGrade: 眼底评级 - ConvNeXt: 基于ConvNeXt的5级眼底评级,来自外部模型归档 - official-onnxruntime: GlauClsDRGrading官方执行版本 - Densenet121-5: 基于Dense121的5级眼底评级 - 仅运算: python 命令行 docker - py-openvino-without-optimize: 用于集成到pyside6的特化版本 - api: python api docker - openvino-cpu-win-msvc2019: cpu版本的cpp部署代码, linux测试通过 - cpp(msvc2019) Windows OpenVINO intel CPU(i7-7800X) - cpp(gcc-11) Ubuntu 22 OpenVINO intel CPU(i7-12700H) - tensorrt-gpu-win-msvc2019: gpu版本的cpp部署代码, linux测试通过 - cpp(msvc2019) Windows tensorrt nvidia GPU(RTX 3090 CUDA11.8 DNN8) - cpp(gcc-11) Ubuntu 22 tensorrt nvidia GPU(RTX 2050 CUDA11.8 DNN8) - ascend-aci: NPU晟腾310B CANN 7.0 Python代码 - ascend-torch-npu: NPU晟腾310B测试性质的pytorch-npu移植 - param-summary: Funds Densenet121参数统计脚本 - ResNet50: 基于ResNet的眼底评级,包含判别以及分级 - FundsEnhance - StillGAN: Funds通用增强 - 仅运算: python 命令行 docker - openvino-cpu: cpu版本的cpp部署代码, linux未测试 - ascend-aci: NPU晟腾310B CANN 7.0 Python代码 - ascend-aci-cpp: NPU晟腾310B CANN 7.0 CPP代码 - param-summary: Funds StillGAN参数统计脚本 - OCT: - OCT分层 - nnunet-五层 - 仅运算: python 命令行 docker - api命令行:python (api + 命令行) docker - api优化: python api nnunet性能优化 docker - deeplabv3-五层 - 仅运算: python 命令行 docker - api-orin: python api 仅保留概率图 orin docker - gradio-ui: 基于gradio的层厚可视化ui - ascend-aci: NPU晟腾310B CANN 7.0 Python代码 - param-summary: OCT deeplabv3参数统计脚本 - optovue层厚计算 - api分层-orin: 针对orin打包的nnunet iGPU api - api计算(优化)-orin: 针对orin打包的层厚api - react-ui: 层厚可视化ui - OCTA: - OCTA分割 - CSNet: 神经分割 - nerveformer: 神经分割 - CeilCSNet: 神经分割+细胞分割 - CeilNerveformer: 神经分割+细胞分割 - Zeiss-Faz: faz区域分割 - Zeiss-Inter: 动静脉以及faz区域分割 - Zeiss-大血管: 大血管分割 - Zeiss-小血管: 小血管分割 - OCTA增强 - StillGAN: OCTA通用增强