《AI开发者的docker实践》之天池竞赛规范

简介: 本篇介绍天池竞赛规范。

1.数据集挂载

天池大赛数据集默认以只读形式挂载在/tcdata下(训练集+测试集)

因此本地调试时可通过-v 模拟挂载与线上一致

docker run -it-v /your_data:/tcdata registry.cn-shanghai.aliyuncs.com/xxxx/test:0.1 /bin/bash

2.预训练权重

如果大赛允许使用预训练权重等外部数据,则默认以只读形式挂载在/external_data下,一般情况下如果你需要的权重大赛未提供,可向赛题方提出,需要注意的是所有外部数据必须使用官方在线上提供的,否则如自己放在镜像里提交则在代码审核时直接取消名次。

3.持久化存储

如大赛出现超大数据集,常见视频类竞赛,官方会提供持久化存储以方便选手对数据处理、模型训练等耗时操作的中间结果提供持久化存储空间直到大赛结束。

持久化空间默认以可读写的形式挂载在/myspace下,但是需要注意此空间仅为日常调试时使用,最终排行榜最优成绩对应提交需是端到端完整代码运行得出,不能使用存储空间的中间结果。

4.执行入口

大赛一律以镜像的工作空间目录下run.sh为运行入口,且仅以此进程为程序运行状态如结束的标志。

调试时可在本地执行docker run registry.cn-shanghai.aliyuncs.com/xxxx/test:0.1 sh run.sh模拟测试

5.网络环境

天池大赛一律无网络链接,切记镜像内不要有网络操作否则会导致线上运行时由于无网络触达而导致程序卡住。

6.超时时间

一般大赛“容器镜像”页面会注明一个超时时间,此超时时间为你的代码“从开始运行到完整结束”的整个时间限制,如果你的代码仅仅超出这个时间一点(约30min内)则依然会返回成绩但是此成绩不会计入排行,仅能在日志页面内看到,如果超出这个时间许多还没结束,则会被强制清理掉。

另外 如果涉及流评测(后续大赛会逐渐被流评测代替),

7.日常调试提交

如果你本地有满足赛题的计算资源,那么你日常提交时可以提交打包本地训练好的权重仅在线上做预测过程,这样可以快速出分,提高大赛效率,但是这样的提交在最终是无效的 所以一定注意在大赛要求的最后几天(一般是一周)重新提交最优模型的端到端代码完成数据处理到训练预测全流程,否则最后如果最优成绩无完整代码会被直接淘汰,所以切记!

8.自定义镜像

如需自定义镜像,一定要确保镜像内安装了curl,且Dockerfile 中不能使用ENTRYPOINT

9.线上存储空间大小

物理机存储默认为500G 但是有系统、软件、docker镜像等占用空间,实际可用空间建议通过打印获取,一般大赛足够使用,可不必考虑。

10.线上共享内存大小

共享内存大小无特殊说明情况下默认为内存的一半

docker 本地调试时可指定如--shm_size 64 设置与线上环境大小一致

11.流评测工具包AI-HUB

天池大赛已逐渐全面升级为流评测形式,已规避针对测试集做训练、或者以未来测试条件预测当前数据、或工业流水线对单次预测效率严控等情况

安装:pip install ai-hub

ai-hub 的inferServer模块针对天池大赛流评测定制,详情可参考https://github.com/gaoxiaos/AI_HUB

如果自己构建大赛的infer server 则需要注意API接口默认为tccapi 端口为8080 并实现当收到exit请求时服务自动退出能力

12.常用镜像(含国内源和美西源)

天池为大家构建了常用的竞赛镜像仓库,并更新维护。点击直达

tips:

1.如有list中缺失的可在大赛群中提出诉求。

2.list中镜像仓库存放在阿里云上海地域,同地域上传下载速度更快。

13.如何停止正在运行的镜像

点击下方课程链接即可直达如何停止正在运行的镜像视频教程。

https://tianchi.aliyun.com/course/351/4132

14.一直处于waiting状态怎么办

点击下方课程链接即可直达一直处于waiting状态怎么办视频教程。

https://tianchi.aliyun.com/course/351/4136

相关文章
|
6天前
|
人工智能 监控 开发者
在开发者眼中,Docker有怎样通俗易懂的理解方式
【4月更文挑战第27天】Docker是轻量级容器化技术,允许可移植的应用程序及其依赖在任何环境运行,提供快速部署和扩展。它比传统虚拟化更高效,但容器间的资源隔离和管理是个挑战。Docker与AI结合,简化了AI模型部署,实现环境无关性,并支持版本控制和性能监控,提升模型管理效率。然而,复杂模型可能需结合其他工具管理。
21 0
|
6天前
|
SQL 数据库 Docker
OBCP实践 - OceanBase Docker 体验
开发者和技术爱好者可以在无需复杂安装配置的情况下迅速搭建OceanBase数据库环境,从而方便地进行功能测试、性能评估或者开发调试等实践活动。同时,由于Docker的便捷性,此方法也支持跨平台部署,使得OceanBase数据库能够在不同的操作系统(如Linux、Windows、macOS)上轻松体验。
99 2
|
6天前
|
人工智能 NoSQL Serverless
基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
本文主要分享了自己基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
490 6
基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
|
6天前
|
机器学习/深度学习 人工智能 搜索推荐
AI实践应用
AI实践横跨网络安全、软件测试、深度学习、生物识别、日常生活、计算机网络及更多领域。例如,AI用于防御网络攻击、自动化测试、家务机器人、人脸识别、文本编辑、搜索引擎优化、聊天机器人、智能医疗、工业4.0和金融风控。随着技术进步,AI持续推动各行业的数字化与智能化变革。
24 2
|
4天前
|
机器学习/深度学习 人工智能 算法
【AI】从零构建深度学习框架实践
【5月更文挑战第16天】 本文介绍了从零构建一个轻量级的深度学习框架tinynn,旨在帮助读者理解深度学习的基本组件和框架设计。构建过程包括设计框架架构、实现基本功能、模型定义、反向传播算法、训练和推理过程以及性能优化。文章详细阐述了网络层、张量、损失函数、优化器等组件的抽象和实现,并给出了一个基于MNIST数据集的分类示例,与TensorFlow进行了简单对比。tinynn的源代码可在GitHub上找到,目前支持多种层、损失函数和优化器,适用于学习和实验新算法。
58 2
|
5天前
|
Java 数据库连接 Spring
K8S+Docker理论与实践深度集成java面试jvm原理
K8S+Docker理论与实践深度集成java面试jvm原理
|
6天前
|
存储 Ubuntu Linux
Docker 从入门到实践:Docker介绍
Docker 从入门到实践:Docker介绍
|
6天前
|
机器学习/深度学习 人工智能 算法
深入理解与实践:基于AI的软件测试自动化
【5月更文挑战第1天】随着人工智能的不断发展,其在软件测试中的应用也日益广泛。本文将探讨如何利用AI进行软件测试自动化,包括其理论基础、实现方式以及在实际中的应用。我们将通过实例分析,展示AI在提高软件测试效率和质量方面的巨大潜力。
|
6天前
|
机器学习/深度学习 人工智能 算法
【Python 机器学习专栏】强化学习在游戏 AI 中的实践
【4月更文挑战第30天】强化学习在游戏AI中展现巨大潜力,通过与环境交互和奖励信号学习最优策略。适应性强,能自主探索,挖掘出惊人策略。应用包括策略、动作和竞速游戏,如AlphaGo。Python是实现强化学习的常用工具。尽管面临训练时间长和环境复杂性等挑战,但未来强化学习将与其他技术融合,推动游戏AI发展,创造更智能的游戏体验。
|
6天前
|
人工智能 运维 监控
构建高效自动化运维体系:DevOps与AI的融合实践
【4月更文挑战第30天】 在当今快速迭代的软件开发环境中,高效的自动化运维体系成为确保交付速度和服务质量的关键。本文探讨了如何通过整合DevOps理念和人工智能(AI)技术来构建一个更加智能、高效的运维体系。文章将详细阐述自动化运维的核心组件,以及如何利用AI技术优化这些组件的性能和决策过程。通过实际案例分析,本文展示了这种融合实践在提高运维效率、降低错误率以及提升系统稳定性方面的显著成效。

热门文章

最新文章