deeplabv3+训练的ckpt模型Android端部署

本文详细指导如何使用 DeeplabV3+ 的训练模型进行量化处理,包括修改train.py和export_model.py脚本,然后转换为pb模型,进一步转化为TFLite模型,并在Android端进行部署。步骤涉及模型量化、模型导出和在实际应用中的适配。

deeplabv3+训练的ckpt模型Android端部署

接上一篇文章用deeplabV3+训练自己的数据集并导出.pb模型进行可视化测试

一.对deeplabv3+训练的ckpt模型做量化

参考官方文档
修改train.py文件

flags.DEFINE_string('train_logdir', "./datasets/VOC/out",
                    'Where the checkpoint and logs are stored.')
flags.DEFINE_float('base_learning_rate', 3e-5,
                   'The base learning rate for model training.')
flags.DEFINE_integer('training_number_of_steps', 5000,
                     'The number of steps used for training')  ###########  迭代次数
flags.DEFINE_string('tf_initial_checkpoint', "/home/dreamdeck/Downloads/Tensorflow/models-master/research/deeplab/datasets/VOC/trainout/model.ckpt",
                   'The initial checkpoint in tensorflow format.') ##上一步训练好的模型文件
flags.DEFINE_integer(
    'quantize_delay_step', 0,
    'Steps to start quantized training. If < 0, will not quantize model.')

运行train.py

二.量化后的.ckpt模型转.pb模型

修改export_model.py

flags.DEFINE_string('checkpoint_path', "./datasets/VOC/out/model.ckpt", 'Checkpoint path')

flags.DEFINE_string('export_path', "./datasets/VOC/out/frozen_inference_graph.pb",
                    'Path to output Tensorflow frozen graph.')

flags.DEFINE_integer('num_classes', 2, 'Number of classes.')

flags.DEFINE_multi_integer('crop_size', [513, 513],
                           'Crop size [height, width].')
flags.DEFINE_integer(
    'quantize_delay_step', 0<
使用Deeplabv3+训练自定义数据集可以参考以下步骤: 1. **环境搭建**:开发环境可选用windows10、pytorch1.2、pycharm、python3.7、GTX 2070等 [^1]。 2. **数据处理**:在`mydatah`目录下建立新目录`tfrecord`,然后执行以下命令进行数据处理: ```python python deeplab/datasets/build_voc2012_data.py \ --image_folder="/home/lw/data/mydata/image" \ --semantic_segmentation_folder="/home/lw/data/mydata/mask" \ --list_folder="/home/lw/data/mydata/index" \ --image_format="jpg" \ --label_format="png" \ --output_dir="/home/lw/data/mydata/tfrecord" ``` 此命令将指定文件夹中的图像和标签数据处理成特定格式并输出到指定目录 [^2]。 3. **数据集文件创建**:在`dataloaders/datasets`路径下创建自己的数据集文件,例如创建为`mydata.py`。若按照VOC数据集格式,可直接将`pascal.py`内容复制过来修改,需将类别数和数据集改成自己的数据集,类别要加上背景类 [^4]。 4. **模型训练**:进入`models/research`路径,执行以下命令开始训练: ```python python deeplab/train.py \ --logtostderr \ --training_number_of_steps=1000 \ --train_split="train" \ --model_variant="xception_65" \ --atrous_rates=6 \ --atrous_rates=12 \ --atrous_rates=18 \ --output_stride=16 \ --decoder_output_stride=4 \ --train_crop_size="513,513" \ --train_batch_size=2 \ --fine_tune_batch_norm=false \ --dataset="mydata" \ --tf_initial_checkpoint=&#39;/home/lw/data/cityscapes/deeplabv3_cityscapes_train/model.ckpt&#39; \ --train_logdir=&#39;/home/lw/data/mydata/train&#39; \ --dataset_dir=&#39;/home/lw/data/mydata/tfrecord&#39; ``` 该命令设置了训练的各种参数,如训练步数、模型变体、空洞率等 [^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值