I'm trying to fine-tune resnet-50, but I'm getting errors num_channels = pixel_values.shape[1] 'NoneType' object has no attribute 'shape' AttributeError: 'ConvNextImageProcessor' object has no attribute 'pad' return tokenizer.pad(*pad_args, **pad_kwargs)
from torchvision import datasets, transforms, models
from torch.utils.data import DataLoader, Subset
import torch
from transformers import AutoImageProcessor, AutoModelForImageClassification
from transformers import TrainingArguments, Trainer
from transformers import pipeline
import evaluate
from datasets import load_dataset
from sklearn.metrics import accuracy_score
import numpy as np
dataset = load_dataset("fashion_mnist")
dataset["train"] = dataset["train"].shuffle(seed=42).select(range(1000))
dataset["test"] = dataset["test"].shuffle(seed=42).select(range(100))
processor = AutoImageProcessor.from_pretrained("microsoft/resnet-50")
model = AutoModelForImageClassification.from_pretrained("microsoft/resnet-50")
metric = evaluate.load("accuracy")
def compute_metrics(eval_pred):
logits, labels = eval_pred
predictions = np.argmax(logits, axis=-1)
return metric.compute(predictions=predictions, references=labels)
training_args = TrainingArguments(
output_dir="test_trainer",
evaluation_strategy="epoch"
)
trainer = Trainer(
model=model,
tokenizer=processor,
args=training_args,
train_dataset=dataset["train"],
eval_dataset=dataset["test"],
compute_metrics=compute_metrics,
)
trainer.train()
venv\Lib\site-packages\transformers\data\data_collator.py:59, in pad_without_fast_tokenizer_warning(tokenizer, *pad_args, **pad_kwargs)
57 # To avoid errors when using Feature extractors
58 if not hasattr(tokenizer, "deprecation_warnings"):
---> 59 return tokenizer.pad(*pad_args, **pad_kwargs)
61 # Save the state of the warning, then disable it
62 warning_state = tokenizer.deprecation_warnings.get("Asking-to-pad-a-fast-tokenizer", False)
AttributeError: 'ConvNextImageProcessor' object has no attribute 'pad'
without tokenizer=processor it als gives an error
venv\Lib\site-packages\transformers\models\resnet\modeling_resnet.py:94, in ResNetEmbeddings.forward(self, pixel_values)
93 def forward(self, pixel_values: Tensor) -> Tensor:
---> 94 num_channels = pixel_values.shape[1]
95 if num_channels != self.num_channels:
96 raise ValueError(
97 "Make sure that the channel dimension of the pixel values match with the one set in the configuration."
98 )
AttributeError: 'NoneType' object has no attribute 'shape'