全球人工智能技术创新大赛【热身赛一】布匹疵点智能识别:比赛全流程体验(baseline训练+Docker提交)

简介: 全球人工智能技术创新大赛【热身赛一】布匹疵点智能识别:比赛全流程体验(baseline训练+Docker提交)

相关链接:

天池:全球人工智能技术创新大赛【热身赛一】布匹疵点智能识别

阿里云容器镜像服务平台

datawhale学习计划以及baseline的代码下载地址

训练以及镜像构建全是在 windows10 专业版 上完成的。主要为了先完成流程,并不关心代码本身。参考着赵大佬的博客,完成了本次的比赛流程体验。于是结合着博客的主要核心内容,以及我自己遇到的坑和解决方案,完成了本篇文章。

一.完成baseline的训练

本该运行train.sh

  • 当前文件目录打开git bash
  • 输入source activate virtual_name激活你的虚拟环境
  • 输入python train.sh去运行

但是由于存在一些坑点,我们不这么做,正确的步骤是:

1.首先运行convertTrainLabel.py,当前目录生成了convertor文件夹,这是解析json文件的过程。

2.接下来运行process_data_yolo.py,当前目录生成process_data文件夹,这是数据预处理过程。

注意要生成train和val数据集,因此将process_data_yolo.py中的val替换成train再运行一次。

3.train.py 文件121行附近作如下修改

4.直接运行train.py,它提示你在weights中加入best.pt,我们可以下载预训练权重

YOLOV5预训练权重下载

在yolo.py文件中可以看到,默认使用的是yolov5s,所以下载yolov5s的预训练权重就行了,该名称best.pt放入到weight文件夹中

5.再次运行train.py,有可能会出现显存不够的情况

train.py 364行附近

修改默认批次,我直接修改成了1

6.运行train.py,终于通了

15分钟一轮,训练了8轮,感觉差不多了,就暂停了,毕竟先要完成流程,提高分数是后续的事情了。

二.镜像打包并上传到镜像仓库

2.1首先在阿里云容器服务平台创建本次比赛的镜像仓库

win10使用Docker以及在天池比赛上提交容器镜像文件

2.2准备所需的文件

天池准备的常用基础镜像

由于pytorch1.4为老版本,不能读取pytorch1.7版本的best.pt

修改

ckpt = torch.load('best.pt', map_location=device)    # 读取best.pt权重
torch.save(ckpt, 'new.pt', _use_new_zipfile_serialization=False)    # 使用旧的方式保存

创建一个文件夹(名字自己起),把除了数据集的所有文件全部copy到该目录下。

requirements不要动

run.sh 原来里面改成(因为比赛测试文件就是存这里的)

python detect.py --source ./tcdata/guangdong1_round2_testB_20191024

创建Dockerfile(无后缀),文件内容如下

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

2.3创建镜像

在该目录用powershell打开

  • 登入阿里云上自己创建的镜像仓库
  • 进行docker build -t …
  • 查看镜像id:docker images
  • 进入容器:docker run -it 你自己的镜像 /bin/bash


2.4往容器中安装必要的包

pip用镜像源 安装这三个包

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy

进入python模式

python
>>>import cv2

如果出现报错(如果没有直接进入2.5保存镜像环节)

返回命令行模式

>>>exit()

进行下面步骤

docker 容器内没有vi/vim,只能通过这种方式修改成阿里源

cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
EOF

接下来

apt update
apt install libgl1-mesa-glx
apt-get install -y libglib2.0-0

2.5保存镜像

1.退出但不关闭容器 ctrl+p+q

2.docker ps 查看 容器的id

注意是 容器的id 不是镜像的 id

3.将容器保存为镜像

docker commit 你的容器id  registry.cn……….(自己的仓库地址)……….:1.0

4.查看镜像

docker images

5.测试镜像

docker run 你的镜像id sh run.sh

因为tcdata是空的,所以报错也很正常

6.推送镜像

docker push  registry.cn……….(自己的仓库地址)……….:1.0

这样子的结果就是推送成功了

在比赛中提交结果,约等待半小时左右,结果就出来了。

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
1464 108
|
机器学习/深度学习 人工智能 自然语言处理
人工智能技术的探讨
人工智能的概念,人工智能的发展,人工智能的各种学派,人工智能的应用领域
594 4
|
人工智能 语音技术
推动人工智能技术和产业变革,啥是核心驱动力?生成式人工智能认证(GAI认证)揭秘答案
人工智能(AI)正以前所未有的速度重塑世界,其发展离不开领军人才与创新生态的支持。文章探讨了AI领军人才的核心特质及培养路径,强调构建产学研深度融合的创新生态,并通过教育变革与GAI认证提升全民AI素养,为技术与产业变革提供持续动力。这不仅是推动社会高质量发展的关键,也为个人与企业带来了更多机遇。
|
机器学习/深度学习 人工智能 自然语言处理
人工智能:有多少人工,才能有多少智能?
当下AI大模型的能力,特别是Agent领域,到底离不开多少“人工”的加持?本文将结合我的实际经验,深入探讨高质量数据与有效评价体系在Agent发展中的决定性作用,并通过编码Agent、Web Agent和GUI Agent的成熟度分析,揭示AI智能体发展面临的挑战与机遇。
468 89
|
机器学习/深度学习 人工智能 自然语言处理
生成式人工智能的价值回归:重塑技术、社会与个体的发展轨迹
生成式人工智能(Generative AI)正以前所未有的速度重塑社会面貌。它从单一决策工具转变为创造性生产力引擎,推动知识生产、艺术创作与科学研究的发展。同时,其广泛应用引发社会生产力和生产关系的深刻变革,带来就业结构变化与社会公平挑战。此外,生成式AI还面临伦理法律问题,如透明性、责任归属及知识产权等。培生公司推出的生成式AI认证项目,旨在培养专业人才,促进技术与人文融合,助力技术可持续发展。总体而言,生成式AI正从工具属性向赋能属性升华,成为推动社会进步的新引擎。
|
11月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
8685 8
|
11月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
828 2
|
12月前
|
机器学习/深度学习 人工智能 供应链
决策智能是新的人工智能平台吗?
决策智能融合数据、决策与行动,通过AI与自动化技术提升企业决策质量与效率,支持从辅助到自动化的多级决策模式,推动业务敏捷性与价值转化。
|
人工智能 自然语言处理 API
MCP与A2A协议比较:人工智能系统互联与协作的技术基础架构
本文深入解析了人工智能领域的两项关键基础设施协议:模型上下文协议(MCP)与代理对代理协议(A2A)。MCP由Anthropic开发,专注于标准化AI模型与外部工具和数据源的连接,降低系统集成复杂度;A2A由Google发布,旨在实现不同AI代理间的跨平台协作。两者虽有相似之处,但在设计目标与应用场景上互为补充。文章通过具体示例分析了两种协议的技术差异及适用场景,并探讨了其在企业工作流自动化、医疗信息系统和软件工程中的应用。最后,文章强调了整合MCP与A2A构建协同AI系统架构的重要性,为未来AI技术生态系统的演进提供了方向。
2108 62
|
机器学习/深度学习 人工智能 自动驾驶
人机融合智能 | 以人为中心的人工智能伦理体系
本章探讨“以人为中心”的人工智能伦理体系,分析人工智能伦理与传统伦理学的关系、主要分支内容及核心原则。随着人工智能技术快速发展,其在推动社会进步的同时也引发了隐私、公平、责任等伦理问题。文章指出,人工智能伦理需融入传统伦理框架,并构建适应智能技术发展的新型伦理规范体系,以确保技术发展符合人类价值观和利益。
643 4

热门文章

最新文章