LSTR环境安装

文章描述了一个使用Transformer架构的车道线检测模型LSTR在旧版Python和PyTorch环境中导出ONNX模型时遇到的问题,包括类型推断警告和形状不匹配错误。作者发现将环境升级到Python3.7或3.8,PyTorch1.12.1后,这些问题可以得到解决,并能成功生成可由TensorRT8.4解析的引擎。文章提供了环境配置和问题解决的步骤。

ane Shape Prediction with Transformers  GitHub - liuruijin17/LSTR: This is an official repository of End-to-end Lane Shape Prediction with Transformers.出来虽然两年了但依然是一个非常优秀的车道线检测模型,可以同来拓展检测其他线形,而且占用资源较少推理速度非常快。但是,它的使用python3.6和torch1.5等软件版本比较老了,写导出的onnx脚本在该环境下导出的onnx用现在比较新的TensorRT8.4来解析生成engine时可能会报错,python3.6下即使把torch升级到1.10.1后也还是存在这个问题,例如用下面的脚本导出onnx:

torch.onnx.export(model,         
         images,       # model input (or a tuple for multiple inputs) 
         onnx_file,       
         export_params=True,  # store the trained parameter weights inside the model file 
         opset_version=11,    
         do_constant_folding=True,  # whether to execute constant folding for optimization 
         input_names = ['images', 'masks'],   # the model's input names 
         output_names = ['output_class', 'output_curve'])

会报错:

/root/anaconda3/envs/lstr/lib/python3.6/site-packages/torch/onnx/symbolic_helper.py:325: UserWarning: Type cannot be inferred, which might cause exported graph to produce incorrect results.
  warnings.warn("Type cannot be inferred, which might cause exported graph to produce incorrect results.")
[W shape_type_inference.cpp:434] Warning: Constant folding in symbolic shape inference fails: shape '[240, 1, 1, 240]' is invalid for input of size 240 (function ComputeConstantFolding)
[W shape_type_inference.cpp:434] Warning: Constant folding in symbolic shape inference fails: shape '[3, 1, 1, 240]' is invalid for input of size 240 (function ComputeConstantFolding)
[W shape_type_inference.cpp:434] Warning: Constant folding in symbolic shape inference fails: shape '[3, 1, 1, 240]' is invalid for input of size 240 (function ComputeConstantFolding)
Traceback (most recent call last):
  File "experiments/ex
<think>好的,我现在需要了解LSTR网络架构。首先,用户可能指的是Lane Shape Prediction with Transformers(LSTR),这是一种用于车道线检测的深度学习模型。让我先回想一下相关的知识。 首先,车道线检测是自动驾驶和计算机视觉中的重要任务。传统方法可能依赖手工特征,而深度学习方法则自动学习特征。Transformer架构在NLP领域很成功,后来被引入到视觉任务中,比如ViT。LSTR可能结合了Transformer来处理车道线检测。 接下来,我需要确认LSTR的结构。根据记忆,LSTR使用Transformer的编码器-解码器结构。编码器处理输入图像,解码器生成车道线的参数。可能使用CNN作为骨干网络提取特征,然后将特征转换为序列输入Transformer。不过,具体细节可能需要查阅论文或者相关资料。 另外,LSTR可能将车道线检测视为参数回归问题,而不是像素级的分类。这样可以直接输出车道线的数学表示,比如多项式曲线的参数。Transformer的自注意力机制可能帮助模型捕捉长距离依赖,这对于弯曲的车道线尤其有用。 可能的关键点包括:基于Transformer的架构、参数回归、端到端训练、处理不同数量车道线的能力。需要检查这些是否正确,有没有遗漏的部分。例如,是否使用位置编码,如何处理不同长度的车道线,训练时用的损失函数等。 还有,可能LSTR与其他方法的对比,比如基于CNN的方法或者传统的图像处理技术。优势可能在于鲁棒性和对复杂场景的适应性。需要确认是否有这样的结论。 可能存在混淆的地方,比如是否使用目标检测的Anchor机制,或者是否结合了其他模块。另外,输入是单张图像还是视频序列?如果是视频,可能需要处理时序信息,但LSTR可能仅处理单帧。 需要验证这些信息是否正确,可能需要参考原始论文。如果我的记忆有误,需要及时纠正。例如,LSTR可能使用DETR类似的架构,
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arnold-FY-Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值