背景
公司为传统工业互联网,内部基础零件较多,手动区分筛选费时费力,故而要采用视觉模型来自动标注与区分。本人Java开发,对于Python语言了解不多,且大模型基本上对性能要求很高,由于电脑配置本身,很难训练模型,所以采用腾讯高性能空间来学习。
环境部署
因为高性能空间本身部署了Python以及conda等基础服务,所以只需要配置yolo服务对应的组件即可。
1.PyTorch:-官方地址:https://pytorch.org/ 一定要选择和显卡型号对应的CUDA版本,没有英伟达的显卡,可以选择安装CPU版本。
2.labelImg:模型标注工具,可直接pip安装。
3.项目源码:https://github.com/ultralytics/ultralytics,解压源码后再按照要求补充环境依赖。我是直接在项目本地根目录下创建了一个requirements.txt依赖文件。
# Ultralytics requirements
# Example: pip install -r requirements.txt
# Base ----------------------------------------
matplotlib>=3.3.0
numpy==1.24.4 # pinned by Snyk to avoid a vulnerability
opencv-python>=4.6.0
pillow>=7.1.2
pyyaml>=5.3.1
requests>=2.23.0
scipy>=1.4.1
tqdm>=4.64.0
# Logging -------------------------------------
# tensorboard>=2.13.0
# dvclive>=2.12.0
# clearml
# comet
# Plotting ------------------------------------
pandas>=1.1.4
seaborn>=0.11.0
# Export --------------------------------------
# coremltools>=7.0 # CoreML export
# onnx>=1.12.0 # ONNX export
# onnxsim>=0.4.1 # ONNX simplifier
# nvidia-pyindex # TensorRT export
# nvidia-tensorrt # TensorRT export
# scikit-learn==0.19.2 # CoreML quantization
# tensorflow>=2.4.1 # TF exports (-cpu, -aarch64, -macos)
# tflite-support
# tensorflowjs>=3.9.0 # TF.js export
# openvino-dev>=2023.0 # OpenVINO export
# Extras --------------------------------------
psutil # system utilization
py-cpuinfo # display CPU info
thop>=0.1.1 # FLOPs computation
# ipython # interactive notebook
# albumentations>=1.0.3 # training augmentations
# pycocotools>=2.0.6 # COCO mAP
# roboflow
数据准备
1.在安装好labelimg后,使用命令(labelImg)将其打开,进行数据标注,可参考:https://blog.youkuaiyun.com/ChaoChao66666/article/details/129129621 。数据标注好之后,一定要按照图片和标签区分开,并文件名称除后缀外其他都一致。在项目目录下创建训练基础数据和标注的文件夹,我创建的是data/images和data/labels,后面需要使用。
2.数据切分:在项目根目录下创建Python脚本文件,我定义的是main.py。如下:
# 将图片和标注数据按比例切分为 训练集和测试集
import shutil
import random
import os
# 原始路径
image_original_path = "data/images/"
label_original_path = "data/labels/"
cur_path = os.getcwd()
# 训练集路径
train_image_path = os.path.join(cur_path, "datasets/images/train/")
train_label_path = os.path.join(cur_path, "datasets/labels/train/")
# 验证集路径
val_image_path = os.path.join(cur_path, "datasets/images/val/")
val_label_path = os

最低0.47元/天 解锁文章
1220

被折叠的 条评论
为什么被折叠?



