Transformers documentation
Ghi nhật ký
Ghi nhật ký
🤗 Transformers có hệ thống ghi log tập trung, giúp bạn dễ dàng thiết lập mức độ chi tiết của thư viện.
Hiện tại, mức độ chi tiết mặc định của thư viện là WARNING.
Để thay đổi mức độ chi tiết, chỉ cần sử dụng một trong các bộ đặt trực tiếp. Ví dụ, đây là cách thay đổi mức độ chi tiết sang mức INFO.
import transformers
transformers.logging.set_verbosity_info()Bạn cũng có thể sử dụng biến môi trường TRANSFORMERS_VERBOSITY để ghi đè mức độ chi tiết mặc định. Bạn có thể đặt nó
thành một trong các giá trị sau: debug, info, warning, error, critical, fatal. Ví dụ:
TRANSFORMERS_VERBOSITY=error ./myprogram.py
Ngoài ra, một số warnings có thể bị vô hiệu hóa bằng cách đặt biến môi trường TRANSFORMERS_NO_ADVISORY_WARNINGS thành một giá trị true, chẳng hạn 1. Thao tác này sẽ vô hiệu hóa mọi cảnh báo được ghi log bằng logger.warning_advice. Ví dụ:
TRANSFORMERS_NO_ADVISORY_WARNINGS=1 ./myprogram.py
Dưới đây là một ví dụ về cách sử dụng cùng một trình ghi nhật ký (logger) như thư viện trong module hoặc script của bạn:
from transformers.utils import logging
logging.set_verbosity_info()
logger = logging.get_logger("transformers")
logger.info("INFO")
logger.warning("WARN")Tất cả các phương thức của module ghi log này được tài liệu hóa bên dưới, trong đó các phương thức chính là logging.get_verbosity() để lấy mức độ chi tiết hiện tại của trình ghi log và logging.set_verbosity() để đặt mức độ chi tiết theo lựa chọn của bạn. Theo thứ tự (từ ít chi tiết nhất đến chi tiết nhất), các mức này (kèm giá trị int tương ứng trong ngoặc đơn) là:
transformers.logging.CRITICALhoặctransformers.logging.FATAL(giá trị int, 50): chỉ báo cáo các lỗi nghiêm trọng nhất.transformers.logging.ERROR(giá trị int, 40): chỉ báo cáo các lỗi.transformers.logging.WARNINGhoặctransformers.logging.WARN(giá trị int, 30): chỉ báo cáo lỗi và cảnh báo. Đây là mức mặc định được thư viện sử dụng.transformers.logging.INFO(giá trị int, 20): báo cáo lỗi, cảnh báo và thông tin cơ bản.transformers.logging.DEBUG(giá trị int, 10): báo cáo tất cả thông tin.
Mặc định, thanh tiến trình tqdm sẽ được hiển thị trong quá trình tải mô hình. logging.disable_progress_bar() và logging.enable_progress_bar() có thể được sử dụng để tắt hoặc bật lại hành vi này.
logging so với warnings
Python có hai hệ thống ghi log thường được sử dụng cùng nhau: logging, được giải thích ở trên, và warnings, cho phép phân loại thêm các cảnh báo vào các nhóm cụ thể, ví dụ FutureWarning cho một tính năng hoặc đường dẫn đã bị ngừng hỗ trợ và DeprecationWarning để chỉ ra một tính năng sắp bị ngừng hỗ trợ.
Chúng tôi sử dụng cả hai trong thư viện transformers. Chúng tôi tận dụng và điều chỉnh phương thức captureWarnings của logging để cho phép quản lý các thông báo cảnh báo này bằng các bộ đặt mức độ chi tiết ở trên.
Điều đó có ý nghĩa gì đối với các nhà phát triển của thư viện? Chúng ta nên tuân thủ các nguyên tắc sau:
warningsnên được ưu tiên cho các nhà phát triển của thư viện và các thư viện phụ thuộc vàotransformersloggingnên được sử dụng cho người dùng cuối của thư viện khi họ sử dụng nó trong các dự án hàng ngày
Xem tham chiếu của phương thức captureWarnings bên dưới.
Gọi phương thức captureWarnings từ thư viện ghi log để quản lý các cảnh báo do thư viện warnings phát ra.
Đọc thêm về phương pháp này tại đây: https://docs.python.org/3/library/logging.html#integration-with-the-warnings-module
Tất cả các cảnh báo sẽ được ghi log thông qua trình ghi log py.warnings.
Cẩn thận: phương thức này cũng thêm một handler vào logger này nếu nó chưa có, và cập nhật cấp độ ghi log của logger đó thành logger gốc của thư viện.
Bộ thiết lập cơ bản
Đặt mức độ chi tiết ở mức ERROR.
Đặt mức độ chi tiết ở mức WARNING.
Đặt mức độ chi tiết ở cấp độ INFO.
Đặt mức độ chi tiết ở mức DEBUG.
Các hàm khác
Trả về mức hiện tại cho logger gốc của 🤗 Transformers dưới dạng int.
🤗 Transformers có các cấp độ ghi log sau:
- 50:
transformers.logging.CRITICALhoặctransformers.logging.FATAL- 40:
transformers.logging.ERROR- 30:
transformers.logging.WARNINGhoặctransformers.logging.WARN- 20:
transformers.logging.INFO- 10:
transformers.logging.DEBUG
transformers.utils.logging.set_verbosity
< source >( verbosity: int )
Đặt mức độ chi tiết cho trình ghi log gốc của 🤗 Transformers.
Trả về một logger với tên được chỉ định.
Hàm này không được thiết kế để truy cập trực tiếp trừ khi bạn đang viết một module transformers tùy chỉnh.
Bật trình xử lý mặc định của trình ghi log gốc của HuggingFace Transformers.
Tắt trình xử lý mặc định của trình ghi log gốc của HuggingFace Transformers.
Đặt lại định dạng cho các trình ghi log của HuggingFace Transformers.
Tất cả các handler hiện đang được gắn với logger gốc đều bị ảnh hưởng bởi phương thức này.
Bật thanh tiến trình tqdm.
Tắt thanh tiến trình tqdm.