全球人工智能技术创新大赛之布匹疵点智能识别 task1
作者:互联网
文章目录
1.程序代码跑通
1.1 代码结构
baseline代码
代码结构
代码跑通步骤:
- 下载数据集放入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文件,原本为空。
python detect.py --source ./tcdata/guangdong1_round2_testB_20191024
2. Docker上载
容器是直接运行于操作系统内核之上的隔离沙箱,由于不需要安装操作系统,所以其具有轻量化的特点。但是由于运行于内核之上,Docker只能运行于Linux系统之上。
Docker是一个能够将应用程序自动载入容器中的开源软件,是在已经运行的 Linux 下制造了一个隔离的文件环境。
仓库 | 储存镜像的地方 |
---|---|
镜像 | 类似存在硬盘的应用程序 |
容器 | 程序运行起来 |
Dockerfile | 通过Dockerfile构建镜像 |
tar文件 | 镜像可以打包成tar文件 |
2. Docker安装
Windows环境(本地端)下Docker环境配置问题记录
配置教程
- 配置过程中出现的wsl2安装不完全
解决方案:根据wsl2的安装教程安装。
最后在命令行输入以下指令判断是否安装成功。
docker run hello-world
3. 创建镜像仓库
4. 构建镜像
- 在仓库文件夹内打开命令行或通过cd进入文件夹。
- 登录镜像
docker login --username=****** your_registry_url(容器镜像地址)
- 在要pull的文件夹内创建一个Dockerfile的文件。
- 构建镜像
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
3. 跑分结果
标签:task1,疵点,人工智能,train,py,文件夹,镜像,Docker,docker 来源: https://blog.csdn.net/qq_29380039/article/details/113873362