def extract_deep_feature(image_tensor): with torch.no_grad(): features = model(image_tensor) # shape: [batch, 512, 1, 1] return features.squeeze() # deep feature vector If duck.guackprep is unlabeled, use self-supervised learning (e.g., SimCLR, MAE) to learn features without labels.
import torch import torchvision.models as models model = models.resnet18(pretrained=True) model = torch.nn.Sequential(*list(model.children())[:-1]) # remove classifier duck.guackprep
| Data type | Architecture | Deep feature output | |-----------|--------------|----------------------| | Image (duck photos) | CNN (ResNet, EfficientNet) | Final pooling layer activations | | Audio (quack sounds) | 1D CNN / WaveNet | Embeddings from penultimate layer | | Sequence (genetic "quack" motif) | Transformer / LSTM | Attention or hidden state vectors | def extract_deep_feature(image_tensor): with torch