Skip to content

Commit 11ccd58

Browse files
committed
opt:docs pipeline style
1 parent eddafbd commit 11ccd58

20 files changed

+373
-215
lines changed

docs/model_detail_template.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,29 @@ Goal: make every model page answer the same questions quickly, so users can comp
7979

8080
Document the **actual adapter path**, not the idealized paper pipeline.
8181

82+
Recommended display pattern in MkDocs Material:
83+
84+
- Use a `<pre class="pipeline-flow"><code>...</code></pre>` block for the pipeline itself.
85+
- Keep it compact and linear, like a small execution trace.
86+
- Use `<span>` classes for hierarchy: `pipeline-root`, `pipeline-arrow`, `pipeline-branch`, `pipeline-detail`.
87+
- Put detailed caveats below the block in normal prose instead of expanding the block itself.
88+
89+
Example:
90+
91+
```html
92+
<pre class="pipeline-flow"><code><span class="pipeline-root">INPUT</span> provider fetch / input_chw
93+
<span class="pipeline-arrow">-&gt;</span> normalize
94+
<span class="pipeline-arrow">-&gt;</span> model-specific prep
95+
<span class="pipeline-branch">resize:</span> ...
96+
<span class="pipeline-branch">pad:</span> ...
97+
<span class="pipeline-arrow">-&gt;</span> encoder forward
98+
<span class="pipeline-arrow">-&gt;</span> output
99+
<span class="pipeline-branch">pooled:</span> vector
100+
<span class="pipeline-branch">grid:</span> token grid</code></pre>
101+
```
102+
103+
Suggested content checklist:
104+
82105
1. Raw provider tensor format: `TODO` (for example `CHW`, `TCHW`)
83106
2. Value range assumptions: `TODO`
84107
3. Normalization steps: `TODO`

docs/models/agrifm.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,23 @@ For `input_chw`, the adapter accepts `CHW` with `C=10` and repeats that frame to
4141

4242
## Preprocessing Pipeline (Current rs-embed Path)
4343

44-
1. Resolve runtime settings:
45-
- `n_frames`, `image_size`, normalization mode
46-
- checkpoint path (local or auto-download)
47-
2. Fetch provider multi-frame raw `TCHW` or coerce `input_chw` (`CHW`/`TCHW`) to exact `T`
48-
3. Optional input inspection on frame 0 (temporarily scaled to `[0,1]`)
49-
4. Normalize with `RS_EMBED_AGRIFM_NORM`:
50-
- `agrifm_stats` (default): z-score with AgriFM S2 statistics
51-
- `unit_scale`: divide by `10000` and clip `[0,1]`
52-
- `none` / `raw`: keep raw `0..10000` (clipped)
53-
5. Resize all frames to `RS_EMBED_AGRIFM_IMG` (default `224`)
54-
6. Load AgriFM model (checkpoint + vendored runtime)
55-
7. Forward to produce embedding grid `(D,H,W)`
56-
8. Return:
57-
- pooled vector = spatial mean/max over grid
58-
- grid = `xarray.DataArray`
44+
<pre class="pipeline-flow"><code><span class="pipeline-root">SETUP</span> runtime settings
45+
<span class="pipeline-arrow">-&gt;</span> n_frames + image_size + normalization mode
46+
<span class="pipeline-arrow">-&gt;</span> checkpoint path (local or auto-download)
47+
<span class="pipeline-root">INPUT</span> provider fetch / input_chw
48+
<span class="pipeline-arrow">-&gt;</span> multi-frame raw TCHW
49+
<span class="pipeline-detail">input_chw path: coerce CHW / TCHW to exact T</span>
50+
<span class="pipeline-arrow">-&gt;</span> optional inspection on frame 0
51+
<span class="pipeline-arrow">-&gt;</span> normalize with RS_EMBED_AGRIFM_NORM
52+
<span class="pipeline-branch">agrifm_stats:</span> z-score with AgriFM S2 statistics
53+
<span class="pipeline-branch">unit_scale:</span> /10000 -&gt; clip [0,1]
54+
<span class="pipeline-branch">none / raw:</span> keep clipped raw values
55+
<span class="pipeline-arrow">-&gt;</span> resize all frames to RS_EMBED_AGRIFM_IMG=224
56+
<span class="pipeline-arrow">-&gt;</span> load checkpoint + vendored runtime
57+
<span class="pipeline-arrow">-&gt;</span> forward to embedding grid (D,H,W)
58+
<span class="pipeline-arrow">-&gt;</span> output projection
59+
<span class="pipeline-branch">pooled:</span> spatial mean / max over grid
60+
<span class="pipeline-branch">grid:</span> xarray.DataArray</code></pre>
5961

6062
---
6163

docs/models/anysat.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,22 @@ For `input_chw`, the adapter accepts either `CHW` or `TCHW` with `C=10`. A `CHW`
4242

4343
## Preprocessing Pipeline (Current rs-embed Path)
4444

45-
1. Fetch S2 10-band time series `raw_tchw` in `[T,C,H,W]` (or coerce `input_chw` to `TCHW`)
46-
2. Optionally resize all frames to square `RS_EMBED_ANYSAT_IMG` (default `24`)
47-
3. Normalize series using `RS_EMBED_ANYSAT_NORM`:
48-
- `per_tile_zscore` (default)
49-
- `unit_scale` / `reflectance` (`/10000 -> [0,1]`)
50-
- `raw` / `none`
51-
4. Build AnySat side input dict:
52-
- `s2`: `[1,T,10,H,W]`
53-
- `s2_dates`: `[1,T]` (DOY values from frame-bin midpoints)
54-
5. Forward with `output="patch"` and `patch_size=sensor.scale_m`
55-
6. Map AnySat patch output `[B,H,W,D]` -> rs-embed grid `[D,H,W]`
56-
7. Optionally spatial-pool grid to vector (`mean` or `max`)
45+
<pre class="pipeline-flow"><code><span class="pipeline-root">INPUT</span> provider fetch / input_chw
46+
<span class="pipeline-arrow">-&gt;</span> S2 10-band time series in TCHW
47+
<span class="pipeline-detail">input_chw path: coerce CHW / TCHW to exact T</span>
48+
<span class="pipeline-arrow">-&gt;</span> optional resize to RS_EMBED_ANYSAT_IMG=24
49+
<span class="pipeline-arrow">-&gt;</span> normalize series with RS_EMBED_ANYSAT_NORM
50+
<span class="pipeline-branch">per_tile_zscore:</span> default
51+
<span class="pipeline-branch">unit_scale / reflectance:</span> /10000 -&gt; [0,1]
52+
<span class="pipeline-branch">raw / none:</span> keep raw values
53+
<span class="pipeline-arrow">-&gt;</span> build AnySat side inputs
54+
<span class="pipeline-branch">s2:</span> [1,T,10,H,W]
55+
<span class="pipeline-branch">s2_dates:</span> [1,T] from frame-bin DOY midpoints
56+
<span class="pipeline-arrow">-&gt;</span> forward with output="patch" and patch_size=sensor.scale_m
57+
<span class="pipeline-arrow">-&gt;</span> map [B,H,W,D] -&gt; rs-embed grid [D,H,W]
58+
<span class="pipeline-arrow">-&gt;</span> output projection
59+
<span class="pipeline-branch">pooled:</span> spatial mean / max over grid
60+
<span class="pipeline-branch">grid:</span> model patch grid</code></pre>
5761

5862
Important constraint:
5963

docs/models/copernicus.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,20 @@ The backend should be `auto`, although legacy `local` is still accepted for comp
4545

4646
## Retrieval Pipeline (Current rs-embed Path)
4747

48-
1. Validate `TemporalSpec.year(...)` and supported year (`2021`)
49-
2. Resolve `data_dir` (env or `sensor.collection` override)
50-
3. Load/cache vendored `CopernicusEmbedGeoTiff` dataset (`download=True` in current adapter)
51-
4. Convert `SpatialSpec` to EPSG:4326 bbox
52-
5. Validate that the requested ROI covers at least one full Copernicus pixel
53-
6. Slice dataset with bbox indexing and get `sample["image"]` (`CHW`)
54-
7. Return pooled vector or grid
48+
<pre class="pipeline-flow"><code><span class="pipeline-root">INPUT</span> TemporalSpec.year(...) + SpatialSpec
49+
<span class="pipeline-arrow">-&gt;</span> validate supported year
50+
<span class="pipeline-detail">current adapter supports 2021</span>
51+
<span class="pipeline-arrow">-&gt;</span> resolve data_dir
52+
<span class="pipeline-branch">default:</span> RS_EMBED_COP_DIR
53+
<span class="pipeline-branch">override:</span> sensor.collection
54+
<span class="pipeline-arrow">-&gt;</span> load / cache CopernicusEmbedGeoTiff dataset
55+
<span class="pipeline-detail">download=True in current adapter</span>
56+
<span class="pipeline-arrow">-&gt;</span> convert SpatialSpec to EPSG:4326 bbox
57+
<span class="pipeline-arrow">-&gt;</span> validate ROI covers at least one full Copernicus pixel
58+
<span class="pipeline-arrow">-&gt;</span> bbox slice -&gt; sample["image"] as CHW
59+
<span class="pipeline-arrow">-&gt;</span> output projection
60+
<span class="pipeline-branch">pooled:</span> vector
61+
<span class="pipeline-branch">grid:</span> embedding grid</code></pre>
5562

5663
Notes:
5764

docs/models/dofa.md

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -54,26 +54,36 @@ For `backend="tensor"`, `input_chw` must be `CHW`, and batch tensor usage should
5454

5555
### Provider path
5656

57-
1. Fetch raw multiband Sentinel-2 SR patch
58-
2. Optional input inspection on raw SR (`expected_channels=len(bands)`, value range `[0,10000]`)
59-
3. Convert raw SR `0..10000` to `0..255`-like scale
60-
4. Apply official DOFA S2 per-band mean/std normalization on that `0..255`-like tensor
61-
5. Resize to fixed `224x224` (bilinear; no crop/pad)
62-
6. Load DOFA model variant (`base` / `large`)
63-
7. Forward with image tensor + wavelength vector
64-
8. Return pooled embedding or reshape tokens to patch-token grid
57+
<pre class="pipeline-flow"><code><span class="pipeline-root">PROVIDER</span> fetch raw multiband Sentinel-2 SR patch
58+
<span class="pipeline-arrow">-&gt;</span> optional raw-value inspection
59+
<span class="pipeline-detail">expected_channels=len(bands), value range [0,10000]</span>
60+
<span class="pipeline-arrow">-&gt;</span> raw SR 0..10000 -&gt; 0..255-like scale
61+
<span class="pipeline-arrow">-&gt;</span> official DOFA S2 per-band mean/std normalization
62+
<span class="pipeline-arrow">-&gt;</span> resize to fixed 224x224
63+
<span class="pipeline-detail">bilinear; no crop / pad</span>
64+
<span class="pipeline-arrow">-&gt;</span> load DOFA model variant
65+
<span class="pipeline-branch">variant:</span> base | large
66+
<span class="pipeline-arrow">-&gt;</span> forward(image, wavelengths)
67+
<span class="pipeline-arrow">-&gt;</span> output projection
68+
<span class="pipeline-branch">pooled:</span> embedding vector
69+
<span class="pipeline-branch">grid:</span> patch-token grid</code></pre>
6570

6671
### Tensor path
6772

68-
1. Read raw SR `input_chw` (`CHW`)
69-
2. Reject already-normalized `[0,1]`-like inputs
70-
3. Apply the same official DOFA S2 preprocessing used by the provider path:
71-
- raw SR `0..10000` -> `[0,1]`
72-
- rescale to `0..255`-like values
73-
- apply official per-band mean/std normalization
74-
4. Resize to `224x224`
75-
5. Resolve wavelengths from `sensor.wavelengths` or infer from `sensor.bands`
76-
6. Forward DOFA with image + wavelengths
73+
<pre class="pipeline-flow"><code><span class="pipeline-root">TENSOR</span> read raw SR input_chw
74+
<span class="pipeline-arrow">-&gt;</span> reject already-normalized [0,1]-like inputs
75+
<span class="pipeline-arrow">-&gt;</span> apply provider-equivalent DOFA preprocessing
76+
<span class="pipeline-detail">raw SR 0..10000 -&gt; [0,1]</span>
77+
<span class="pipeline-detail">rescale to 0..255-like values</span>
78+
<span class="pipeline-detail">official per-band mean/std normalization</span>
79+
<span class="pipeline-arrow">-&gt;</span> resize to fixed 224x224
80+
<span class="pipeline-arrow">-&gt;</span> resolve wavelengths
81+
<span class="pipeline-branch">preferred:</span> sensor.wavelengths
82+
<span class="pipeline-branch">fallback:</span> infer from sensor.bands
83+
<span class="pipeline-arrow">-&gt;</span> forward(image, wavelengths)
84+
<span class="pipeline-arrow">-&gt;</span> output projection
85+
<span class="pipeline-branch">pooled:</span> embedding vector
86+
<span class="pipeline-branch">grid:</span> patch-token grid</code></pre>
7787

7888
Fixed adapter behavior:
7989

docs/models/fomo.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,20 +43,21 @@ The FoMo forward path requires one modality key per channel. The default S2 mapp
4343

4444
## Preprocessing Pipeline (Current rs-embed Path)
4545

46-
1. Fetch S2 SR 12-band patch (provider path) or use `input_chw`
47-
2. Normalize with `RS_EMBED_FOMO_NORM`:
48-
- `unit_scale` (default): divide by `10000`
49-
- `per_tile_minmax`: per-channel tile min-max after unit scaling
50-
- `none` / `raw`: keep raw `0..10000` (clipped)
51-
3. Resize to `RS_EMBED_FOMO_IMG` (default `64`)
52-
4. Build/load FoMo model from:
53-
- vendored local FoMo runtime
54-
- checkpoint (local / auto-download)
55-
5. Forward with `(x, spectral_keys)` and `pool=False` to get tokens `[N,D]`
56-
6. Compute outputs:
57-
- pooled vector: mean/max over all tokens
58-
- grid: average tokens across modalities and reshape patch grid when possible
59-
- fallback: `1x1` vector grid if token layout is not grid-compatible
46+
<pre class="pipeline-flow"><code><span class="pipeline-root">INPUT</span> provider fetch / input_chw
47+
<span class="pipeline-arrow">-&gt;</span> S2 SR 12-band patch
48+
<span class="pipeline-arrow">-&gt;</span> normalize with RS_EMBED_FOMO_NORM
49+
<span class="pipeline-branch">unit_scale:</span> /10000
50+
<span class="pipeline-branch">per_tile_minmax:</span> per-channel min-max after unit scaling
51+
<span class="pipeline-branch">none / raw:</span> keep clipped raw values
52+
<span class="pipeline-arrow">-&gt;</span> resize to RS_EMBED_FOMO_IMG=64
53+
<span class="pipeline-arrow">-&gt;</span> load FoMo runtime + checkpoint
54+
<span class="pipeline-detail">vendored local runtime with local / auto-downloaded weights</span>
55+
<span class="pipeline-arrow">-&gt;</span> forward(x, spectral_keys, pool=False)
56+
<span class="pipeline-arrow">-&gt;</span> token output [N,D]
57+
<span class="pipeline-arrow">-&gt;</span> output projection
58+
<span class="pipeline-branch">pooled:</span> mean / max over all tokens
59+
<span class="pipeline-branch">grid:</span> modality-averaged patch grid when available
60+
<span class="pipeline-branch">fallback:</span> 1x1 vector grid</code></pre>
6061

6162
---
6263

docs/models/galileo.md

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,25 @@ For `input_chw`, the adapter accepts `CHW` or `TCHW` with `C=10` through the sha
4141

4242
## Preprocessing Pipeline (Current rs-embed Path)
4343

44-
1. Fetch S2 10-band `raw_tchw` or coerce user `input_chw` to `TCHW`
45-
2. Resolve months sequence from frame bins (or `RS_EMBED_GALILEO_MONTH`)
46-
3. Resize frames to `RS_EMBED_GALILEO_IMG` (default `64`) if needed
47-
4. Normalize S2 series with `RS_EMBED_GALILEO_NORM` (default `unit_scale`)
48-
5. Build Galileo encoder tensors and masks:
49-
- `s_t_x`, `sp_x`, `t_x`, `st_x`
50-
- masks `s_t_m`, `sp_m`, `t_m`, `st_m`
51-
- `months`
52-
6. Optional NDVI channel injection when `RS_EMBED_GALILEO_INCLUDE_NDVI=1` and model space supports NDVI
53-
7. Forward Galileo encoder (`patch_size=RS_EMBED_GALILEO_PATCH`, default `8`)
54-
8. Outputs:
55-
- pooled vector from visible tokens (`encoder.average_tokens(...)`)
56-
- grid from S2-related space-time groups, averaged over time/group dimensions
44+
<pre class="pipeline-flow"><code><span class="pipeline-root">INPUT</span> provider fetch / input_chw
45+
<span class="pipeline-arrow">-&gt;</span> S2 10-band raw_tchw
46+
<span class="pipeline-detail">input_chw path: coerce to exact TCHW</span>
47+
<span class="pipeline-arrow">-&gt;</span> resolve months sequence
48+
<span class="pipeline-detail">frame-bin midpoints or RS_EMBED_GALILEO_MONTH override</span>
49+
<span class="pipeline-arrow">-&gt;</span> resize frames to RS_EMBED_GALILEO_IMG=64 if needed
50+
<span class="pipeline-arrow">-&gt;</span> normalize series with RS_EMBED_GALILEO_NORM
51+
<span class="pipeline-branch">default:</span> unit_scale
52+
<span class="pipeline-arrow">-&gt;</span> build encoder tensors + masks
53+
<span class="pipeline-branch">inputs:</span> s_t_x, sp_x, t_x, st_x
54+
<span class="pipeline-branch">masks:</span> s_t_m, sp_m, t_m, st_m
55+
<span class="pipeline-branch">side input:</span> months
56+
<span class="pipeline-arrow">-&gt;</span> optional NDVI injection
57+
<span class="pipeline-detail">when RS_EMBED_GALILEO_INCLUDE_NDVI=1 and model space supports NDVI</span>
58+
<span class="pipeline-arrow">-&gt;</span> Galileo encoder forward
59+
<span class="pipeline-detail">patch_size=RS_EMBED_GALILEO_PATCH=8</span>
60+
<span class="pipeline-arrow">-&gt;</span> output projection
61+
<span class="pipeline-branch">pooled:</span> visible-token average
62+
<span class="pipeline-branch">grid:</span> average S2 space-time groups to grid</code></pre>
5763

5864
Constraint:
5965

docs/models/gse.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,14 @@ The provider fetch settings are fixed to collection `GOOGLE/SATELLITE_EMBEDDING/
4444

4545
## Retrieval Pipeline (Current rs-embed Path)
4646

47-
1. Validate provider-compatible backend + `TemporalSpec.year(...)`
48-
2. Fetch all embedding bands as `CHW` from annual collection
49-
3. Replace fill value `-9999` with `NaN`
50-
4. Build metadata (year, scale, band names)
51-
5. Return:
52-
- pooled vector via `pool_chw_to_vec(...)`
53-
- grid as `xarray.DataArray` `(D,H,W)` with `d` coords set to band names
47+
<pre class="pipeline-flow"><code><span class="pipeline-root">INPUT</span> provider-compatible backend + TemporalSpec.year(...)
48+
<span class="pipeline-arrow">-&gt;</span> fetch annual embedding product as CHW
49+
<span class="pipeline-arrow">-&gt;</span> replace fill value -9999 with NaN
50+
<span class="pipeline-arrow">-&gt;</span> build metadata
51+
<span class="pipeline-detail">year + scale + band names</span>
52+
<span class="pipeline-arrow">-&gt;</span> output projection
53+
<span class="pipeline-branch">pooled:</span> pool_chw_to_vec(...)
54+
<span class="pipeline-branch">grid:</span> xarray.DataArray (D,H,W) with d coords = band names</code></pre>
5455

5556
---
5657

docs/models/prithvi.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,21 @@ The default sensor is `COPERNICUS/S2_SR_HARMONIZED` with bands `("BLUE", "GREEN"
5252

5353
## Preprocessing Pipeline (Current rs-embed Path)
5454

55-
1. Fetch 6-band S2 patch from provider (or reuse `input_chw`)
56-
2. Normalize raw SR -> `[0,1]` (`/10000`, clip, `nan_to_num`)
57-
3. Optional input checks and quicklook RGB export (`bands=(2,1,0)`)
58-
4. Apply Prithvi input prep (`_prepare_prithvi_chw`):
59-
- `resize` to `RS_EMBED_PRITHVI_IMG` (default `224`), or
60-
- `pad` H/W to multiple of `RS_EMBED_PRITHVI_PATCH_MULT` (default `16`)
61-
5. Compute temporal/date and location side inputs
62-
6. Forward pass to token sequence
63-
7. Convert to pooled vector or patch-token grid
55+
<pre class="pipeline-flow"><code><span class="pipeline-root">INPUT</span> provider fetch / input_chw
56+
<span class="pipeline-arrow">-&gt;</span> 6-band S2 patch
57+
<span class="pipeline-arrow">-&gt;</span> normalize raw SR to [0,1]
58+
<span class="pipeline-detail">/10000 -&gt; clip -&gt; nan_to_num</span>
59+
<span class="pipeline-arrow">-&gt;</span> optional checks + quicklook RGB
60+
<span class="pipeline-arrow">-&gt;</span> _prepare_prithvi_chw
61+
<span class="pipeline-branch">resize:</span> RS_EMBED_PRITHVI_IMG=224
62+
<span class="pipeline-branch">pad:</span> H/W -&gt; multiple of RS_EMBED_PRITHVI_PATCH_MULT=16
63+
<span class="pipeline-arrow">-&gt;</span> derive side inputs
64+
<span class="pipeline-detail">temporal coords from window midpoint</span>
65+
<span class="pipeline-detail">location coords from ROI center</span>
66+
<span class="pipeline-arrow">-&gt;</span> encoder forward pass
67+
<span class="pipeline-arrow">-&gt;</span> output projection
68+
<span class="pipeline-branch">pooled:</span> vector
69+
<span class="pipeline-branch">grid:</span> patch-token grid</code></pre>
6470

6571
---
6672

docs/models/remoteclip.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,18 @@ If `sensor` is omitted, the default path uses `COPERNICUS/S2_SR_HARMONIZED` with
4040

4141
## Preprocessing Pipeline (Current rs-embed Path)
4242

43-
1. Fetch S2 RGB patch from provider (or reuse `input_chw`)
44-
2. Normalize raw SR values to `[0,1]` (for `input_chw`, divide by `10000` and clip)
45-
3. Optional input checks / quicklook export via `SensorSpec.check_*`
46-
4. Convert `CHW [0,1]` -> `uint8 HWC`
47-
5. Model preprocess:
48-
- preferred: `model.transform(rgb_u8, image_size)` if available
49-
- fallback: `Resize(224) -> CenterCrop(224) -> ToTensor -> CLIP normalization`
50-
6. Forward pass to get tokens (preferred) or pooled vector (fallback path)
43+
<pre class="pipeline-flow"><code><span class="pipeline-root">INPUT</span> provider fetch / input_chw
44+
<span class="pipeline-arrow">-&gt;</span> S2 RGB patch
45+
<span class="pipeline-arrow">-&gt;</span> normalize raw SR to [0,1]
46+
<span class="pipeline-detail">input_chw path: /10000 -&gt; clip</span>
47+
<span class="pipeline-arrow">-&gt;</span> optional checks + quicklook export
48+
<span class="pipeline-arrow">-&gt;</span> CHW [0,1] -&gt; uint8 HWC
49+
<span class="pipeline-arrow">-&gt;</span> model preprocess
50+
<span class="pipeline-branch">preferred:</span> model.transform(rgb_u8, image_size)
51+
<span class="pipeline-branch">fallback:</span> Resize(224) -&gt; CenterCrop(224) -&gt; ToTensor -&gt; CLIP normalization
52+
<span class="pipeline-arrow">-&gt;</span> forward pass
53+
<span class="pipeline-branch">preferred:</span> token sequence
54+
<span class="pipeline-branch">fallback:</span> pooled vector</code></pre>
5155

5256
Current adapter image size:
5357

0 commit comments

Comments
 (0)