Transformers 文件
RegNet
並獲得增強的文件體驗
開始使用
RegNet
概述
RegNet 模型由 Ilija Radosavovic、Raj Prateek Kosaraju、Ross Girshick、Kaiming He、Piotr Dollár 在 Designing Network Design Spaces 一文中提出。
作者設計了搜尋空間來執行神經網路架構搜尋(NAS)。他們首先從高維搜尋空間開始,然後根據當前搜尋空間中取樣到的最佳效能模型,透過經驗性地應用約束來迭代地縮小搜尋空間。
論文摘要如下:
在這項工作中,我們提出了一種新的網路設計正規化。我們的目標是幫助增進對網路設計的理解,並發現可泛化到不同設定的設計原則。我們不再專注於設計單個網路例項,而是設計引數化網路群體的網路設計空間。整個過程類似於經典的手動網路設計,但提升到了設計空間層面。透過我們的方法,我們探索了網路設計的結構方面,並得到了一個由簡單、規則網路組成的低維設計空間,我們稱之為 RegNet。RegNet 引數化的核心思想出奇地簡單:優秀網路的寬度和深度可以用分段線性函式來解釋。我們分析了 RegNet 設計空間,並得出了與當前網路設計實踐不符的有趣發現。RegNet 設計空間提供了簡單、快速的網路,在各種浮點運算(flop)方案中都能很好地工作。在可比較的訓練設定和浮點運算量下,RegNet 模型優於流行的 EfficientNet 模型,並且在 GPU 上速度可達 5 倍。
該模型由 Francesco 貢獻。該模型的 TensorFlow 版本由 sayakpaul 和 ariG23498 貢獻。原始程式碼可以在 這裡 找到。
來自 Self-supervised Pretraining of Visual Features in the Wild 的大型 10B 模型,在十億張 Instagram 影像上訓練,可在 Hub 上獲取。
資源
Hugging Face 官方資源和社群(由 🌎 指示)資源列表,幫助您開始使用 RegNet。
- RegNetForImageClassification 由此示例指令碼和notebook支援。
- 另請參閱:影像分類任務指南
如果您有興趣在此處提交資源,請隨時開啟 Pull Request,我們將對其進行審查!該資源最好能展示一些新內容,而不是重複現有資源。
RegNetConfig
class transformers.RegNetConfig
< 源 >( num_channels = 3 embedding_size = 32 hidden_sizes = [128, 192, 512, 1088] depths = [2, 6, 12, 2] groups_width = 64 layer_type = 'y' hidden_act = 'relu' **kwargs )
引數
- num_channels (
int
, 可選, 預設為 3) — 輸入通道數。 - embedding_size (
int
, 可選, 預設為 64) — 嵌入層的維度(隱藏大小)。 - hidden_sizes (
list[int]
, 可選, 預設為[256, 512, 1024, 2048]
) — 每個階段的維度(隱藏大小)。 - depths (
list[int]
, 可選, 預設為[3, 4, 6, 3]
) — 每個階段的深度(層數)。 - layer_type (
str
, 可選, 預設為"y"
) — 要使用的層,可以是"x"
或"y"
。x
層是 ResNet 的 BottleNeck 層,其中reduction
固定為1
。而y
層是帶有擠壓和激勵的x
層。請參閱論文以獲取這些層如何構建的詳細解釋。 - hidden_act (
str
, 可選, 預設為"relu"
) — 每個塊中的非線性啟用函式。如果為字串,則支援"gelu"
、"relu"
、"selu"
和"gelu_new"
。 - downsample_in_first_stage (
bool
, 可選, 預設為False
) — 如果為True
,第一階段將使用步長 2 對輸入進行下采樣。
這是用於儲存 RegNetModel 配置的配置類。它用於根據指定引數例項化 RegNet 模型,定義模型架構。使用預設值例項化配置將產生與 RegNet facebook/regnet-y-040 架構類似的配置。
配置物件繼承自 PretrainedConfig,可用於控制模型輸出。有關更多資訊,請查閱 PretrainedConfig 的文件。
示例
>>> from transformers import RegNetConfig, RegNetModel
>>> # Initializing a RegNet regnet-y-40 style configuration
>>> configuration = RegNetConfig()
>>> # Initializing a model from the regnet-y-40 style configuration
>>> model = RegNetModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
RegNetModel
class transformers.RegNetModel
< 源 >( config )
引數
- config (RegNetModel) — 包含模型所有引數的模型配置類。使用配置檔案初始化並不會載入與模型相關的權重,只會載入配置。請查閱 from_pretrained() 方法以載入模型權重。
裸 Regnet 模型,輸出原始隱藏狀態,頂部沒有任何特定頭部。
此模型繼承自 PreTrainedModel。查閱超類文件以瞭解庫為其所有模型實現的通用方法(例如下載或儲存、調整輸入嵌入大小、修剪頭部等)。
此模型也是 PyTorch torch.nn.Module 子類。將其作為常規 PyTorch 模組使用,並參考 PyTorch 文件以瞭解與通用用法和行為相關的所有事項。
forward
< 源 >( pixel_values: Tensor output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) → transformers.modeling_outputs.BaseModelOutputWithPoolingAndNoAttention
或 tuple(torch.FloatTensor)
引數
- pixel_values (形狀為
(batch_size, num_channels, image_size, image_size)
的torch.Tensor
) — 對應於輸入影像的張量。畫素值可以使用{image_processor_class}
獲取。詳情請參閱{image_processor_class}.__call__
({processor_class}
使用{image_processor_class}
處理影像)。 - output_hidden_states (
bool
, 可選) — 是否返回所有層的隱藏狀態。有關更多詳細資訊,請參閱返回張量下的hidden_states
。 - return_dict (
bool
, 可選) — 是否返回 ModelOutput 而不是普通元組。
返回
transformers.modeling_outputs.BaseModelOutputWithPoolingAndNoAttention
或 tuple(torch.FloatTensor)
一個 transformers.modeling_outputs.BaseModelOutputWithPoolingAndNoAttention
或一個 torch.FloatTensor
元組(如果傳遞 return_dict=False
或 config.return_dict=False
),包含根據配置(RegNetConfig)和輸入的不同元素。
-
last_hidden_state (
torch.FloatTensor
, 形狀為(batch_size, num_channels, height, width)
) — 模型最後一層輸出的隱藏狀態序列。 -
pooler_output (
torch.FloatTensor
, 形狀為(batch_size, hidden_size)
) — 經過空間維度池化操作後的最後一層隱藏狀態。 -
hidden_states (
tuple(torch.FloatTensor)
, 可選, 當output_hidden_states=True
被傳遞或當config.output_hidden_states=True
時返回) —torch.FloatTensor
的元組(一個用於嵌入層輸出,如果模型有嵌入層,+ 一個用於每個層輸出),形狀為(batch_size, num_channels, height, width)
。模型在每個層輸出的隱藏狀態以及可選的初始嵌入輸出。
RegNetModel 的 forward 方法,重寫了 `__call__` 特殊方法。
儘管前向傳播的配方需要在該函式中定義,但在此之後應該呼叫 Module
例項,因為前者負責執行預處理和後處理步驟,而後者則默默地忽略它們。
RegNetForImageClassification
class transformers.RegNetForImageClassification
< 源 >( config )
引數
- config (RegNetForImageClassification) — 包含模型所有引數的模型配置類。使用配置檔案初始化並不會載入與模型相關的權重,只會載入配置。請查閱 from_pretrained() 方法以載入模型權重。
帶有影像分類頭(在池化特徵頂部的一個線性層)的 RegNet 模型,例如用於 ImageNet。
此模型繼承自 PreTrainedModel。查閱超類文件以瞭解庫為其所有模型實現的通用方法(例如下載或儲存、調整輸入嵌入大小、修剪頭部等)。
此模型也是 PyTorch torch.nn.Module 子類。將其作為常規 PyTorch 模組使用,並參考 PyTorch 文件以瞭解與通用用法和行為相關的所有事項。
forward
< 源 >( pixel_values: typing.Optional[torch.FloatTensor] = None labels: typing.Optional[torch.LongTensor] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) → transformers.modeling_outputs.ImageClassifierOutputWithNoAttention 或 tuple(torch.FloatTensor)
引數
- pixel_values (形狀為
(batch_size, num_channels, image_size, image_size)
的torch.FloatTensor
, 可選) — 對應於輸入影像的張量。畫素值可以使用{image_processor_class}
獲取。詳情請參閱{image_processor_class}.__call__
({processor_class}
使用{image_processor_class}
處理影像)。 - labels (形狀為
(batch_size,)
的torch.LongTensor
, 可選) — 用於計算影像分類/迴歸損失的標籤。索引應在[0, ..., config.num_labels - 1]
範圍內。如果config.num_labels > 1
,則計算分類損失(交叉熵)。 - output_hidden_states (
bool
, 可選) — 是否返回所有層的隱藏狀態。有關更多詳細資訊,請參閱返回張量下的hidden_states
。 - return_dict (
bool
, 可選) — 是否返回 ModelOutput 而不是普通元組。
返回
transformers.modeling_outputs.ImageClassifierOutputWithNoAttention 或 tuple(torch.FloatTensor)
一個 transformers.modeling_outputs.ImageClassifierOutputWithNoAttention 或一個 torch.FloatTensor
元組(如果傳遞 return_dict=False
或 config.return_dict=False
),包含根據配置(RegNetConfig)和輸入的不同元素。
- loss (形狀為
(1,)
的torch.FloatTensor
,可選,當提供labels
時返回) — 分類損失(如果 config.num_labels==1,則為迴歸損失)。 - logits (形狀為
(batch_size, config.num_labels)
的torch.FloatTensor
) — 分類(如果 config.num_labels==1,則為迴歸)分數(SoftMax 之前)。 - hidden_states (
tuple(torch.FloatTensor)
, 可選, 當output_hidden_states=True
被傳遞或當config.output_hidden_states=True
時返回) —torch.FloatTensor
的元組(一個用於嵌入層輸出,如果模型有嵌入層,+ 一個用於每個階段輸出),形狀為(batch_size, num_channels, height, width)
。模型的隱藏狀態(也稱為特徵圖)位於每個階段的輸出處。
RegNetForImageClassification 的 forward 方法,重寫了 `__call__` 特殊方法。
儘管前向傳播的配方需要在該函式中定義,但在此之後應該呼叫 Module
例項,因為前者負責執行預處理和後處理步驟,而後者則默默地忽略它們。
示例
>>> from transformers import AutoImageProcessor, RegNetForImageClassification
>>> import torch
>>> from datasets import load_dataset
>>> dataset = load_dataset("huggingface/cats-image")
>>> image = dataset["test"]["image"][0]
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/regnet-y-040")
>>> model = RegNetForImageClassification.from_pretrained("facebook/regnet-y-040")
>>> inputs = image_processor(image, return_tensors="pt")
>>> with torch.no_grad():
... logits = model(**inputs).logits
>>> # model predicts one of the 1000 ImageNet classes
>>> predicted_label = logits.argmax(-1).item()
>>> print(model.config.id2label[predicted_label])
...
TFRegNetModel
class transformers.TFRegNetModel
< 源 >( config: RegNetConfig *inputs **kwargs )
引數
- config (RegNetConfig) — 包含模型所有引數的模型配置類。使用配置檔案初始化並不會載入與模型相關的權重,只會載入配置。請查閱 from_pretrained() 方法以載入模型權重。
裸 RegNet 模型,輸出原始特徵,頂部沒有任何特定頭部。此模型是 Tensorflow keras.layers.Layer 子類。將其作為常規 Tensorflow 模組使用,並參考 Tensorflow 文件以瞭解與通用用法和行為相關的所有事項。
呼叫
< 源 >( pixel_values: Tensor output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None training: bool = False ) → transformers.modeling_tf_outputs.TFBaseModelOutputWithPoolingAndNoAttention
或 tuple(tf.Tensor)
引數
- pixel_values (形狀為
(batch_size, num_channels, height, width)
的tf.Tensor
) — 畫素值。畫素值可以使用 AutoImageProcessor 獲取。詳情請參閱ConveNextImageProcessor.__call__
。 - output_hidden_states (
bool
, 可選) — 是否返回所有層的隱藏狀態。有關更多詳細資訊,請參閱返回張量下的hidden_states
。 - return_dict (
bool
, 可選) — 是否返回 ModelOutput 而不是普通元組。
返回
transformers.modeling_tf_outputs.TFBaseModelOutputWithPoolingAndNoAttention
或 tuple(tf.Tensor)
一個 transformers.modeling_tf_outputs.TFBaseModelOutputWithPoolingAndNoAttention
或一個 tf.Tensor
元組(如果傳遞 return_dict=False
或 config.return_dict=False
),包含根據配置(RegNetConfig)和輸入的不同元素。
-
last_hidden_state (形狀為
(batch_size, num_channels, height, width)
的tf.Tensor
) — 模型最後一層輸出的隱藏狀態序列。 -
pooler_output (形狀為
(batch_size, hidden_size)
的tf.Tensor
) — 在空間維度上進行池化操作後最後一層的隱藏狀態。 -
hidden_states (
tuple(tf.Tensor)
, 可選, 當output_hidden_states=True
被傳遞或當config.output_hidden_states=True
時返回) —tf.Tensor
的元組(一個用於嵌入層輸出,如果模型有嵌入層,+ 一個用於每個層輸出),形狀為(batch_size, num_channels, height, width)
。模型在每個層輸出的隱藏狀態以及可選的初始嵌入輸出。
RegNetModel 的 call 方法,重寫了 `__call__` 特殊方法。
儘管前向傳播的配方需要在該函式中定義,但在此之後應該呼叫 Module
例項,因為前者負責執行預處理和後處理步驟,而後者則默默地忽略它們。
示例
>>> from transformers import AutoImageProcessor, TFRegNetModel
>>> from datasets import load_dataset
>>> dataset = load_dataset("huggingface/cats-image")
>>> image = dataset["test"]["image"][0]
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/regnet-y-040")
>>> model = TFRegNetModel.from_pretrained("facebook/regnet-y-040")
>>> inputs = image_processor(image, return_tensors="tf")
>>> outputs = model(**inputs)
>>> last_hidden_states = outputs.last_hidden_state
>>> list(last_hidden_states.shape)
[1, 1088, 7, 7]
TFRegNetForImageClassification
class transformers.TFRegNetForImageClassification
< 源 >( config: RegNetConfig *inputs **kwargs )
引數
- config (RegNetConfig) — 包含模型所有引數的模型配置類。使用配置檔案初始化並不會載入與模型相關的權重,只會載入配置。請查閱 from_pretrained() 方法以載入模型權重。
帶有影像分類頭(在池化特徵頂部的一個線性層)的 RegNet 模型,例如用於 ImageNet。
此模型是 Tensorflow keras.layers.Layer 子類。將其作為常規 Tensorflow 模組使用,並參考 Tensorflow 文件以瞭解與通用用法和行為相關的所有事項。
呼叫
< 源 >( pixel_values: typing.Optional[tensorflow.python.framework.tensor.Tensor] = None labels: typing.Optional[tensorflow.python.framework.tensor.Tensor] = None output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None training: bool = False ) → transformers.modeling_tf_outputs.TFSequenceClassifierOutput 或 tuple(tf.Tensor)
引數
- pixel_values (形狀為
(batch_size, num_channels, height, width)
的tf.Tensor
) — 畫素值。畫素值可以使用 AutoImageProcessor 獲取。詳情請參閱ConveNextImageProcessor.__call__
。 - output_hidden_states (
bool
, 可選) — 是否返回所有層的隱藏狀態。有關更多詳細資訊,請參閱返回張量下的hidden_states
。 - return_dict (
bool
, 可選) — 是否返回 ModelOutput 而不是普通元組。 - labels (
tf.Tensor
,形狀為(batch_size,)
,可選) — 用於計算影像分類/迴歸損失的標籤。索引應在[0, ..., config.num_labels - 1]
範圍內。如果config.num_labels > 1
,則計算分類損失(交叉熵)。
返回
transformers.modeling_tf_outputs.TFSequenceClassifierOutput 或 tuple(tf.Tensor)
一個 transformers.modeling_tf_outputs.TFSequenceClassifierOutput 或一個 tf.Tensor
元組(如果傳入 return_dict=False
或當 config.return_dict=False
時),包含根據配置 (RegNetConfig) 和輸入而定的各種元素。
-
loss (
tf.Tensor
,形狀為(batch_size, )
,可選,當提供labels
時返回) — 分類損失(如果 config.num_labels==1,則為迴歸損失)。 -
logits (
tf.Tensor
,形狀為(batch_size, config.num_labels)
) — 分類(或迴歸,如果 config.num_labels==1)分數(SoftMax 之前)。 -
hidden_states (
tuple(tf.Tensor)
,可選,當傳入output_hidden_states=True
或當config.output_hidden_states=True
時返回) —tf.Tensor
的元組(一個用於嵌入層輸出 + 一個用於每個層的輸出),形狀為(batch_size, sequence_length, hidden_size)
。模型在每個層輸出的隱藏狀態加上初始嵌入輸出。
-
attentions (
tuple(tf.Tensor)
,可選,當傳入output_attentions=True
或當config.output_attentions=True
時返回) —tf.Tensor
的元組(每個層一個),形狀為(batch_size, num_heads, sequence_length, sequence_length)
。注意力 softmax 後的注意力權重,用於計算自注意力頭中的加權平均值。
TFRegNetForImageClassification 的 forward 方法,覆蓋了 __call__
特殊方法。
儘管前向傳播的配方需要在該函式中定義,但在此之後應該呼叫 Module
例項,因為前者負責執行預處理和後處理步驟,而後者則默默地忽略它們。
示例
>>> from transformers import AutoImageProcessor, TFRegNetForImageClassification
>>> import tensorflow as tf
>>> from datasets import load_dataset
>>> dataset = load_dataset("huggingface/cats-image"))
>>> image = dataset["test"]["image"][0]
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/regnet-y-040")
>>> model = TFRegNetForImageClassification.from_pretrained("facebook/regnet-y-040")
>>> inputs = image_processor(image, return_tensors="tf")
>>> logits = model(**inputs).logits
>>> # model predicts one of the 1000 ImageNet classes
>>> predicted_label = int(tf.math.argmax(logits, axis=-1))
>>> print(model.config.id2label[predicted_label])
tabby, tabby cat
FlaxRegNetModel
class transformers.FlaxRegNetModel
< source >( config: RegNetConfig input_shape = (1, 224, 224, 3) seed: int = 0 dtype: dtype = <class 'jax.numpy.float32'> _do_init: bool = True **kwargs )
引數
- config (RegNetConfig) — 模型配置類,包含模型的所有引數。使用配置檔案初始化並不會載入與模型相關的權重,僅載入配置。檢視 from_pretrained() 方法以載入模型權重。
- dtype (
jax.numpy.dtype
,可選,預設為jax.numpy.float32
) — 計算的資料型別。可以是jax.numpy.float32
、jax.numpy.float16
(在 GPU 上)和jax.numpy.bfloat16
(在 TPU 上)之一。這可用於在 GPU 或 TPU 上啟用混合精度訓練或半精度推理。如果指定,所有計算都將使用給定的
dtype
執行。請注意,這僅指定計算的 dtype,不影響模型引數的 dtype。
裸 RegNet 模型,輸出原始特徵,頂部沒有特定頭部。
此模型繼承自 FlaxPreTrainedModel。有關庫為其所有模型實現的通用方法(例如下載、儲存和轉換 PyTorch 模型權重)的詳細資訊,請檢視超類文件。
此模型也是 flax.linen.Module 的子類。將其作為常規 Flax linen 模組使用,並參考 Flax 文件中有關一般用法和行為的所有事項。
最後,此模型支援固有的 JAX 功能,例如
__call__
< source >( pixel_values params: typing.Optional[dict] = None train: bool = False output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) → transformers.modeling_flax_outputs.FlaxBaseModelOutputWithPooling 或 tuple(torch.FloatTensor)
返回
transformers.modeling_flax_outputs.FlaxBaseModelOutputWithPooling 或 tuple(torch.FloatTensor)
一個 transformers.modeling_flax_outputs.FlaxBaseModelOutputWithPooling 或一個 torch.FloatTensor
元組(如果傳入 return_dict=False
或當 config.return_dict=False
時),包含根據配置(<class 'transformers.models.regnet.configuration_regnet.RegNetConfig'>
)和輸入而定的各種元素。
-
last_hidden_state (形狀為
(batch_size, sequence_length, hidden_size)
的jnp.ndarray
) — 模型最後一層輸出的隱藏狀態序列。 -
pooler_output (形狀為
(batch_size, hidden_size)
的jnp.ndarray
) — 序列第一個 token(分類 token)的最後一層隱藏狀態,經線性層和 Tanh 啟用函式進一步處理。線性層權重在預訓練期間透過下一句預測(分類)目標進行訓練。 -
hidden_states (
tuple(jnp.ndarray)
,可選,當傳入output_hidden_states=True
或當config.output_hidden_states=True
時返回) —jnp.ndarray
的元組(一個用於嵌入層輸出 + 一個用於每個層的輸出),形狀為(batch_size, sequence_length, hidden_size)
。模型在每個層輸出的隱藏狀態加上初始嵌入輸出。
-
attentions (
tuple(jnp.ndarray)
,可選,當傳入output_attentions=True
或當config.output_attentions=True
時返回) —jnp.ndarray
的元組(每個層一個),形狀為(batch_size, num_heads, sequence_length, sequence_length)
。注意力 softmax 後的注意力權重,用於計算自注意力頭中的加權平均值。
FlaxRegNetPreTrainedModel
的 forward 方法,覆蓋了 __call__
特殊方法。
儘管前向傳播的配方需要在該函式中定義,但在此之後應該呼叫 Module
例項,因為前者負責執行預處理和後處理步驟,而後者則默默地忽略它們。
示例
>>> from transformers import AutoImageProcessor, FlaxRegNetModel
>>> from PIL import Image
>>> import requests
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/regnet-y-040")
>>> model = FlaxRegNetModel.from_pretrained("facebook/regnet-y-040")
>>> inputs = image_processor(images=image, return_tensors="np")
>>> outputs = model(**inputs)
>>> last_hidden_states = outputs.last_hidden_state
FlaxRegNetForImageClassification
class transformers.FlaxRegNetForImageClassification
< source >( config: RegNetConfig input_shape = (1, 224, 224, 3) seed: int = 0 dtype: dtype = <class 'jax.numpy.float32'> _do_init: bool = True **kwargs )
引數
- config (RegNetConfig) — 模型配置類,包含模型的所有引數。使用配置檔案初始化並不會載入與模型相關的權重,僅載入配置。檢視 from_pretrained() 方法以載入模型權重。
- dtype (
jax.numpy.dtype
,可選,預設為jax.numpy.float32
) — 計算的資料型別。可以是jax.numpy.float32
、jax.numpy.float16
(在 GPU 上)和jax.numpy.bfloat16
(在 TPU 上)之一。這可用於在 GPU 或 TPU 上啟用混合精度訓練或半精度推理。如果指定,所有計算都將使用給定的
dtype
執行。請注意,這僅指定計算的 dtype,不影響模型引數的 dtype。
帶有影像分類頭(在池化特徵頂部的一個線性層)的 RegNet 模型,例如用於 ImageNet。
此模型繼承自 FlaxPreTrainedModel。有關庫為其所有模型實現的通用方法(例如下載、儲存和轉換 PyTorch 模型權重)的詳細資訊,請檢視超類文件。
此模型也是 flax.linen.Module 的子類。將其作為常規 Flax linen 模組使用,並參考 Flax 文件中有關一般用法和行為的所有事項。
最後,此模型支援固有的 JAX 功能,例如
__call__
< source >( pixel_values params: typing.Optional[dict] = None train: bool = False output_hidden_states: typing.Optional[bool] = None return_dict: typing.Optional[bool] = None ) → transformers.modeling_flax_outputs.FlaxImageClassifierOutputWithNoAttention
或 tuple(torch.FloatTensor)
返回
transformers.modeling_flax_outputs.FlaxImageClassifierOutputWithNoAttention
或 tuple(torch.FloatTensor)
一個 transformers.modeling_flax_outputs.FlaxImageClassifierOutputWithNoAttention
或一個 torch.FloatTensor
元組(如果傳入 return_dict=False
或當 config.return_dict=False
時),包含根據配置(<class 'transformers.models.regnet.configuration_regnet.RegNetConfig'>
)和輸入而定的各種元素。
- logits (形狀為
(batch_size, config.num_labels)
的jnp.ndarray
) — 分類(如果 config.num_labels==1,則為迴歸)分數(SoftMax 之前)。 - hidden_states (
tuple(jnp.ndarray)
,可選,當傳入output_hidden_states=True
或當 config.output_hidden_states=True
):jnp.ndarray
的元組(如果模型有嵌入層,則其中一個用於嵌入層輸出,加上每個階段輸出的隱藏狀態),形狀為(batch_size, num_channels, height, width)
。模型在每個階段輸出處的隱藏狀態(也稱為特徵圖)。
FlaxRegNetPreTrainedModel
的 forward 方法,覆蓋了 __call__
特殊方法。
儘管前向傳播的配方需要在該函式中定義,但在此之後應該呼叫 Module
例項,因為前者負責執行預處理和後處理步驟,而後者則默默地忽略它們。
示例
>>> from transformers import AutoImageProcessor, FlaxRegNetForImageClassification
>>> from PIL import Image
>>> import jax
>>> import requests
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = Image.open(requests.get(url, stream=True).raw)
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/regnet-y-040")
>>> model = FlaxRegNetForImageClassification.from_pretrained("facebook/regnet-y-040")
>>> inputs = image_processor(images=image, return_tensors="np")
>>> outputs = model(**inputs)
>>> logits = outputs.logits
>>> # model predicts one of the 1000 ImageNet classes
>>> predicted_class_idx = jax.numpy.argmax(logits, axis=-1)
>>> print("Predicted class:", model.config.id2label[predicted_class_idx.item()])