当前位置: 首页 > news >正文

焊接自动化测试平台图像处理分析-模型训练推理

1、使用技术栈:jdk17/springboot/python/opencv/yolov8

2、JAVA环境搭建  

JDK17下载安装:

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

解压软件

tar -xf jdk-17.0.16_linux-x64_bin.tar.gz

配置全局变量

vim /etc/profile

放到最后面

export JAVA_HOME=/usr/local/jdk-17.0.16

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使环境变量生效

source /etc/profile

设置环境变量CXJG_HOST = prod

echo 'export CXJG_HOST=prod' >> ~/.bashrc

source ~/.bashrc

后台启动jar服务:

java Jar后台启动 日志输出 output.log

nohup java -jar robot-0.0.1-SNAPSHOT.jar > output.log 2>&1 &

3、通过虚拟环境安装进行隔离

 python -m venv yolov8-env

   source yolov8-env/bin/activate

   pip install opencv-python

   pip install --upgrade pip

   pip install ultralytics

pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple

如果不行 执行一下 

source yolov8-env/bin/activate

   

  python -c "import cv2; print(cv2.__version__)"

 python -c 'from ultralytics import YOLO; print("YOLOv8 installed!")'

 pip show ultralytics

退出当前虚拟环境‌:

bashCopy Code

conda deactivate

该命令会将当前激活的虚拟环境退出,返回base环境或系统默认环境

  • 若使用source venv/bin/activate激活的环境,直接输入deactivate即可退出811
  1. 安装python3.13

apt install python3-pip

安装yolov8n

pip3 install ultralytics

安装schedule

pip uninstall schedule

pip install schedule

安装pymysql

pip3 install pymysql

安装dbutils

pip3 install dbutils

pip3 install --upgrade python-dateutil

4、mysql8下载安装

参考:https://blog.csdn.net/ITzhanghao/article/details/150922166?spm=1001.2014.3001.5502

基于Yolov8n 模型训练流程:

  1. 加载显示数据
    1. #加载与训练模型
    2. #安装三方库:ultralytics
    3. #导包:from ultralytics import YOLO
    4. from numpy.__config__ import show
    5. from ultralytics import YOLO
    6. #1.'加载模型
    7. #2.检测目标
    8. #加载预训练模型
    9. #官方提供的基础测试和训练模型
    10. #首次运行自动下载。
    11. a1 = YOLO('yolov8n.pt')
    12. #2.检测目标
    13. #show=True 显示检测结果
    14. #save=True,保存检测结果
    15. a1('2.jpg',show = True,save = True)
  2. 检测图片视频
    1. #检测网络图片
    2. from ultralytics import YOLO
    3. a1 = YOLO('yolov8n.pt')
    4. a1('mv.jpg',show = True,save = True)
  3. 准备数据结构
    1. #准备数据集结构文件
    2. #跟目标创建1个文件夹(可自定义名称)
    3. #下面创建再2个文件夹(images和labels)
    4. #images和labels 下再分别创建2个文件夹(train和val)
    5. #images下的train和val 芳入训练图片(png,jp
    6. #labels下的train和val 放入图片标注(txt)
  4. 准备训练图片标注
  5. 准备数据集配置文件
    1. #准备数据集配置文件
    2. #创建1个yaml格式的文件(可自定义名称)
    3. #配置数据集信息、用于训练模型
    4. data.yaml内容如下
      1. path: C:\Users\HR0432\source\repos\robot\robot\xun #数据集根目录
      1. train: images/train #训练集图片路径
      2. val: images/val #验证集图片路径
      3. nc: 3 #类别数量
      4. names: ['正常','发黑','爆点'] #类别名称
  1. 开始训练
    1. #开始模型训练
    2. import sys
    3. import io
    4. sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
    5. from ultralytics import YOLO
    6. import matplotlib
    7. matplotlib.use('Agg') # 寮哄埗浣跨敤闈炰氦浜掑紡鍚庣
    8. #加载预训练模型
    9. a1 = YOLO('yolov8n.pt')
    10. #开始训练
    11. a1.train(
    12. data='data.yaml', #数据集配置文件路径
    13. epochs=300, #训练轮次 官方推荐500
    14. imgsz=640, #输入图片尺寸 官方推荐640
    15. batch=16, #每次训练的批量 官方推荐16/32
    16. device='cpu' , #GPU=0 CPU= 'cpu'
    17. workers=4 # 数据加载线程数
    18. )
    19. print('**********************************')
    20. print('**********************************')
    21. print('**********************************')
    22. print('**************SUCCESS*************')
    23. print('**************SUCCESS*************')
    24. print('**************SUCCESS*************')
    25. print('**********************************')
    26. print('**********************************')
    27. print('**********************************')
  2. 测试模型结果
    1. #检测模型结果
    2. from ultralytics import YOLO
    3. #模型训练完毕自动保存到C:\Users\HR0432\source\repos\robot\robot\runs\detect\train2\weights
    4. #best.pt是训练好的最优模型(适用于最终应用)
    5. #last.pt是训练的最后一轮模型(适用于训练继续)
    6. #加载自己训练好的模型
    7. a1 = YOLO(r'C:\Users\HR0432\source\repos\robot\robot\runs\detect\train16\weights\best.pt')
    8. #目标检测
    9. a1('3.jpg',show = True,save = True)


文章转载自:

http://IDUQBfZS.shprz.cn
http://QyHQniF9.shprz.cn
http://rIUiZioZ.shprz.cn
http://pTLjppEj.shprz.cn
http://ZaCCj7Bs.shprz.cn
http://tJbp9h0C.shprz.cn
http://RiVogqYs.shprz.cn
http://ah0O2oQ1.shprz.cn
http://pRuK9PiC.shprz.cn
http://36nYOx7n.shprz.cn
http://rVTQRqnL.shprz.cn
http://g56aSYz1.shprz.cn
http://XCzwiOuN.shprz.cn
http://uW9wm5CS.shprz.cn
http://dPvO57JS.shprz.cn
http://uWvyDhkc.shprz.cn
http://bc7GDHlw.shprz.cn
http://6aaaWM35.shprz.cn
http://S6YhbZcn.shprz.cn
http://NJI0JAyO.shprz.cn
http://q9l1xvph.shprz.cn
http://nbLh5JcS.shprz.cn
http://3dq6FwAb.shprz.cn
http://CeGbBhMg.shprz.cn
http://CHdI0C21.shprz.cn
http://h5WdlTgW.shprz.cn
http://AkUM7fM9.shprz.cn
http://VCF24Hqs.shprz.cn
http://F1TqvvtB.shprz.cn
http://48aBSvS3.shprz.cn
http://www.dtcms.com/a/366889.html

相关文章:

  • Kafka面试精讲 Day 7:消息序列化与压缩策略
  • 【图像处理基石】如何在频域对图像进行处理和增强?
  • 探索 PostgreSQL 和 MySQL 之间的主要差异和相似之处,找到满足您项目需求的最佳数据库解决方案。
  • Python爬虫常用框架
  • HTTP与HTTPS杂谈-HTTPS防御了什么
  • Caffeine 双端队列优化揭秘:如何优雅维护访问和写入顺序
  • 02-ideal2025 Ultimate版安装教程
  • 代码随想录刷题Day49
  • 随时随地写代码:Jupyter Notebook+cpolar让远程开发像在本地一样流畅
  • 51单片机:中断、定时器与PWM整合手册
  • spring.profiles.active配置的作用
  • 设计模式六大原则2-里氏替换原则
  • 短视频运营为什么需要代理 IP
  • JS函数进阶
  • 【可信数据空间-连接器状态监控】
  • 【面试题】如何构造排序模型训练数据?解决正负样本不均?
  • matlab实现希尔伯特变换(HHT)
  • 批量获取1688商品详情图及API接口调用实操指南
  • 【Kubernetes】知识点4
  • 卫生间异味来源难察觉?这款传感器为你精准探测并预警
  • 从设计到落地:校园图书馆系统的面向对象实现全流程
  • 多个docker compose启动的容器之间通信实现
  • Oracle 数据库如何查询列
  • (论文速读)Navigation World Models: 让机器人像人类一样想象和规划导航路径
  • 子串:最小覆盖子串
  • 深度学习中的学习率优化策略详解
  • UE5 制作游戏框架的部分经验积累(持续更新)
  • Kubernetes知识点(三)
  • AWS中为OpsManage配置IAM权限:完整指南
  • 深入剖析Spring Boot / Spring 应用中可自定义的扩展点