针对各位同学在无人车比赛海选赛阶段二(HiLens赛题)碰到的诸多问题。
这里我们把同学们提问较多的问题集中整理,便于其他有需要的同学查询,快速定位解决类似问题。
一、模型转换相关
1. 在ModelArts或者HiLens控制台转换得到的模型,在HiLens Studio中无法加载,或者推理时得到的是一个int值,这是怎么回事?
使用ModelArts中带有“HiLens”后缀的模板转换得到的模型,与HiLens Studio才是兼容的;
如果确定模型可以转换,也可以直接在Studio的Terminal里面进行模型转换,参考:https://support.huaweicloud.com/usermanual-hilens/hilens_02_0098.html
2. 在ModelArts或者HiLens控制台进行模型转换时,报错 Internal service error 或者 convert timeout,并没有更详细的错误信息,怎么办?
很抱歉平台有时候会出现这样的问题,需要提供更详细的模型信息才能定位,请单独发帖附上原始模型或者通过无人车微信群联系我们。
3. 在HiLens Studio中进行模型转换时,出现错误提示我去看日志,但是日志在哪里呢?
很抱歉因为一些权限问题,Studio中的模型转换日志无法打开,请优先使用ModelArts进行模型转换。
二、技能开发相关
1. 在ModelArts中验证精度很高的模型,在HiLens Studio中测试效果却很差,这是怎么回事?
如果是使用ModelArts的预置算法或者AI市场上的算法,出现精度差异问题可能有以下几个原因:
-
预处理问题,比如模型训练时用的是RGB格式,在HiLens推理时用了BGR;模型输入是等比例缩放加padding(尤其是对于416*416这种方形输入),而HiLens里面是直接缩放;
模型的正确预处理步骤可以在ModelArts训练输出目录中的customize_service.py中找到。
参数问题,比如yolo3模型在解码时依赖anchors,这些anchors必须和训练时的anchors保持一致,同样的这些参数可以在customize_service.py中找到。
-
类别顺序问题,同学们输出结果时类别顺序一定要与模板中的类别顺序一致,如果自己的模型输出顺序不一样,做一个简单的映射即可,比如 “speed_limited”类,在模板中是第 0 个,在你的模型中是第 3 个,那么当你推理得到类别 3 的检测框时,输出时将类别改为 0 。你的模型类别顺序可以在ModelArts训练输出目录中的index文件中找到。
2. 必须使用模板中的代码做检测吗,如果换成其他算法技能应该怎么开发?
无人车比赛的模板使用的是yolo3算法做示例,使用其他检测算法(如ssd)也是可以的,但是utils.py是针对yolo3的后处理而写的,如果换成其他算法,需要改写后处理部分,如果是ModelArts上训练的模型同样可以参考customize_service.py,里面有相应的后处理逻辑。
3. 提交作品时工程目录有什么要求,哪些可以保留哪些可以删除?
技能代码(包括start.py)当然是必须的,除此之外,test目录必须保留,但是里面的图片和视频可以删除。不用的模型建议删除,调试阶段的一些输出(包括输出到模拟器那部分)建议删除,因为会影响到最终的性能得分。如果整个工程不超过100MB,可以直接在Studio中右键下载(下下来是一个tar文件)并提交到大赛平台;如果超过100MB,可以在Studio中导出到OBS再下载(这时下下来是一个zip文件),解压出来后再用 tar -c 命令打包成tar包再提交(可能需要安装压缩软件)。
三、判分相关
1. 判分标准中的性能得分提到测试视频的FPS,请问测试视频是固定的吗?它的FPS跟模板中样例视频是否相同?
判分用的测试视频是固定的,跟样例视频类似,FPS都在30以内,同学们只要不是用的超大模型,性能得分很容易拿高分甚至满分的。
2. 我是XX时候提交的作品,怎么到XX了还没出分数?
判分脚本是自动运行的,会从大赛平台拉取大家的作品自动判分;但是有时候作品太多太大,或者网络拥堵,可能造成判分滞后,请谅解。如果长时间没看到分数,可以单独联系我们~
3. 为什么我在不同时间段提交了相同的作品,得分却不一致?
因为有考虑性能得分,而在服务器上运行技能并不能保证每次运行时间都一致(也要考虑服务器那个时段的负载情况,已经使用了多次判分取平均手段),因此出现相同作品得分有偏差的情况,请理解。
而且相同作品的得分偏差通常都在小数点后3位,极个别出现在第2位,如果发现得分偏差大,请单独联系我们~
4. 我的模型明明测试效果不错,为什么判分却很低?
首先请参考第二大点里面的第一条,排除预处理、类别顺序等问题。如果在模板中的样例视频上表现很好,最终判分很低(比如<0.3),请单独联系我们~

