# Bộ trích xuất đặc trưng

Feature extractor chịu trách nhiệm chuẩn bị các đặc trưng đầu vào cho các mô hình âm thanh. Điều này bao gồm việc trích xuất đặc trưng từ các chuỗi, ví dụ như tiền xử lý các tệp âm thanh để tạo ra các đặc trưng Log-Mel Spectrogram, và chuyển đổi sang các tensor NumPy và PyTorch.

## FeatureExtractionMixin[[transformers.FeatureExtractionMixin]]

#### transformers.FeatureExtractionMixin[[transformers.FeatureExtractionMixin]]

```python
transformers.FeatureExtractionMixin(**kwargs)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/feature_extraction_utils.py#L266)

Đây là một mixin trích xuất đặc trưng đượ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à âm thanh.

#### from_pretrained[[transformers.FeatureExtractionMixin.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike, cache_dir: str | os.PathLike | None = None, force_download: bool = False, local_files_only: bool = False, token: str | bool | None = None, revision: str = 'main', **kwargs)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/feature_extraction_utils.py#L286)

**Tham số:**

pretrained_model_name_or_path (`str` hoặc `os.PathLike`) : Có thể là một trong các trường hợp sau:  - một chuỗi, *model id* của một feature_extractor được huấn luyện trước và lưu trữ trong kho model trên huggingface.co. - đường dẫn đến một *thư mục* chứa tệp feature extractor đã được lưu bằng phương thức [save_pretrained()](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.FeatureExtractionMixin.save_pretrained), ví dụ: `./my_model_directory/`. - đường dẫn đến tệp JSON *file* của feature extractor đã lưu, ví dụ: `./my_model_directory/preprocessor_config.json`.

cache_dir (`str` hoặc `os.PathLike`, *tùy chọn*) : Đường dẫn đến thư mục mà trình trích xuất đặc trưng 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 (re-) các tệp feature extractor và ghi đè lên các phiên bản đã lưu trong bộ nhớ đệm nếu chúng tồn tại hay không.

proxies (`dict[str, str]`, *tùy 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 được sử dụng cho mỗi yêu cầu.

token (`str` hoặc `bool`, *tùy chọn*) : Token được sử dụng làm HTTP bearer authorization cho các tệp từ xa. Nếu là `True`, hoặc không được chỉ định, sẽ sử dụng token được tạo khi chạy `hf 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 đó `revision` có thể là bất kỳ định danh nào được git cho phép. Để kiểm tra một pull request bạn đã tạo trên Hub, bạn có thể truyền `revision="refs/pr/<pr_number>"`.

return_unused_kwargs (`bool`, *tuỳ chọn*, mặc định là `False`) : Nếu `False`, hàm này chỉ trả về đối tượng feature extractor cuối cùng. Nếu `True`, hàm này trả về một `Tuple(feature_extractor, unused_kwargs)` trong đó *unused_kwargs* là một từ điển gồm các cặp khóa/giá trị mà khóa không phải là thuộc tính của feature extractor: tức là phần của `kwargs` chưa được dùng để cập nhật `feature_extractor` và bị bỏ qua.

kwargs (`dict[str, Any]`, *tùy chọn*) : Các giá trị trong kwargs của bất kỳ khóa nào là thuộc tính của feature extractor sẽ được dùng để ghi đè lên các giá trị đã tải. Hành vi đối với các cặp khóa/giá trị mà khóa của chúng *không phải* là thuộc tính của feature extractor được kiểm soát bởi tham số từ khóa `return_unused_kwargs`.

**Trả về:**

Bộ trích xuất đặc trưng có kiểu [FeatureExtractionMixin](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.FeatureExtractionMixin).

Tạo một kiểu [FeatureExtractionMixin](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.FeatureExtractionMixin) từ một bộ trích xuất đặc trưng, *ví dụ* một lớp kế thừa của [SequenceFeatureExtractor](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.SequenceFeatureExtractor).

Ví dụ:

```python
# We can't instantiate directly the base class *FeatureExtractionMixin* nor *SequenceFeatureExtractor* so let's show the examples on a
# derived class: *Wav2Vec2FeatureExtractor*
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
    "facebook/wav2vec2-base-960h"
)  # Download feature_extraction_config from huggingface.co and cache.
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
    "./test/saved_model/"
)  # E.g. feature_extractor (or model) was saved using *save_pretrained('./test/saved_model/')*
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained("./test/saved_model/preprocessor_config.json")
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
    "facebook/wav2vec2-base-960h", return_attention_mask=False, foo=False
)
assert feature_extractor.return_attention_mask is False
feature_extractor, unused_kwargs = Wav2Vec2FeatureExtractor.from_pretrained(
    "facebook/wav2vec2-base-960h", return_attention_mask=False, foo=False, return_unused_kwargs=True
)
assert feature_extractor.return_attention_mask is False
assert unused_kwargs == {"foo": False}
```

#### save_pretrained[[transformers.FeatureExtractionMixin.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/feature_extraction_utils.py#L390)

**Tham số:**

save_directory (`str` hoặc `os.PathLike`) : Thư mục nơi tệp JSON của bộ trích xuất đặc trưng 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ằng `repo_id` (mặc định sẽ là tên của `save_directory` trong 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()](/docs/transformers/v5.23.0/vi/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub).

Lưu đối tượng feature_extractor vào thư mục `save_directory` để có thể nạp lại bằng phương thức lớp [from_pretrained()](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.FeatureExtractionMixin.from_pretrained).

## SequenceFeatureExtractor[[transformers.SequenceFeatureExtractor]]

#### transformers.SequenceFeatureExtractor[[transformers.SequenceFeatureExtractor]]

```python
transformers.SequenceFeatureExtractor(feature_size: int, sampling_rate: int, padding_value: float, **kwargs)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/feature_extraction_sequence_utils.py#L28)

**Tham số:**

feature_size (`int`) : Kích thước chiều đặc trưng của các đặc trưng đã trích xuất.

sampling_rate (`int`) : Tốc độ lấy mẫu mà các tệp âm thanh nên được số hóa, được biểu diễn bằng hertz (Hz).

padding_value (`float`) : Giá trị được sử dụng để điền vào các giá trị / vector đệm.

Đây là một lớp trích xuất đặc trưng chung cho nhận dạng giọng nói.

#### pad[[transformers.SequenceFeatureExtractor.pad]]

```python
pad(processed_features: transformers.feature_extraction_utils.BatchFeature | list[transformers.feature_extraction_utils.BatchFeature] | dict[str, transformers.feature_extraction_utils.BatchFeature] | dict[str, list[transformers.feature_extraction_utils.BatchFeature]] | list[dict[str, transformers.feature_extraction_utils.BatchFeature]], padding: bool | str | transformers.utils.generic.PaddingStrategy = True, max_length: int | None = None, truncation: bool = False, pad_to_multiple_of: int | None = None, return_attention_mask: bool | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/feature_extraction_sequence_utils.py#L51)

**Tham số:**

processed_features ([BatchFeature](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.BatchFeature), list of [BatchFeature](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.BatchFeature), `dict[str, list[float]]`, `dict[str, list[list[float]]` hoặc `list[dict[str, list[float]]]`) : Đầu vào đã được xử lý. Có thể đại diện cho một đầu vào ([BatchFeature](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.BatchFeature) hoặc `dict[str, list[float]]`) hoặc một batch các giá trị / vector đầu vào (list of [BatchFeature](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.BatchFeature), *dict[str, list[list[float]]]* hoặc *list[dict[str, list[float]]]*) để bạn có thể sử dụng phương thức này trong cả tiền xử lý lẫn trong hàm collate của PyTorch Dataloader. Thay vì `list[float]`, bạn có thể có các tensor (mảng numpy hoặc tensor PyTorch), xem ghi chú phía trên về kiểu trả về.

padding (`bool`, `str` hoặc [PaddingStrategy](/docs/transformers/v5.23.0/vi/internal/file_utils#transformers.utils.PaddingStrategy), *tuỳ chọn*, mặc định là `True`) : Chọn một chiến lược để đệm các chuỗi được trả về (theo phía đệm và chỉ số đệm của mô hình) trong số:  - `True` hoặc `'longest'`: Đệm đến chuỗi dài nhất trong lô (hoặc không đệm nếu chỉ có một chuỗi được cung cấp). - `'max_length'`: Đệm đến độ dài tối đa được chỉ định bằng tham số `max_length` hoặc đến độ dài đầu vào tối đa chấp nhận được cho mô hình nếu tham số đó không được cung cấp. - `False` hoặc `'do_not_pad'` (mặc định): Không đệm (tức là có thể xuất ra một lô với các chuỗi có độ dài khác nhau).

max_length (`int`, *optional*) : Độ dài tối đa của danh sách được trả về và tùy chọn độ dài padding (xem bên trên).

truncation (`bool`) : Kích hoạt việc cắt ngắn để giảm các chuỗi đầu vào dài hơn `max_length` xuống còn `max_length`.

pad_to_multiple_of (`int`, *optional*) : Nếu được đặt, sẽ đệm chuỗi đến một bội số của giá trị được cung cấp. Điều này đặc biệt hữu ích để cho phép sử dụng Tensor Cores trên phần cứng NVIDIA có khả năng tính toán `>= 7.5` (Volta), hoặc trên TPU, nơi mà việc có độ dài chuỗi là bội số của 128 sẽ mang lại lợi ích.

return_attention_mask (`bool`, *tùy chọn*) : Có trả về attention mask hay không. Nếu để mặc định, sẽ trả về attention mask theo mặc định của feature_extractor cụ thể.  [Attention mask là gì?](../glossary#attention-mask)

return_tensors (`str` hoặc [TensorType](/docs/transformers/v5.23.0/vi/internal/file_utils#transformers.TensorType), *optional*) : Nếu được đặt, sẽ trả về các tensor thay vì danh sách các số nguyên python. Các giá trị chấp nhận được là:  - `'pt'`: Trả về các đối tượng `torch.Tensor` của PyTorch. - `'np'`: Trả về các đối tượng `np.ndarray` của Numpy.

Đệm các giá trị đầu vào / vector đầu vào hoặc một lô các giá trị đầu vào / vector đầu vào lên đến độ dài định trước hoặc độ dài chuỗi tối đa trong lô.

Bên đệm (trái/phải) các giá trị đệm được định nghĩa ở cấp bộ trích xuất đặc trưng (với `self.padding_side`, `self.padding_value`)

Nếu `processed_features` được truyền vào là từ điển các mảng numpy hoặc tensor PyTorch, kết quả sẽ sử dụng cùng loại đó, trừ khi bạn cung cấp một loại tensor khác bằng `return_tensors`. Trong trường hợp tensor PyTorch, bạn sẽ mất thông tin về thiết bị cụ thể của các tensor đó.

## BatchFeature[[transformers.BatchFeature]]

#### transformers.BatchFeature[[transformers.BatchFeature]]

```python
transformers.BatchFeature(data: dict[str, typing.Any] | None = None, tensor_type: None | str | transformers.utils.generic.TensorType = None, skip_tensor_conversion: list[str] | set[str] | None = None)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/feature_extraction_utils.py#L58)

**Tham số:**

data (`dict`, *tùy chọn*) : Từ điển chứa các danh sách/mảng/tensor được trả về bởi các phương thức __call__/pad ('input_values', 'attention_mask', v.v.).

tensor_type (`Union[None, str, TensorType]`, *tùy chọn*) : Bạn có thể cung cấp tensor_type tại đây để chuyển đổi các danh sách số nguyên thành Tensor PyTorch/Numpy khi khởi tạo.

skip_tensor_conversion (`list[str]` hoặc `set[str]`, *tùy chọn*) : Danh sách hoặc tập hợp các khóa không được chuyển đổi thành tensor, ngay cả khi `tensor_type` được chỉ định.

Chứa kết quả đầu ra của các phương thức [pad()](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.SequenceFeatureExtractor.pad) và `__call__` cụ thể của bộ trích xuất đặc trưng.

Lớp này được kế thừa từ một từ điển python và có thể được sử dụng như một từ điển.

#### convert_to_tensors[[transformers.BatchFeature.convert_to_tensors]]

```python
convert_to_tensors(tensor_type: str | transformers.utils.generic.TensorType | None = None, skip_tensor_conversion: list[str] | set[str] | None = None)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/feature_extraction_utils.py#L158)

**Tham số:**

tensor_type (`str` hoặc [TensorType](/docs/transformers/v5.23.0/vi/internal/file_utils#transformers.TensorType), *optional*) : Kiểu của các tensor cần sử dụng. Nếu là `str`, phải là một trong các giá trị của enum [TensorType](/docs/transformers/v5.23.0/vi/internal/file_utils#transformers.TensorType). Nếu là `None`, sẽ không thực hiện thay đổi nào.

skip_tensor_conversion (`list[str]` hoặc `set[str]`, *tùy chọn*) : Danh sách hoặc tập hợp các khóa không được chuyển đổi thành tensor, ngay cả khi `tensor_type` được chỉ định.

Chuyển đổi nội dung bên trong thành các tensor.

Lưu ý: Các giá trị không có cấu trúc dạng mảng (ví dụ: chuỗi, dict, danh sách các chuỗi) sẽ được tự động bỏ qua và không được chuyển đổi thành tensor. Các mảng không đều (danh sách các mảng có độ dài khác nhau) vẫn sẽ được thử chuyển đổi, mặc dù chúng có thể gây ra lỗi trong quá trình chuyển đổi.

#### đến[[transformers.BatchFeature.to]]

```python
to(*args, **kwargs)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/feature_extraction_utils.py#L215)

**Tham số:**

args (`Tuple`) : Sẽ được truyền vào hàm `to(...)` của các tensor.

kwargs (`Dict`, *tùy chọn*) : Sẽ được truyền vào hàm `to(...)` của các tensor. Để bật chuyển dữ liệu bất đồng bộ, hãy đặt cờ `non_blocking` trong `kwargs` (mặc định là `False`).

**Trả về:** [BatchFeature](/docs/transformers/v5.23.0/vi/main_classes/feature_extractor#transformers.BatchFeature)

Cùng một instance sau khi được sửa đổi.

Gửi tất cả các giá trị đến thiết bị bằng cách gọi `v.to(*args, **kwargs)` (chỉ PyTorch). Thao tác này nên hỗ trợ chuyển đổi sang các `dtypes` khác nhau và gửi `BatchFeature` đến một `device` khác.

## ImageFeatureExtractionMixin[[transformers.ImageFeatureExtractionMixin]]

#### transformers.ImageFeatureExtractionMixin[[transformers.ImageFeatureExtractionMixin]]

```python
transformers.ImageFeatureExtractionMixin()
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L649)

Mixin chứa các tiện ích để chuẩn bị các đặc trưng hình ảnh.

#### center_crop[[transformers.ImageFeatureExtractionMixin.center_crop]]

```python
center_crop(image, size)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L883)

**Tham số:**

image (`PIL.Image.Image` hoặc `np.ndarray` hoặc `torch.Tensor` có hình dạng (n_channels, height, width) hoặc (height, width, n_channels)) : Ảnh cần thay đổi kích thước.

size (`int` hoặc `tuple[int, int]`) : Kích thước để cắt ảnh.

**Trả về:** `new_image`

Một `PIL.Image.Image` hoặc `np.ndarray` hoặc `torch.Tensor` được cắt ở giữa, có hình dạng: (n_channels, height, width).

Cắt `image` thành kích thước cho trước 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 trước, nó sẽ được đệm (để kết quả trả về có đúng kích thước yêu cầu).

#### convert_rgb[[transformers.ImageFeatureExtractionMixin.convert_rgb]]

```python
convert_rgb(image)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L691)

**Tham số:**

image (`PIL.Image.Image`) : Ảnh cần chuyển đổi.

Chuyển đổi `PIL.Image.Image` sang định dạng RGB.

#### expand_dims[[transformers.ImageFeatureExtractionMixin.expand_dims]]

```python
expand_dims(image)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L744)

**Tham số:**

image (`PIL.Image.Image` hoặc `np.ndarray` hoặc `torch.Tensor`) : Ảnh cần mở rộng.

Mở rộng `image` 2 chiều thành 3 chiều.

#### flip_channel_order[[transformers.ImageFeatureExtractionMixin.flip_channel_order]]

```python
flip_channel_order(image)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L958)

**Tham số:**

image (`PIL.Image.Image` hoặc `np.ndarray` hoặc `torch.Tensor`) : Ảnh cần đảo kênh màu. Nếu là `np.ndarray` hoặc `torch.Tensor`, chiều kênh phải ở đầu.

Đảo thứ tự kênh của `image` từ RGB sang BGR, hoặc ngược lại. Lưu ý rằng điều này sẽ kích hoạt việc chuyển đổi `image` thành mảng NumPy nếu nó là một hình ảnh PIL.

#### normalize[[transformers.ImageFeatureExtractionMixin.normalize]]

```python
normalize(image, mean, std, rescale = False)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L764)

**Tham số:**

image (`PIL.Image.Image` hoặc `np.ndarray` hoặc `torch.Tensor`) : Ảnh cần chuẩn hóa.

mean (`list[float]` hoặc `np.ndarray` hoặc `torch.Tensor`) : Giá trị trung bình (theo từng kênh) được sử dụng để chuẩn hóa.

std (`list[float]` hoặc `np.ndarray` hoặc `torch.Tensor`) : Độ lệch chuẩn (theo từng kênh) được sử dụng để chuẩn hóa.

rescale (`bool`, *tùy chọn*, mặc định là `False`) : Có nên điều chỉnh lại tỷ lệ hình ảnh để nằm trong khoảng từ 0 đến 1 hay không. Nếu hình ảnh PIL được cung cấp, việc điều chỉnh tỷ lệ sẽ diễn ra tự động.

Chuẩn hóa `image` bằng `mean` và `std`. Lưu ý rằng điều này sẽ kích hoạt việc chuyển đổi `image` thành mảng NumPy nếu nó là ảnh PIL.

#### rescale[[transformers.ImageFeatureExtractionMixin.rescale]]

```python
rescale(image: ndarray, scale: float | int)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L705)

Thay đổi tỷ lệ của một ảnh numpy theo giá trị scale

#### resize[[transformers.ImageFeatureExtractionMixin.resize]]

```python
resize(image, size, resample = None, default_to_square = True, max_size = None)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L816)

**Tham số:**

image (`PIL.Image.Image` hoặc `np.ndarray` hoặc `torch.Tensor`) : Ảnh cần thay đổi kích thước.

size (`int` hoặc `tuple[int, int]`) : Kích thước cần dùng để thay đổi kích thước ảnh. Nếu `size` là một chuỗi như (h, w), kích thước đầu ra sẽ khớp với giá trị này. Nếu `size` là một số nguyên và `default_to_square` là `True`, ảnh sẽ được thay đổi kích thước thành (size, size). Nếu `size` là một số nguyên và `default_to_square` là `False`, cạnh nhỏ hơn của ảnh sẽ được khớp với số này. Ví dụ, nếu chiều cao > chiều rộng, ảnh sẽ được thu phóng thành (size * height / width, size).

resample (`int`, *tuỳ chọn*, mặc định là `PILImageResampling.BILINEAR`) : Bộ lọc dùng để lấy mẫu lại.

default_to_square (`bool`, *tuỳ chọn*, mặc định là `True`) : Cách chuyển đổi `size` khi nó là một int đơn lẻ. Nếu đặt thành `True`, `size` sẽ được chuyển đổi thành hình vuông (`size`,`size`). Nếu đặt thành `False`, sẽ sao chép [`torchvision.transforms.Resize`](https://pytorch.org/vision/stable/transforms.html#torchvision.transforms.Resize) với khả năng hỗ trợ chỉ thay đổi kích thước cạnh nhỏ nhất và cung cấp `max_size` tuỳ chọn.

max_size (`int`, *tuỳ chọn*, mặc định là `None`) : Giá trị tối đa cho phép của cạnh dài hơn của ảnh đã được thay đổi kích thước: nếu cạnh dài hơn của ảnh lớn hơn `max_size` sau khi được thay đổi kích thước theo `size`, thì ảnh sẽ được thay đổi kích thước một lần nữa sao cho cạnh dài hơn bằng `max_size`. Kết quả là, `size` có thể bị ghi đè, tức là cạnh ngắn hơn có thể ngắn hơn `size`. Chỉ được sử dụng nếu `default_to_square` là `False`.

**Trả về:** `image`

Một `PIL.Image.Image` đã được thay đổi kích thước.

Đổi kích thước `image`. Buộc chuyển đổi đầu vào sang PIL.Image.

#### xoay[[transformers.ImageFeatureExtractionMixin.rotate]]

```python
rotate(image, angle, resample = None, expand = 0, center = None, translate = None, fillcolor = None)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L975)

**Tham số:**

image (`PIL.Image.Image` hoặc `np.ndarray` hoặc `torch.Tensor`) : Ảnh cần xoay. Nếu là `np.ndarray` hoặc `torch.Tensor`, sẽ được chuyển đổi sang `PIL.Image.Image` trước khi xoay.

**Trả về:** `image`

Một `PIL.Image.Image` đã được xoay.

Trả về một bản sao đã xoay của `image`. Phương thức này trả về một bản sao của `image`, được xoay một số độ cho trước theo chiều ngược kim đồng hồ quanh tâm của nó.

#### to_numpy_array[[transformers.ImageFeatureExtractionMixin.to_numpy_array]]

```python
to_numpy_array(image, rescale = None, channel_first = True)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L712)

**Tham số:**

image (`PIL.Image.Image` hoặc `np.ndarray` hoặc `torch.Tensor`) : Ảnh cần chuyển đổi thành mảng NumPy.

rescale (`bool`, *tuỳ chọn*) : Có áp dụng hệ số tỷ lệ hay không (để giá trị pixel trở thành số thực nằm trong khoảng từ 0. đến 1.). Mặc định là `True` nếu ảnh là PIL Image hoặc mảng/tensor của các số nguyên, ngược lại là `False`.

channel_first (`bool`, *tùy chọn*, mặc định là `True`) : Có hoán vị các chiều của hình ảnh để đặt chiều kênh lên đầu hay không.

Chuyển đổi `image` thành mảng numpy. Tùy chọn để tỷ lệ lại và đặt chiều kênh làm chiều đầu tiên.

#### to_pil_image[[transformers.ImageFeatureExtractionMixin.to_pil_image]]

```python
to_pil_image(image, rescale = None)
```

[Nguồn](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_utils.py#L661)

**Tham số:**

image (`PIL.Image.Image` hoặc `numpy.ndarray` hoặc `torch.Tensor`) : Ảnh cần chuyển đổi sang định dạng PIL Image.

rescale (`bool`, *optional*) : Có áp dụng hệ số tỷ lệ (để làm cho giá trị pixel là số nguyên từ 0 đến 255) hay không. Mặc định là `True` nếu kiểu ảnh là kiểu số thực, `False` trong các trường hợp khác.

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.

