546. Google - Isolated Sign Language Recognition | asl-signs
感谢组织者和Kaggle举办这个有趣的挑战赛。
我特别喜欢严格的推理时间限制,这使得模型大小保持合理,并要求我们使用一些实用技巧。
我从@hengck23的精彩讨论和notebook开始。再次感谢分享了许多有用的技巧!
我做的更改如下:
详细信息请参考代码。(计划上传)
我太懒了,不想在TensorFlow数据集中实现数据增强,所以我继续使用PyTorch训练流程。但我发现,通过onnx_tf转换的模型推理速度比纯TensorFlow模型慢得多。然后我尝试了一些模型转换框架,如nobuco,但由于某些原因出现了太多错误。最后,我决定在PyTorch和TensorFlow中都编写模型架构,然后手动移植权重。幸运的是,HuggingFace同时提供了PyTorch和TensorFlow的CLIP实现,这项工作比我想象的要容易。这显著加快了推理速度,我可以在集成时放入更多模型。
我尝试在相同的精度范围内尽可能多样化模型。
| 种子 | 层数 | 维度 | 激活函数 | 最大长度 | 特征 |
|---|---|---|---|---|---|
| 0 | 2 | 384 | relu | 64 | 嘴唇/手部 |
| 1 | 3 | 256 | relu | 48 | 嘴唇/手部/眼睛/运动 |
| 2 | 2 | 384 | geru | 64 | 嘴唇/手部 |
| 3 | 2 | 384 | geru | 64 | 嘴唇/手部/眼睛/运动 |
| 4 | 3 | 256 | geru | 48 | 嘴唇/手部/眼睛/运动 |
分数如下:
| 公开榜 | 私有榜 | |
|---|---|---|
| 单个最佳模型 | 0.786 | 0.865 |
| 集成5个模型 | 0.794 | 0.87 |