天池数据竞赛docker提交操作学习

2023-11-19

天池数据竞赛docker提交操作学习

由于最近天池的比赛都要求使用docker来提交结果,所以在此记录一下docker提交到天池的整个流程。

目前正在做的,全球人工智能技术创新大赛【热身赛二】比赛链接:

https://tianchi.aliyun.com/competition/entrance/531865/introduction?spm=5176.12281976.0.0.293d22c674IJ5i

1 创建仓库

  这部分也是最简单的,按照天池官方的教程,创建好仓库,设置好账号密码就可以了。官方教程地址:https://tianchi.aliyun.com/competition/entrance/231759/tab/174?spm=5176.12586973.0.0.51948f15XY1Pvj

2 代码路径问题

  在把代码移植到docker之前,需要更改一下原来代码中的路径问题。比如我要打包的代码路径是这样的。

在这里插入图片描述

  其中code就是代码部分,外面这些文件都会打包到dokcer的根目录下,所以代码中的路径最好是改成绝对路径,不要使用相对路径。

  举个例子,比如现在要读取data文件夹下的数据,相对路径的写法就是’…/data/xxx.csv’,而绝对路径的写法就是’data/xxx.csv’

3 docker命令

3.1 拉取镜像

  首先我们需要从天池的官方镜像中拉一个镜像下来,如果不是官方镜像,存在运行不了的可能。镜像的链接:https://tianchi.aliyun.com/forum/postDetail?spm=5176.12586973.0.0.51948f15XY1Pvj&postId=67720

  采用docker pull加上镜像的路径就可以pull下来了。

  注意:windows的docker默认是存在c盘的,一个镜像就会占10个G内存

  比如我要使用pytorch的镜像,就先打开windows docker,等待启动后,在命令行输入 docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/pytorch:1.4-cuda10.1-py3 ,就完成拉取了。拉取下来后,以后要使用这个镜像构建容器时,都不再需要pull了。

3.2 文件构成

  然后就是在工作目录下,写一个Dockerfile来构建docker,Dockerfile的写法网上有很多参考,这里我把我的Dockerfile文件放上来。

FROM registry.cn-shanghai.aliyuncs.com/tcc-public/pytorch:1.4-cuda10.1-py3
ADD . /
WORKDIR /
RUN pip --no-cache-dir install  -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple

  requirements.txt文件是需要安装的包,比如我要安装1.1.2版本的pandas,就直接在里面写pandas==1.1.2 ,每个包之间用回车隔开。

  最后就是run.sh文件,里面只需要写执行python程序的代码就行了,比如我的里面写的是python code/baseline.py,运行这个sh文件时,就会自动去执行code文件夹下的baseline.py文件。

3.3 打包镜像

  文件都准备好以后,就可以开始打包了,首先把所有文件都打包在一起,使用docker build -t test .命令,其中test就是打包好的dokcer的名字,最后有个小数点不能去掉。
  打包好以后,就可以在本地测试运行一下了,windows docker不能使用gpu运行,所以使用docker run -v /data:/tcdata test:latest sh run.sh ,把data挂载在tcdata下,就可以开始运行了。其中latest是默认的test镜像的版本号。

  注意:如果比赛说明中,测试集是数据从data文件夹挂载在tcdata文件夹下的,那么我个人觉得,本地测试的时候可以,把测试的数据放进data文件夹下,代码中读数据的时候就读data文件夹。而交上去的时候,本地文件的data就做一个空文件夹,然后代码中要读这个data文件的地方,都写成tcdata。

3.3 docker推送

  这部分直接按照天池官方的教程走就可以了,首先就是登录,使用命令“docker login --username=用户名 registry.cn-shenzhen.aliyuncs.com” ,然后输入密码就可以成功。

  然后是“docker tag 镜像ID 仓库地址:版本号”,其中镜像ID可以从docker images中查看对应的镜像的ID。

  最后是“docker push 仓库地址:版本号”,然后把这个“仓库地址:版本号”,提交到天池对应的比赛提交入口就完成提交了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

天池数据竞赛docker提交操作学习 的相关文章

随机推荐

  • 自己封装一个类express路由框架

    今天用了Node封装一个简单的类似express框架的路由 首先先看看 没封装 之前的server路由代码 const http require http const url require url const ejs require ej
  • Java变量与常量书写方式与规范

    变量 变量是什么 变量是可以变化的量 Java是一种强类型语言 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元 其要素包括变量名 变量类型和作用域 type varName value varName value 数据类型
  • 链表指定区间反转

    题目 反转从位置 m 到 n 的链表 请使用一趟扫描完成反转 说明 1 m n 链表长度 输入 1 gt 2 gt 3 gt 4 gt 5 gt NULL m 2 n 4 输出 1 gt 4 gt 3 gt 2 gt 5 gt NULL 头
  • java公钥签名,ping++ java验签(签名,公钥,charge)怎么获取

    packageexample importjava io FileInputStream importjava security InvalidKeyException importjava security KeyFactory impo
  • Halcon模板匹配

    Halcon模板匹配 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 原理 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 读取图像 转灰度图 dev close window dev open
  • vue项目打包部署到linux tomcat服务器,解决一刷新就报错404问题

    1 部署到服务器前 更改webpack配置 修改index js中以下配置 2 运行npm run build 或者cnpm run build命令 打包完成后 在项目的根目录dist文件下生成了如下文件 3 tomcat的webapps创
  • 问题解决——使用串口调试助手发送控制字符 协议指令 <ESC>!?

    问题解决 使用串口调试助手发送控制字符 协议指令 参考文章 1 问题解决 使用串口调试助手发送控制字符 协议指令 2 https www cnblogs com wlsandwho p 4202094 html 备忘一下
  • 丁鹏:多角度回顾因果推断的模型方法

    来源 集智俱乐部 本文约23000字 建议阅读20 分钟 本文整理自丁鹏老师的8篇短文 从多角度回顾了因果推断的各种模型方法 导读 推断因果关系 是人类思想史与科学史上的重要主题 现代因果推断的研究 始于约尔 辛普森悖论 经由鲁宾因果模型
  • 云服务器是什么? 云服务器有哪些选择?

    欢迎前往我的个人博客云服务器查看更多关于云服务器和建站等相关文章 随着互联网技术的发展和云计算技术的应用 越来越多的企业倾向于使用云服务器来满足其不断增长的计算需求 云服务器是一种基于云计算技术的虚拟服务器 它能够为企业提供高性能 可靠 灵
  • 【算法竞赛】Python快速入门指南

    该指南由GPT4编写 用于快速入门蓝桥杯Python组 当然 仅限入门而已 本指南由GPT 4生成 我只是负责引导 并对内容进行整理和补充 一直以来我都是使用C 作为算法竞赛语言 但是奈何C 组太卷 自己又太菜 于是另谋他路 Prompt模
  • 【AD20】快速且只选中部分自己想要的同类型的元件

    在project属性框里面 可以选择所有如下图所示内容 这个是一个过滤器 里面有多种小选项 比如 Components 元件 Pads 焊盘 Texts 文本 选择哪个就只能选择对应的部分 比如 只选择文本 在画图区域 框选 发现只有文本才
  • 数位拆分

    4 数位拆分v1 0 现有一个4位数的正整数n 4321 即n是一个已知的数 固定为4321 编写程序将其拆分为两个2位数的正整数43和21 计算并输出拆分后的两个数的加 减 乘 除和求余的结果 例如n 4321 设拆分后的两个整数为a b
  • 【目标检测】OneNet: Towards End-to-End One-Stage Object Detection

    label assignment是指 在训练过程中如何将某个prediction指定给某个GT 用于计算损失 训练网络 对于上一篇文章 他们首先用one to one label assignment替换了one to many label
  • 生信学习——Linux必做20题(附详细答案解读)

    题目列表 1 在任意文件夹下面创建形如 1 2 3 4 5 6 7 8 9 格式的文件夹系列 2 在创建好的文件夹 home qiime2 Desktop test 1 2 3 4 5 6 7 8 9 下创建文本文件 me txt 3 在文
  • C#中unsafe的使用

    1 unsafe在C 程序中的使用场合 实时应用 采用指针来提高性能 引用非 net DLL提供的如C 编写的外部函数 需要指针来传递该函数 调试 用以检测程序在运行过程中的内存使用状况 2 使用unsafe的利弊 好处是 性能和灵活性提高
  • python 分段拟合 判别_利用Python检验你的策略参数是否过拟合(转)

    过拟合现象 一般来说 量化研究员在优化其交易策略参数时难免会面临这样一个问题 优化过后的策略在样本内表现一般来说均会超过其在样本外的表现 即参数过拟合 对于参数优化来说 由于优化时存在噪音 过拟合是不可避免的现象 然而为了追求策略的稳定性
  • unity期末作业-插针游戏

    unity期末作业 插针游戏 附下载链接 鼠标控制针的发射 圆盘可以显示接住的针数目 若两根针碰到则界面变红 游戏结束 详细情况如下动态图 点我下载 https download csdn net download weixin 43474
  • 从云到「链」,京东云成为中国第四朵云背后

    在产业加速到数实融合加速的今年 云计算不再是云厂商的唯一考校指标 作者 叶子 出品 产业家 京东云再次破圈 信号来自接连发布的几份报告 在国际权威研究机构Forrester发布的名为 The Forrester Wave Public Cl
  • maven官网下载bin.tar.gz和bin.zip以及src.tar.gz和src.zip的区别

    maven官网http maven apache org download cgi 去官网下载的时候不知道选哪个 现在记录一下 首先弄清楚各后缀的含义 1 bin代表二进制class文件 由java文件编译而成 src代表源码 java源码
  • 天池数据竞赛docker提交操作学习

    天池数据竞赛docker提交操作学习 由于最近天池的比赛都要求使用docker来提交结果 所以在此记录一下docker提交到天池的整个流程 目前正在做的 全球人工智能技术创新大赛 热身赛二 比赛链接 https tianchi aliyun