# Now 'features' is a list of feature vectors, you can convert it to a numpy array features = np.array(features)
# Move model to GPU if available device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") model.to(device) model.eval()
# Load pre-trained ResNet50 and remove the last layer model = resnet50(pretrained=True) model.fc = torch.nn.Identity()
# Save or use the features np.save('image_features.npy', features) Please adjust paths and details according to your specific situation. This example assumes you have PyTorch installed and have extracted the images from the .rar file.
import torch import torchvision import torchvision.transforms as transforms from torchvision.models import resnet50 from PIL import Image import os import numpy as np
features = [] for filename in os.listdir(images_dir): img_path = os.path.join(images_dir, filename) image = Image.open(img_path) image = transform(image) image = image.unsqueeze(0).to(device) feature = model(image) feature = feature.detach().cpu().numpy().squeeze() features.append(feature)
# Define transformations for images transform = transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ])
# Images directory images_dir = 'path/to/extracted/images'
Trusted Shops
