NLP实践-中文预训练模型泛化能力挑战赛Task01

NLP实践-中文预训练模型泛化能力挑战赛Task01

Docker的使用

Docker用于打包应用以及依赖包到一个轻量级、可移植的容器中。实现了类似虚拟化的功能

Docker容器通过Docker镜像来创建。

两者的关系类似于面向对象编程的对象与类。

Docker面向对象
容器对象
镜像
docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

作用:下载基础镜像,可在此基础镜像的基础上构建新的镜像。

参考: Docker完全自学手册

docker 使用流程

  • 构建新的镜像

    1、新建文件夹(例如tianchi_submit_demo)用于存放构建此次镜像所需的文件

    2、Dockerfile :配置文件 用于构建镜像。文件中包含一组命令,来告诉 Docker 如何构建我们的镜像。每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

    # Base Images
    ## 从天池基础镜像构建
    FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
    
    ## 把当前文件夹里的文件构建到镜像的根目录下
    ADD . /
    
    ## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
    WORKDIR /
    
    ## 镜像启动后统一执行 sh run.sh
    CMD ["sh", "run.sh"]
    

    第一条FROM,指定使用哪个镜像源(即指定为刚才pull下来的基础源)

    3、构建镜像

    docker build -t registry.cnshenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .
    

    -t 用于指定要创建的目标镜像名

    :1.0 为自己指定的版本号,用于区分每次build的镜像。

    . Dockerfile 文件所在目录

  • 构建完之后检验是否能正常运行

    CPU镜像:docker run your_image sh run.sh

    GPU镜像:nvidia-docker run your_image sh run.sh

    命令各参数解析:

    ​ docker:Docker的二进制可执行文件

    ​ run :与前面的docker组合来运行容器

    ​ Your_image: 指定要运行的镜像。docker首先会在主机上查找镜像,若没有则会在仓库Docker hub下载公共镜像。

    ​ sh run.sh:在启动的容器里执行的命令

  • 将镜像推送是阿里镜像仓库

    #登陆
    sudo docker login --username=xxxx registry.cn-shanghai.aliyuncs.com
    
    #为镜像添加一个新标签  添加标签这一步其实在build的时候添加过了
    sudo docker tag [ImageId] registry.~~~:[镜像版本号]
    
    #将镜像推送到仓库
    sudo docker push registry.~~~~:[镜像版本号]
    

    其中,xxxx是自己的阿里云账号的用户名 ,密码为开通服务时设置的密码

    ​ registry.~~~ 用自己的仓库地址替换

    ​ [ImageId]是你之前创建的镜像的id

    ​ [镜像版本号]用于指定要推送的镜像版本

    注:使用sudo时,一开始输入的是你主机密码

模型准备与训练

按照baseline中的提示一步一步进行就行。

遇到的坑:下载bert预训练模型的vocab.txt文件时,点击下载按钮,会进入预览而不是下载。

解决方法:使用wget下载 , 教程可参见:wget的使用方法详解

结果的提交

  • 模型训练完成后,运行inference.py,会在submission文件夹中得到三个任务的预测结果,将这三个.json文件压缩,并命名成result.zip。

  • 在submisson中构建镜像并上传到阿里云镜像仓库中,具体步骤见 <docker使用流程>

  • 在比赛页面中提交镜像,提交页面如下

    image-20210220145415621

    用户名和密码为阿里云账户的用户名密码

提交后成绩如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值