Could you please add DeeplabV3Plus with backbone Mobile Net timm-mobilenetv3_small_075
请说明模型的来源,模型类型(例如图像分类、目标检测等),应用场景(如需要转为Paddle,通过PaddleLite部署到树莓派上,满足XXX需求)
提示 上述有详细描述的issue会让工程师更快了解用户的需求,丰富产品的功能和易用性,相关issue也会被优先处理!!!
你们好, 我参加了AI达人训练营,需要做路面分隔,用到了DeeplabV3Plus with Mobile Net V3, 原因是要跑在Raspberry Pi 4(4GB)这样的edge devices上。
模型来源: PyTorch 模型说明: 图像分类模型,其相应repo为 https://github.com/qubvel/segmentation_models.pytorch/ 模型文件: 链接: https://github.com/qubvel/segmentation_models.pytorch/blob/master/examples/cars%20segmentation%20(camvid).ipynb 请用上面的notebook生成这个模型。
拜托啦
能否提供一下训练好的PyTorch模型以及组网结构,感谢~
你好 @wjj19950828
我对AI还不是太在行。 我用了一个叫做 segmentation_models.pytorch 的Github Project, 使用它我就不需要自己写模型和组网结构。只要几行代码就可以了, 具体代码是这样的:
import torch
import numpy as np
import segmentation_models_pytorch as smp
ENCODER = 'timm-mobilenetv3_small_minimal_100'
ENCODER_WEIGHTS = 'imagenet'
CLASSES = ['road']
ACTIVATION = 'sigmoid' # could be None for logits or 'softmax2d' for multiclass segmentation
DEVICE = 'cuda'
# create segmentation model with pretrained encoder
model = smp.DeepLabV3Plus(
encoder_name=ENCODER,
encoder_weights=ENCODER_WEIGHTS,
in_channels=3,
classes=len(CLASSES),
activation=ACTIVATION,
)
preprocessing_fn = smp.encoders.get_preprocessing_fn(ENCODER, ENCODER_WEIGHTS)
通过看它的源代码 我觉得 这个可能是你们需要的: mobilenetv3_small_075的 backbone在这里 'tf_mobilenetv3_small_075': { 'imagenet': 'https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_mobilenetv3_small_075-da427f52.pth' }, 它在timm_mobilenetv3.py 的里面
至于Deeplabv3Plus的Model 和Encoder 在这里 https://github.com/qubvel/segmentation_models.pytorch/tree/master/segmentation_models_pytorch/deeplabv3
不知道 是否提供够了 你们需要的东西。
如果不够 请告诉我。
多谢啦
Hi, @franva PyTorch转成Paddle模型有两种方式
-
- Pytorch转成ONNX,再将ONNX模型通过X2Paddle转成Paddle模型
-
- 直接使用X2Paddle的接口进行转换
关于第二种方式,可以参考文档 https://github.com/PaddlePaddle/X2Paddle/blob/develop/docs/inference_model_convertor/demo/pytorch2paddle.ipynb
如若转换失败,可再反馈给我们