全球人工智能技术创新大赛之布匹疵点智能识别 task1

文章目录

  • 1.程序代码跑通
  • 1.1 代码结构
    • 1.2 step1:下载数据集
    • 1.3 step2:训练网络
    • 1.4 上传前的收尾操作
  • 2. Docker上载
  • 2. Docker安装
  • 3. 创建镜像仓库
  • 4. 构建镜像
  • 5. 配置容器环境
  • 3. 跑分结果

1.程序代码跑通

1.1 代码结构

baseline代码
代码结构
全球人工智能技术创新大赛之布匹疵点智能识别 task1_第1张图片
代码跑通步骤:

  • 下载数据集放入train_data文件夹中。
  • 训练模型。
  • 测试模型性能。

1.2 step1:下载数据集

根据官方给出的guangdong2_data_list.txt中的链接下载好

  • guangdong1_round2_train2_20191004_Annotations
  • guangdong1_round2_train2_20191004_images
    把他们解压后原封不动放入train_data中。

1.3 step2:训练网络

第一步,处理数据。

python convertTrainLabel.py 
python process_data_yolo.py 

注意process_data_yolo.py只能转换val数据集,所以将代码中的val都改成train来转换train数据集。
第二步,训练网络。
下载预训练权重yolo5s.pt,链接点我。将其放置在weights文件夹下,更改名字为best.pt。
注意将train代码中的第120行代码进行更改。

# 更改前
if model.state_dict()[k].shape == v.shape}
# 更改后
if k in model.state_dict() and model.state_dict()[k].shape == v.shape}

最后进行模型训练。

python train.py

1.4 上传前的收尾操作

由于pytorch版本不匹配,在项目文件夹内新建一个changckpt.py文件用于权重文件编码方式的转换。(高版本选用)

import torch
from utils import torch_utils

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

更改run.sh文件,原本为空。
detect.py为识别模型运行文件 --source 后面接的是测试集。

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

2. Docker上载

容器是直接运行于操作系统内核之上的隔离沙箱,由于不需要安装操作系统,所以其具有轻量化的特点。但是由于运行于内核之上,Docker只能运行于Linux系统之上。
Docker是一个能够将应用程序自动载入容器中的开源软件,是在已经运行的 Linux 下制造了一个隔离的文件环境。

仓库 储存镜像的地方
镜像 类似存在硬盘的应用程序
容器 程序运行起来
Dockerfile 通过Dockerfile构建镜像
tar文件 镜像可以打包成tar文件

全球人工智能技术创新大赛之布匹疵点智能识别 task1_第2张图片

2. Docker安装

Windows环境(本地端)下Docker环境配置问题记录
配置教程

  • 配置过程中出现的wsl2安装不完全
    全球人工智能技术创新大赛之布匹疵点智能识别 task1_第3张图片
    解决方案:根据wsl2的安装教程安装。
    最后在命令行输入以下指令判断是否安装成功。
docker run hello-world

全球人工智能技术创新大赛之布匹疵点智能识别 task1_第4张图片

3. 创建镜像仓库

link
在这里插入图片描述

4. 构建镜像

  1. 在仓库文件夹内打开命令行或通过cd进入文件夹。
  2. 登录镜像
docker login --username=****** your_registry_url(容器镜像地址)
  1. 在要pull的文件夹内创建一个Dockerfile的文件。
  2. 构建镜像
docker build -t registry.cn-********:1.0 .
# docker build -t 镜像仓库:版本号 构建镜像仓库路径(不可省略)

在这里插入图片描述

构建镜像过程中出现问题
构建镜像必须先登录云
Dockerfile和位于同一路径下
命令行需要在文件夹路径打开

5. 配置容器环境

查看镜像的IMAGE ID

docker images 

进入镜像

docker run -it 28e45ec06cc7 /bin/bash

在这里插入图片描述
pytorch拉取基本镜像时已经装了(拉取操作在Docker中实现)
安装其他需要的库文件

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

保存镜像(将容器保存到镜像中)
ctrl+P+Q推出root

docker commit 550dfb0a761f registry.cn-shenzhen.aliyuncs.com/yiyuchen/tianchi_demo:1.0
docker commit 容器ID 镜像仓库地址:1.0

全球人工智能技术创新大赛之布匹疵点智能识别 task1_第5张图片

3. 跑分结果

全球人工智能技术创新大赛之布匹疵点智能识别 task1_第6张图片

你可能感兴趣的:(人工智能,docker,深度学习,linux)