Use when your task requires a pretrained convolutional encoder (ResNet18)
Scanned 9/12/2026
Install to Claude Code
npx -y skills add HolobiomicsLab/asb-skill-collections --skill resnet-architecture-modification-for-dimensionality-control --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Resnet Architecture Modification For Dimensionality Control?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/holobiomicslab-resnet-architecture-modification-for-dimensionalit)More formats (shields.io, HTML) on the badges page.
---
name: resnet-architecture-modification-for-dimensionality-control
description: Use when your task requires a pretrained convolutional encoder (ResNet18)
to produce fixed-size representation vectors of a specific dimensionality (e.g.,
512 dimensions) rather than the default output size.
license: CC-BY-4.0
metadata:
edam_operation: http://edamontology.org/operation_3800
edam_topics:
- http://edamontology.org/topic_3474
- http://edamontology.org/topic_3382
tools:
- ResNet18
- PyTorch
- TensorFlow
techniques:
- MS-imaging
license_tier: restricted
provenance_tier: literature
derived_from:
- doi: 10.1021/acs.analchem.3c05002
title: deepion
evidence_spans:
- Two augmented images are propagated through a pair of ResNet18-based encoders
- Two augmented images are propagated through a pair of ResNet18-based encoders that
shared parameters
claims: []
provenance:
collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v2
assembled_by: scripts/collect_metabolomics_collection.py
sources:
- build: coll_deepion_cq
doi: 10.1021/acs.analchem.3c05002
title: deepion
dedup_kept_from: coll_deepion_cq
schema_version: 0.2.0
attribution:
generator: AgenticScienceBuilder
original_doi: 10.1021/acs.analchem.3c05002
all_source_dois:
- 10.1021/acs.analchem.3c05002
zenodo_doi: 10.5281/zenodo.20794027
curators: []
promoter: Louis-Félix Nothias
sponsor: CNRS & Université Côte d'Azur
---
# ResNet Architecture Modification for Dimensionality Control
> **License: restricted** — no clear open-source license detected for the underlying tool; verify licensing before commercial use or redistribution. <!-- asb-license-banner -->
## Summary
Modify a ResNet18 base architecture to output fixed-dimensional representation vectors by replacing or reconfiguring the final fully connected layer. This skill is essential for constraining encoder output to match downstream pipeline requirements (e.g., 512-dimensional vectors for contrastive learning in mass spectrometry imaging).
## When to use
Your task requires a pretrained convolutional encoder (ResNet18) to produce fixed-size representation vectors of a specific dimensionality (e.g., 512 dimensions) rather than the default output size. This is typical when integrating ResNet into a contrastive learning pipeline where consistent vector dimensionality is required for projection and prediction modules.
## When NOT to use
- The encoder output dimensionality is already correctly sized for your downstream modules
- You need a pre-trained ResNet18 with frozen weights; architectural modification may require retraining
- Your input images are not in standard image format or require specialized preprocessing beyond standard augmentation
## Inputs
- ResNet18 model definition (PyTorch or TensorFlow)
- Target output dimensionality (integer, e.g. 512)
- Sample input images or dummy tensors (for shape validation)
## Outputs
- Modified ResNet18 encoder with reconfigured final layer
- Validated output tensor of shape [batch_size, target_dimensionality]
- Confirmation of numerical correctness for forward passes
## How to apply
Start with a standard ResNet18 architecture from PyTorch or TensorFlow. Identify the final fully connected layer (typically outputting 1000 classes for ImageNet) and replace or reconfigure it to output the target dimensionality (e.g., 512). This is done by modifying the `in_features` and `out_features` parameters of the final linear layer or by adding a custom adapter layer. After modification, instantiate the encoder and pass test input tensors (matching the expected image shape) through a forward pass to verify the output shape matches the target dimensionality. Validate that both the tensor shape and numerical values are correct before integrating into the full pipeline.
## Related tools
- **ResNet18** (Base convolutional architecture whose final fully connected layer is reconfigured to output 512-dimensional representation vectors)
- **PyTorch** (Framework for defining and instantiating the modified ResNet18 model and validating forward passes)
- **TensorFlow** (Alternative framework for defining and instantiating the modified ResNet18 model)
## Evaluation signals
- Output tensor shape is exactly [batch_size, 512] for batch_size augmented images
- Forward pass completes without shape mismatch errors or dimension incompatibilities
- Numerical output values are in expected range (e.g., not NaN or inf) after initialization
- Two sequential forward passes of two distinct augmented images produce two distinct 512-dimensional vectors
- Integration into the downstream Projection and Prediction modules completes without shape errors
## Limitations
- Modifying the final layer from 1000 to 512 dimensions loses ImageNet pretraining alignment; retraining or fine-tuning may be necessary for optimal performance
- The modification is specific to ResNet18; other backbone architectures (ResNet50, DenseNet, etc.) require analogous but distinct layer reconfigurations
- No guidance is provided in the source material on whether the encoder should remain frozen or be trained end-to-end with the rest of the DeepION pipeline
## Evidence
- [other] Configure the encoder to output 512-dimensional vectors by modifying the final fully connected layer: "Configure the encoder to output 512-dimensional vectors by modifying the final fully connected layer."
- [other] Implement parameter sharing by instantiating a single ResNet18 model and passing both augmented images sequentially through the same encoder instance: "Implement parameter sharing by instantiating a single ResNet18 model and passing both augmented images sequentially through the same encoder instance."
- [other] Verify that forward passes of two augmented images produce two distinct 512-dimensional representation vectors from the shared encoder: "Verify that forward passes of two augmented images produce two distinct 512-dimensional representation vectors from the shared encoder."
- [readme] Two augmented images are propagated through a pair of ResNet18-based encoders that shared parameters, then output two 512-dimensional representation vectors: "Two augmented images are propagated through a pair of ResNet18-based encoders that shared parameters, then output two 512-dimensional representation vectors"
- [other] Validate the output tensor shapes and numerical correctness before integration into the full DeepION pipeline: "Validate the output tensor shapes and numerical correctness before integration into the full DeepION pipeline."
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!