1、使用技術棧:jdk17/springboot/python/opencv/yolov8
2、JAVA環境搭建??
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。
- 安裝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 模型訓練流程:
- 加載顯示數據
- #加載與訓練模型
- #安裝三方庫:ultralytics
- #導包:from ultralytics import YOLO
- from numpy.__config__ import show
- from ultralytics import YOLO
- #1.'加載模型
- #2.檢測目標
- #加載預訓練模型
- #官方提供的基礎測試和訓練模型
- #首次運行自動下載。
- a1 = YOLO('yolov8n.pt')
- #2.檢測目標
- #show=True 顯示檢測結果
- #save=True,保存檢測結果
- a1('2.jpg',show = True,save = True)
- 檢測圖片或視頻
- #檢測網絡圖片
- from ultralytics import YOLO
- a1 = YOLO('yolov8n.pt')
- a1('mv.jpg',show = True,save = True)
- 準備數據集結構
- #準備數據集結構文件
- #跟目標創建1個文件夾(可自定義名稱)
- #下面創建再2個文件夾(images和labels)
- #images和labels 下再分別創建2個文件夾(train和val)
- #images下的train和val 芳入訓練圖片(png,jp
- #labels下的train和val 放入圖片標注(txt)
- 準備訓練圖片和標注
- 準備數據集配置文件
- #準備數據集配置文件
- #創建1個yaml格式的文件(可自定義名稱)
- #配置數據集信息、用于訓練模型
- data.yaml內容如下:
- path: C:\Users\HR0432\source\repos\robot\robot\xun #數據集根目錄
-
-
- train: images/train #訓練集圖片路徑
- val: images/val #驗證集圖片路徑
- nc: 3 #類別數量
- names: ['正常','發黑','爆點'] #類別名稱
-
- 開始訓練
- #開始模型訓練
- import sys
- import io
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
- from ultralytics import YOLO
- import matplotlib
- matplotlib.use('Agg') # 寮哄埗浣跨敤闈炰氦浜掑紡鍚庣
- #加載預訓練模型
- a1 = YOLO('yolov8n.pt')
- #開始訓練
- a1.train(
- data='data.yaml', #數據集配置文件路徑
- epochs=300, #訓練輪次 官方推薦500
- imgsz=640, #輸入圖片尺寸 官方推薦640
- batch=16, #每次訓練的批量 官方推薦16/32
- device='cpu' , #GPU=0 CPU= 'cpu'
- workers=4 # 數據加載線程數
- )
- print('**********************************')
- print('**********************************')
- print('**********************************')
- print('**************SUCCESS*************')
- print('**************SUCCESS*************')
- print('**************SUCCESS*************')
- print('**********************************')
- print('**********************************')
- print('**********************************')
- 測試模型結果
- #檢測模型結果
- from ultralytics import YOLO
- #模型訓練完畢自動保存到C:\Users\HR0432\source\repos\robot\robot\runs\detect\train2\weights
- #best.pt是訓練好的最優模型(適用于最終應用)
- #last.pt是訓練的最后一輪模型(適用于訓練繼續)
- #加載自己訓練好的模型
- a1 = YOLO(r'C:\Users\HR0432\source\repos\robot\robot\runs\detect\train16\weights\best.pt')
- #目標檢測
- a1('3.jpg',show = True,save = True)