# unet项目全流程 **Repository Path**: dogeblog/unet ## Basic Information - **Project Name**: unet项目全流程 - **Description**: 基于unet的语义分割 包括标注数据转训练数据 训练 训练结束后转tensorrt并部署 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 2 - **Created**: 2021-04-29 - **Last Updated**: 2024-11-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # unet全流程 ![效果图](https://images.gitee.com/uploads/images/2021/0531/152816_edb4fdca_8329661.png "屏幕截图.png") #### 介绍 基于unet的语义分割。 包括标注,标注结果转训练集,数据集训练,训练结束后转tensorrt,tensorrt客户端部署。 **tensorrt部署后,640*360的图,在rtx3090推理时间4-5ms** #### 原始代码来源 1. unet代码源于https://github.com/milesial/Pytorch-UNet 2. tensorrt代码源于https://github.com/wang-xinyu/tensorrtx 与 https://github.com/YuzhouPeng/unet-tensorrt #### 1.标注 参考https://gitee.com/doge_ac_cn/labelme#installation #### 2.生成unet训练的数据集 1.先把labelme标注的结果放在 labelme绘制mask/labelme 文件夹下。 2.然后先后运行labelme2coco.py和genneratemask.py,分别生成coco标注文件和mask文件。 #### 3.训练 1.把原图和mask分别拷贝到 Pytorch-UNet/data 的img和mask文件夹下 2.运行train.py 3.命令行输入tensorboard --logdir=runs 然后进入http://localhost:6006/ 即可查看运行的loss值,学习率,验证集效果。 #### 4.转tensorrt 的 推理 engine 看unet2tensorrt的readme即可 这里直接转的话,会与python的结果有误差 详情见作者的issue https://github.com/wang-xinyu/tensorrtx/issues/526 与 https://github.com/YuzhouPeng/unet-tensorrt/issues/8 #### 5.flask写了个简易版本的web服务,用于接收图片url,返回识别结果。 项目server端源自nvidia官方的triton server https://github.com/triton-inference-server client改于yolov4的client https://github.com/isarsoft/yolov4-triton-tensorrt 详细见trition_client