https://aicandy.vn/ung-dung-mang-retinanet-vao-nhan-dien-doi-tuong/
Bản quyền thuộc về: https://aicandy.vn
Học tập toàn diện: Kết nối lý thuyết, thực hành và dữ liệu thực tế
https://aicandy.vn
8
Bước 4: Đánh giá mô hình
scores, labels, boxes = model(data[‘img’].permute(2, 0,
1).cuda().float().unsqueeze(dim=0))
permute(2, 0, 1) chuyển đổi tensor từ định dạng (H, W, C) thành (C, H, W).
Đây là định dạng yêu cầu cho các mô hình trong PyTorch, vì các mô hình
thường yêu cầu đầu vào có thứ tự chiều (C, H, W).
unsqueeze(dim=0):Thêm một chiều mới ở vị trí dim=0. Điều này có nghĩa
là biến đổi tensor từ kích thước (C, H, W) thành (1, C, H, W). Chiều mới này
đại diện cho kích thước của batch, trong đó 1 là số lượng hình ảnh trong
batch. Đây là định dạng yêu cầu cho các mô hình PyTorch khi xử lý nhiều
hình ảnh cùng lúc, ngay cả khi bạn chỉ có một hình ảnh trong batch.
coco_eval.evaluate()
Thực hiện đánh giá các dự đoán so với nhãn thực tế. Phương thức này sẽ
tính toán các chỉ số đánh giá như Precision, Recall, mAP (mean Average
Precision), và các chỉ số khác liên quan đến chất lượng của các dự đoán.
coco_eval.accumulate()
Tính toán các số liệu tổng hợp từ kết quả đánh giá. Phương thức này tổng
hợp các kết quả đánh giá cho từng hình ảnh để tính toán các chỉ số cuối cùng.
coco_eval.summarize()
In ra các báo cáo và tóm tắt kết quả đánh giá. Phương thức này sẽ in ra các
chỉ số tổng hợp như mAP và các thông tin liên quan khác, giúp bạn hiểu hiệu
suất của mô hình.
Bước 5: Lưu model
print(‘Epoch: {}/{} Running loss: {:1.5f}’.format(epoch_num + 1, epochs,
running_loss))