Day0
**step1:**進入BML主頁,點擊立即使用
🔗:https://ai.baidu.com/bml/

**step2:**點擊Notebook,創建“通用任務”

**step3:**填寫任務資訊

Day01
第一步:配置Notebook
1.找到昨天創建的Notebook任務,點擊配置
- 開發語言:Python3.7
- AI框架:PaddlePaddle2.0.0
- 資源規格:GPU V100
**
**
2.打開Notebook

3.創建一個Notebook,選擇Python3

第二步:上傳資料集至Notebook
1.下載資料集至本地
https://aistudio.baidu.com/aistudio/datasetdetail/123686

2.上傳資料集至Notebook并解壓

!unzip -q /home/work/chepaishibie.zip
3.生成標簽檔案
- 本次使用的資料集為CCPD2019車牌資料集
- 該資料集在合肥市的停車場采集得來,采集時間早上7:30到晚上10:00,停車場采集人員手持Android POS機對停車場的車輛拍照并手工標注車牌位置,拍攝的車牌照片涉及多種復雜環境,包括模糊、傾斜、陰雨天、雪天等等,CCPD資料集一共包含將近30萬張圖片,每種圖片大小720x1160x3,一共包含8項,具體如下:

-
CCPD資料集沒有專門的標注檔案,每張影像的檔案名就是對應的資料標注(label)
-
- 例如:025-95_113-154&383_386&473-386&473_177&454_154&383_363&402-0_0_22_27_27_33_16-37-15.jpg 由分隔符’-'分為幾個部分:
-
- 025為區域
- 95_113 對應兩個角度, 水平95°, 豎直113°
- 154&383_386&473對應邊界框坐標:左上(154, 383), 右下(386, 473)
- 386&473_177&454_154&383_363&402對應四個角點坐標
- 0_0_22_27_27_33_16為車牌號碼 映射關系如下: 第一個為省份0 對應省份字典皖, 后面的為字母和文字, 查看ads字典.如0為A, 22為Y…
-
僅使用到資料集中正常車牌即ccpd_base的資料
import os, cv2
import random
words_list = [
"A", "B", "C", "D", "E",
"F", "G", "H", "J", "K",
"L", "M", "N", "P", "Q",
"R", "S", "T", "U", "V",
"W", "X", "Y", "Z", "0",
"1", "2", "3", "4", "5",
"6", "7", "8", "9" ]
con_list = [
"皖", "滬", "津", "渝", "冀",
"晉", "蒙", "遼", "吉", "黑",
"蘇", "浙", "京", "閩", "贛",
"魯", "豫", "鄂", "湘", "粵",
"桂", "瓊", "川", "貴", "云",
"西", "陜", "甘", "青", "寧",
"新"]
count = 0
total = []
paths = os.listdir('/home/work/chepaishibie')#真實資料集路徑
#for path in paths:
for item in os.listdir(os.path.join('/home/work/chepaishibie')):#真實資料集路徑
if item[-3:] =='jpg':
new_path = os.path.join('/home/work/chepaishibie', item) #訓練圖片路徑的路徑
_, _, bbox, points, label, _, _ = item.split('-')
points = points.split('_')
points = [_.split('&') for _ in points]
tmp = points[-2:]+points[:2]
points = []
for point in tmp:
points.append([int(_) for _ in point])
label = label.split('_')
con = con_list[int(label[0])]
words = [words_list[int(_)] for _ in label[1:]]
label = con+''.join(words)
line = new_path+'\t'+'[{"transcription": "%s", "points": %s}]' % (' ', str(points))
line = line[:]+'\n'
total.append(line)
random.shuffle(total)
with open('/home/work/data/train.txt', 'w', encoding='UTF-8') as f:
for line in total[:-200]:
f.write(line)
with open('/home/work/data/dev.txt', 'w', encoding='UTF-8') as f:
for line in total[-200:]:
f.write(line)
檢查data下的兩個txt檔案

第三步:配置環境
1.升級PaddlePaddle
!pip install paddlepaddle-gpu==2.2.1.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
2.下載PaddleOCR
!git clone https://gitee.com/PaddlePaddle/PaddleOCR.git
3.下載預訓練模型
cd /home/work/PaddleOCR
!wget -P ./pretrain_models/ https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db.tar!wget -P ./pretrain_models/ https://paddleocr.bj.bcebos.com/rec_mv3_tps_bilstm_attn.tar
cd pretrain_models
!tar -xf ch_det_mv3_db.tar && rm -rf ch_det_mv3_db.tar!tar -xf rec_mv3_tps_bilstm_attn.tar && rm -rf rec_mv3_tps_bilstm_attn.tar
第四步:保存Notebook并關閉、停止運行


Day02
第一步:重新安裝環境
1.啟動Notebook并打開

2.重新執行以下安裝命令


第二步:安裝PaddleOCR相關依賴檔案
1.修改requirements檔案

洗掉opencv-contrib-python==4.4.0.46

2.執行以下兩個安裝命令
cd /home/work/PaddleOCR
!pip install -r requirements.txt
!pip install opencv-contrib-python==4.2.0.32
第三步:修改模型訓練的yml檔案
進入路徑PaddleOCR/configs/det/
打開det_mv3_db.yml

1.修改模型路徑和保存路徑

2.修改訓練資料的路徑
訓練集:

驗證集:

3.設定訓練引數
epoch數:

batch_size:

第四步:模型訓練
CUDA_VISIBLE_DEVICES=0!python3 tools/train.py -c configs/det/det_mv3_db.yml
第五步:保存Notebook并關閉、停止運行

Day03
第一步:重新安裝環境
1.啟動Notebook并打開

2.重新執行以下安裝命令
升級PaddlePaddle

安裝相關依賴


第二步:匯出文字檢測模型
!python3 /home/work/PaddleOCR/tools/export_model.py \ -c /home/work/PaddleOCR/configs/det/det_mv3_db.yml \ -o Global.checkpoints=/home/work/PaddleOCR/output/db_mv3/best_accuracy \ Global.save_inference_dir=/home/work/PaddleOCR/inference/

第三步:下載安裝文字識別模型
!wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_infer.tar!tar -xf ch_ppocr_server_v2.0_rec_infer.tar -C inference

第四步:模型預測
1.上傳一張車牌圖片作為預測圖片

上傳至home/work根目錄,命名為test.jpg

2.執行預測命令
!python /home/work/PaddleOCR/tools/infer/predict_system.py \
--image_dir="/home/work/test.jpg" \ --det_model_dir="/home/work/PaddleOCR/inference/" \ --rec_model_dir="/home/work/PaddleOCR/inference/ch_ppocr_server_v2.0_rec_infer/" \ --use_gpu False

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/400574.html
標籤:python
