Transformers documentation
Công cụ tiện ích cho bộ xử lý ảnh
Công cụ tiện ích cho bộ xử lý ảnh
Trang này liệt kê tất cả các hàm tiện ích được sử dụng bởi các bộ xử lý ảnh, chủ yếu là các phép biến đổi dạng hàm được dùng để xử lý ảnh.
Phần lớn những thông tin này chỉ hữu ích nếu bạn đang nghiên cứu mã nguồn của các bộ xử lý ảnh trong thư viện.
Biến đổi ảnh
transformers.image_transforms.center_crop
< source >( image: ndarraysize: tupledata_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray
Tham số
- image (
np.ndarray) — Hình ảnh cần cắt. - size (
tuple[int, int]) — Kích thước đích cho ảnh đã được cắt. - data_format (
strhoặcChannelDimension, tuỳ chọn) — Định dạng chiều kênh cho ảnh đầu ra. Có thể là một trong các giá trị sau:"channels_first"hoặcChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width)."channels_last"hoặcChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels). Nếu không được đặt, sẽ sử dụng định dạng suy ra của ảnh đầu vào.
- input_data_format (
strhoặcChannelDimension, tuỳ chọn) — Định dạng chiều kênh cho ảnh đầu vào. Có thể là một trong các giá trị sau:"channels_first"hoặcChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width)."channels_last"hoặcChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels). Nếu không được đặt, sẽ sử dụng định dạng suy ra của ảnh đầu vào.
Trả về
np.ndarray
Hình ảnh đã được cắt.
Cắt image thành size đã chỉ định bằng cách cắt ở giữa. Lưu ý rằng nếu ảnh quá nhỏ để cắt thành kích thước đã cho, nó sẽ được đệm (do đó kết quả trả về luôn có kích thước size).
Chuyển đổi hộp bao từ định dạng tâm sang định dạng góc.
center format: chứa tọa độ của tâm hộp và các kích thước chiều rộng, chiều cao (center_x, center_y, width, height) corners format: chứa tọa độ của góc trên bên trái và góc dưới bên phải của hộp (top_left_x, top_left_y, bottom_right_x, bottom_right_y)
Chuyển đổi hộp bao từ định dạng góc sang định dạng tâm.
corners format: chứa tọa độ của góc trên bên trái và góc dưới bên phải của hộp (top_left_x, top_left_y, bottom_right_x, bottom_right_y) center format: chứa tọa độ của tâm hộp cùng với chiều rộng, chiều cao (center_x, center_y, width, height)
Chuyển đổi ID duy nhất thành màu RGB.
transformers.image_transforms.normalize
< source >( image: ndarraymean: float | collections.abc.Collection[float]std: float | collections.abc.Collection[float]data_format: transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None )
Tham số
- image (
np.ndarray) — Hình ảnh cần chuẩn hóa. - mean (
floathoặcCollection[float]) — Giá trị trung bình được sử dụng để chuẩn hóa. - std (
floathoặcCollection[float]) — Độ lệch chuẩn được sử dụng để chuẩn hóa. - data_format (
ChannelDimension, tùy chọn) — Định dạng chiều kênh của ảnh đầu ra. Nếu không được đặt, sẽ sử dụng định dạng suy ra từ đầu vào. - input_data_format (
ChannelDimension, tùy chọn) — Định dạng chiều kênh của ảnh đầu vào. Nếu không được đặt, sẽ sử dụng định dạng suy ra từ đầu vào.
Chuẩn hóa image bằng cách sử dụng giá trị trung bình và độ lệch chuẩn được chỉ định bởi mean và std.
image = (image - mean) / std
transformers.image_transforms.pad
< source >( image: ndarraypadding: int | tuple[int, int] | collections.abc.Iterable[tuple[int, int]]mode: PaddingMode = <PaddingMode.CONSTANT: 'constant'>constant_values: float | collections.abc.Iterable[float] = 0.0data_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray
Tham số
- image (
np.ndarray) — Hình ảnh cần chèn lề. - padding (
inthoặctuple[int, int]hoặcIterable[tuple[int, int]]) — Padding áp dụng cho các cạnh của trục chiều cao và chiều rộng. Có thể ở một trong ba định dạng:((before_height, after_height), (before_width, after_width))độ rộng pad riêng biệt cho mỗi trục.((before, after),)tạo ra padding trước và sau giống nhau cho chiều cao và chiều rộng.(pad,)hoặc int là cách viết tắt cho before = after = pad width cho tất cả các trục.
- mode (
PaddingMode) — Chế độ padding cần sử dụng. Có thể là một trong các giá trị sau:"constant": đệm bằng một giá trị hằng số."reflect": đệm bằng phép phản chiếu của vector được gương trên giá trị đầu và cuối của vector dọc theo mỗi trục."replicate": đệm bằng cách lặp lại giá trị cuối cùng ở cạnh của mảng dọc theo mỗi trục."symmetric": đệm bằng hình phản chiếu của vector được lật dọc theo cạnh của mảng.
- constant_values (
floathoặcIterable[float], tùy chọn) — Giá trị được sử dụng cho phần đệm nếumodelà"constant". - data_format (
strhoặcChannelDimension, tùy chọn) — Định dạng chiều kênh cho ảnh đầu ra. Có thể là một trong các giá trị sau:"channels_first"hoặcChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width)."channels_last"hoặcChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels). Nếu không được đặt, sẽ sử dụng cùng với ảnh đầu vào.
- input_data_format (
strhoặcChannelDimension, tuỳ chọn) — Định dạng chiều kênh cho ảnh đầu vào. Có thể là một trong các giá trị sau:"channels_first"hoặcChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width)."channels_last"hoặcChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels). Nếu không được đặt, sẽ sử dụng định dạng suy ra của ảnh đầu vào.
Trả về
np.ndarray
Hình ảnh đã được đệm.
Đệm image bằng padding (chiều cao, chiều rộng) và mode được chỉ định.
Chuyển đổi màu RGB thành ID duy nhất.
transformers.image_transforms.rescale
< source >( image: ndarrayscale: floatdata_format: transformers.image_utils.ChannelDimension | None = Nonedtype: dtype = <class 'numpy.float32'>input_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray
Tham số
- image (
np.ndarray) — Hình ảnh cần điều chỉnh tỷ lệ. - scale (
float) — Hệ số dùng để thay đổi kích thước ảnh. - data_format (
ChannelDimension, tùy chọn) — Định dạng chiều kênh của hình ảnh. Nếu không được cung cấp, nó sẽ giống với hình ảnh đầu vào. - dtype (
np.dtype, tùy chọn, mặc định lànp.float32) — Dtype của ảnh đầu ra. Mặc định lànp.float32. Được sử dụng để tương thích ngược với các bộ trích xuất đặc trưng. - input_data_format (
ChannelDimension, tùy chọn) — Định dạng chiều kênh của ảnh đầu vào. Nếu không được cung cấp, nó sẽ được suy ra từ ảnh đầu vào.
Trả về
np.ndarray
Hình ảnh đã được thay đổi tỷ lệ.
Thay đổi kích thước image theo scale.
transformers.image_transforms.resize
< source >( image: ndarraysize: tupleresample: typing.Optional[ForwardRef('PILImageResampling')] = Nonereducing_gap: int | None = Nonedata_format: transformers.image_utils.ChannelDimension | None = Nonereturn_numpy: bool = Trueinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray
Tham số
- image (
np.ndarray) — Hình ảnh cần thay đổi kích thước. - size (
tuple[int, int]) — Kích thước được sử dụng để thay đổi kích thước ảnh. - resample (
int, tùy chọn, mặc định làPILImageResampling.BILINEAR) — Bộ lọc dùng để lấy mẫu lại. - reducing_gap (
int, tuỳ chọn) — Áp dụng tối ưu hóa bằng cách thay đổi kích thước ảnh theo hai bước.reducing_gapcàng lớn thì kết quả càng gần với việc lấy mẫu công bằng. Xem tài liệu tương ứng của Pillow để biết thêm chi tiết. - data_format (
ChannelDimension, tùy chọn) — Định dạng chiều kênh của ảnh đầu ra. Nếu không được đặt, sẽ sử dụng định dạng suy ra từ đầu vào. - return_numpy (
bool, tuỳ chọn, mặc định làTrue) — Có nên trả về ảnh đã thay đổi kích thước dưới dạng mảng numpy hay không. Nếu là False, một đối tượngPIL.Image.Imagesẽ được trả về. - input_data_format (
ChannelDimension, tùy chọn) — Định dạng chiều kênh của ảnh đầu vào. Nếu không được đặt, sẽ sử dụng định dạng suy ra từ đầu vào.
Trả về
np.ndarray
Hình ảnh đã được thay đổi kích thước.
Đổi kích thước image thành (height, width) được chỉ định bởi size bằng thư viện PIL.
transformers.image_transforms.to_pil_image
< source >( image: typing.Union[numpy.ndarray, ForwardRef('PIL.Image.Image'), ForwardRef('torch.Tensor')]do_rescale: bool | None = Noneimage_mode: str | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → PIL.Image.Image
Tham số
- image (
PIL.Image.Imagehoặcnumpy.ndarrayhoặctorch.Tensor) — Hình ảnh cần chuyển sang định dạngPIL.Image. - do_rescale (
bool, tùy chọn) — Có áp dụng hệ số tỷ lệ (để làm cho giá trị pixel trở thành số nguyên từ 0 đến 255) hay không. Mặc định làTruenếu kiểu ảnh là kiểu số thực và việc chuyển đổi sangintsẽ gây mất độ chính xác, vàFalsetrong các trường hợp khác. - image_mode (
str, tùy chọn) — Chế độ sử dụng cho ảnh PIL. Nếu không được đặt, sẽ sử dụng chế độ mặc định cho loại ảnh đầu vào. - input_data_format (
ChannelDimension, tùy chọn) — Định dạng chiều kênh của ảnh đầu vào. Nếu không được đặt, sẽ sử dụng định dạng suy ra từ đầu vào.
Trả về
PIL.Image.Image
Hình ảnh đã được chuyển đổi.
Chuyển đổi image thành một hình ảnh PIL. Tùy chọn để thay đổi tỷ lệ và đưa chiều kênh về làm trục cuối nếu cần.
ImageProcessingMixin
Đây là một mixin của bộ xử lý hình ảnh được sử dụng để cung cấp chức năng lưu/tải cho các bộ trích xuất đặc trưng tuần tự và hình ảnh.
Chuyển đổi một hoặc một danh sách các url thành các đối tượng PIL.Image tương ứng.
Nếu một url duy nhất được truyền vào, giá trị trả về sẽ là một đối tượng duy nhất. Nếu một danh sách được truyền vào, một danh sách các đối tượng sẽ được trả về.
from_dict
< source >( image_processor_dict: dict**kwargs ) → ImageProcessingMixin
Tham số
- image_processor_dict (
dict[str, Any]) — Từ điển sẽ được dùng để khởi tạo đối tượng image processor. Một từ điển như vậy có thể được lấy từ checkpoint được huấn luyện trước bằng cách sử dụng phương thức to_dict(). - kwargs (
dict[str, Any]) — Các tham số bổ sung để khởi tạo đối tượng image processor.
Trả về
Đối tượng image processor được khởi tạo từ các tham số đó.
Tạo một kiểu ImageProcessingMixin từ một từ điển Python chứa các tham số.
from_json_file
< source >( json_file: str | os.PathLike ) → A image processor of type ImageProcessingMixin
Tham số
Trả về
Bộ xử lý ảnh có kiểu ImageProcessingMixin
Đối tượng image_processor được khởi tạo từ tệp JSON đó.
Khởi tạo một bộ xử lý ảnh có kiểu ImageProcessingMixin từ đường dẫn đến tệp JSON chứa các tham số.
from_pretrained
< source >( pretrained_model_name_or_path: str | os.PathLikecache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'**kwargs )
Tham số
- pretrained_model_name_or_path (
strhoặcos.PathLike) — Đây có thể là:- một chuỗi, model id của một image_processor được huấn luyện trước, được lưu trữ trong một kho model trên huggingface.co.
- đường dẫn đến một thư mục chứa tệp image processor được lưu bằng phương thức
save_pretrained(), ví dụ:
./my_model_directory/. - đường dẫn đến tệp JSON của bộ xử lý ảnh đã lưu file, ví dụ:
./my_model_directory/preprocessor_config.json.
- cache_dir (
strhoặcos.PathLike, tùy chọn) — Đường dẫn đến thư mục mà bộ xử lý ảnh của mô hình được huấn luyện trước đã tải xuống sẽ được lưu đệm, nếu không sử dụng bộ lưu đệm tiêu chuẩn. - force_download (
bool, tùy chọn, mặc định làFalse) — Có nên buộc (tải lại) các tệp bộ xử lý ảnh và ghi đè lên các phiên bản được lưu trong bộ nhớ đệm nếu chúng tồn tại hay không. - proxies (
dict[str, str], tuỳ chọn) — Một từ điển các máy chủ proxy để sử dụng theo giao thức hoặc điểm cuối, ví dụ:{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}.Các proxy này được sử dụng cho mỗi yêu cầu. - token (
strhoặcbool, tùy chọn) — Token được sử dụng làm HTTP bearer authorization cho các tệp từ xa. NếuTrue, hoặc không được chỉ định, sẽ sử dụng token được tạo khi chạyhf auth login(được lưu trong~/.huggingface). - revision (
str, tùy chọn, mặc định là"main") — Phiên bản mô hình cụ thể cần sử dụng. Nó có thể là tên nhánh, tên thẻ hoặc id commit, vì chúng tôi sử dụng hệ thống dựa trên git để lưu trữ các mô hình và các sản phẩm khác trên huggingface.co, do đórevisioncó thể là bất kỳ định danh nào được git cho phép.
Tạo một kiểu ImageProcessingMixin từ một image processor.
Ví dụ:
# We can't instantiate directly the base class *ImageProcessingMixin* so let's show the examples on a
# derived class: *CLIPImageProcessor*
image_processor = CLIPImageProcessor.from_pretrained(
"openai/clip-vit-base-patch32"
) # Download image_processing_config from huggingface.co and cache.
image_processor = CLIPImageProcessor.from_pretrained(
"./test/saved_model/"
) # E.g. image processor (or model) was saved using *save_pretrained('./test/saved_model/')*
image_processor = CLIPImageProcessor.from_pretrained("./test/saved_model/preprocessor_config.json")
image_processor = CLIPImageProcessor.from_pretrained(
"openai/clip-vit-base-patch32", do_normalize=False, foo=False
)
assert image_processor.do_normalize is False
image_processor, unused_kwargs = CLIPImageProcessor.from_pretrained(
"openai/clip-vit-base-patch32", do_normalize=False, foo=False, return_unused_kwargs=True
)
assert image_processor.do_normalize is False
assert unused_kwargs == {"foo": False}get_image_processor_dict
< source >( pretrained_model_name_or_path: str | os.PathLike**kwargs ) → tuple[Dict, Dict]
Tham số
- pretrained_model_name_or_path (
strhoặcos.PathLike) — Định danh của checkpoint được huấn luyện trước mà chúng ta muốn lấy từ điển các tham số từ đó. - subfolder (
str, tùy chọn, mặc định là"") — Trong trường hợp các tệp liên quan nằm trong một thư mục con của kho mô hình trên huggingface.co, bạn có thể chỉ định tên thư mục ở đây. - image_processor_filename (
str, tùy chọn, mặc định là"config.json") — Tên tệp trong thư mục mô hình được sử dụng cho cấu hình bộ xử lý ảnh.
Trả về
tuple[Dict, Dict]
Từ điển sẽ được sử dụng để khởi tạo đối tượng image processor.
Từ pretrained_model_name_or_path, phân giải thành một từ điển các tham số, để sử dụng cho việc khởi tạo một bộ xử lý ảnh có kiểu ~image_processor_utils.ImageProcessingMixin bằng from_dict.
push_to_hub
< source >( repo_id: strcommit_message: str | None = Nonecommit_description: str | None = Noneprivate: bool | None = Nonetoken: bool | str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falsemax_shard_size: int | str | None = '50GB'tags: list[str] | None = None )
Tham số
- repo_id (
str) — Tên của kho mà bạn muốn đẩy bộ xử lý ảnh của mình đến. Nó nên chứa tên tổ chức của bạn khi đẩy đến một tổ chức cụ thể. - commit_message (
str, tùy chọn) — Thông điệp để commit khi đẩy. Mặc định là"Upload image processor". - commit_description (
str, tùy chọn) — Mô tả của commit sẽ được tạo - private (
bool, optional) — Xác định có làm cho kho (repo) ở chế độ riêng tư hay không. Nếu làNone(mặc định), kho sẽ ở chế độ công khai trừ khi mặc định của tổ chức là riêng tư. Giá trị này bị bỏ qua nếu kho đã tồn tại. - token (
boolhoặcstr, tùy chọn) — Token được sử dụng làm HTTP bearer authorization cho các tệp từ xa. NếuTrue(mặc định), sẽ sử dụng token được tạo ra khi chạyhf auth login(được lưu trong~/.huggingface). - revision (
str, tùy chọn) — Nhánh để đẩy các tệp đã tải lên. - create_pr (
bool, tùy chọn, mặc định làFalse) — Có tạo PR với các tệp đã tải lên hay commit trực tiếp hay không. - max_shard_size (
inthoặcstr, tùy chọn, mặc định là"50GB") — Chỉ áp dụng cho các model. Kích thước tối đa của một checkpoint trước khi được chia shard. Các checkpoint sau khi chia shard sẽ có kích thước nhỏ hơn giá trị này. Nếu được biểu diễn dưới dạng chuỗi, cần là các chữ số theo sau bởi một đơn vị (ví dụ"5MB"). - tags (
list[str], tùy chọn) — Danh sách các thẻ để đẩy lên Hub.
Tải tệp trình xử lý hình ảnh lên 🤗 Model Hub.
Ví dụ:
from transformers import AutoImageProcessor
image processor = AutoImageProcessor.from_pretrained("google-bert/bert-base-cased")
# Push the image processor to your namespace with the name "my-finetuned-bert".
image processor.push_to_hub("my-finetuned-bert")
# Push the image processor to an organization with the name "my-finetuned-bert".
image processor.push_to_hub("huggingface/my-finetuned-bert")register_for_auto_class
< source >( auto_class = 'AutoImageProcessor' )
Đăng ký lớp này với một lớp auto cho trước. Thao tác này chỉ nên được sử dụng cho các image processor tùy chỉnh vì các image processor trong thư viện đã được ánh xạ với AutoImageProcessor.
save_pretrained
< source >( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )
Tham số
- save_directory (
strhoặcos.PathLike) — Thư mục nơi tệp JSON của bộ xử lý hình ảnh sẽ được lưu (sẽ được tạo nếu chưa tồn tại). - push_to_hub (
bool, tùy chọn, mặc định làFalse) — Có đẩy mô hình của bạn lên Hugging Face model hub sau khi lưu hay không. Bạn có thể chỉ định kho lưu trữ muốn đẩy đến bằngrepo_id(mặc định sẽ là tên củasave_directorytrong namespace của bạn). - kwargs (
dict[str, Any], tùy chọn) — Các đối số từ khóa bổ sung được truyền đến phương thức push_to_hub().
Lưu đối tượng image processor vào thư mục save_directory để có thể tải lại bằng phương thức lớp from_pretrained().
to_dict
< source >( ) → dict[str, Any]
Trả về
dict[str, Any]
Từ điển chứa tất cả các thuộc tính cấu thành lên bản thể image processor này.
Chuẩn hóa bản thể này thành một từ điển Python.
to_json_file
< source >( json_file_path: str | os.PathLike )
Lưu bản thể này vào một tệp JSON.
to_json_string
< source >( ) → str
Trả về
str
Chuỗi chứa tất cả các thuộc tính tạo thành instance feature_extractor này ở định dạng JSON.
Chuẩn hóa bản thể này thành một chuỗi JSON.