File size: 8,080 Bytes
a362e06
f22c0e5
 
 
 
 
 
 
 
 
 
a362e06
f22c0e5
 
 
 
 
 
 
 
 
 
 
25fdeba
f22c0e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14f26cd
 
 
f22c0e5
 
25fdeba
f22c0e5
 
 
14f26cd
 
 
f22c0e5
14f26cd
f22c0e5
14f26cd
 
 
 
f22c0e5
 
 
 
14f26cd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f22c0e5
 
 
 
 
 
 
 
 
 
 
776766b
 
f22c0e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25fdeba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f22c0e5
 
 
 
 
14f26cd
 
 
776766b
f22c0e5
25fdeba
f22c0e5
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
---
license: other
license_name: mixed-apache-2.0-and-mit
license_link: https://huggingface.co/tgo-app-dev/vpipe-supplement/blob/main/THIRD_PARTY_LICENSES.md
tags:
  - coreml
  - vpipe
  - apple-silicon
  - object-detection
  - voice-activity-detection
  - vision-language-model
---

# VPIPE supplementary CoreML models

This repository distributes the supplementary, pre-converted **Core ML**
model packages consumed by the VPIPE runtime β€” a concurrent pipeline
framework for real-time video tasks on Apple silicon, by T-Go LLC. These
are third-party models converted to Core ML; they are released here so the
VPIPE runtime can fetch a pinned, ready-to-run artifact instead of
re-running the conversion.

> **Licensing note:** the bundled models are **not** all under a single
> license. Four are Apache-2.0 and two (Silero VAD, BEATs) are MIT. See
> [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md) for the per-model
> attribution and verbatim license texts.

## Distribution format

Each archive is a `.tar` (tracked with Git LFS) containing a single
top-level `*.mlpackage` directory β€” an unflattened Core ML model package
with its `Manifest.json`, the `model.mlmodel` spec, and the
`weights/weight.bin` blob. Unpack before use:

```sh
tar xf yolox_l_1024x640_w8.tar      # -> yolox_l_1024x640_w8.mlpackage/
```

The VPIPE runtime loads the unpacked `.mlpackage` via its `model_path`
configuration. In the filenames, `w8` denotes 8-bit weight quantization
(activations run in FP16 on the Apple Neural Engine); resolutions are
written `WxH`.

## Models included

| Archive | Model | Task | License |
| --- | --- | --- | --- |
| `qwen3_5_mlx_4b_vision_vid_512x320_w8.tar` | Qwen3.5-4B vision tower @ 512Γ—320 (Core ML) | Vision encoder for a multimodal LLM | Apache-2.0 |
| `qwen3_5_mlx_4b_vision_vid_768x480_w8.tar` | Qwen3.5-4B vision tower @ 768Γ—480 (Core ML) | Vision encoder for a multimodal LLM | Apache-2.0 |
| `gemma4_mlx_e4b_vision_768x480_w8.tar` | Gemma 4 (e4b) vision tower @ 768Γ—480 (Core ML) | Vision encoder for a multimodal LLM | Apache-2.0 |
| `yolox_l_1024x640_w8.tar` | YOLOX-L (Core ML) | Object detection | Apache-2.0 |
| `silero-vad-unified-v6.tar` | Silero VAD v6, unified (Core ML) | Voice activity detection | MIT |
| `beats_as2m_10s.tar` | BEATs iter3+ (AS2M, cpt1) (Core ML) | Audio tagging / sound-event classification | MIT |

### `qwen3_5_mlx_4b_vision_vid_512x320_w8`

Qwen3.5-4B vision tower (`variant=tensor_video_rgb`), the vision encoder
that turns a pair of video frames into the embedding sequence consumed by
the Qwen3.5-4B language model.

- **Task:** video β†’ vision feature embeddings (multimodal LLM front-end).
- **Inputs:** `image0`, `image1` β€” the two consecutive video frames that
  form one temporal patch, each a planar RGB fp16 tensor `(1, 3, 320, 512)`
  (`1Γ—3Γ—HΓ—W`, i.e. 512Γ—320 WΓ—H) with raw pixels in `0..255`. The
  `x/127.5 - 1` normalisation is baked into the graph (applied on the ANE).
- **Output:** `image_features` β€” vision features of shape `(160, 2560)`, fp16.
- **Precision:** 8-bit weight quantization, FP16 compute.
- **Upstream:** [Qwen3.5](https://huggingface.co/Qwen) (Qwen team, Alibaba Cloud) β€” Apache-2.0.
- **Conversion:** coremltools 9.0 from TorchScript (`torch==2.12.0`).

### `qwen3_5_mlx_4b_vision_vid_768x480_w8`

The same Qwen3.5-4B vision tower (`variant=tensor_video_rgb`) at a higher
768Γ—480 input β€” identical I/O contract to the 512Γ—320 build, with a longer
output token sequence.

- **Task:** video β†’ vision feature embeddings (multimodal LLM front-end).
- **Inputs:** `image0`, `image1` β€” the two consecutive video frames that
  form one temporal patch, each a planar RGB fp16 tensor `(1, 3, 480, 768)`
  (`1Γ—3Γ—HΓ—W`, i.e. 768Γ—480 WΓ—H) with raw pixels in `0..255`. The
  `x/127.5 - 1` normalisation is baked into the graph (applied on the ANE).
- **Output:** `image_features` β€” vision features of shape `(360, 2560)`, fp16.
- **Precision:** 8-bit weight quantization, FP16 compute.
- **Upstream:** [Qwen3.5](https://huggingface.co/Qwen) (Qwen team, Alibaba Cloud) β€” Apache-2.0.
- **Conversion:** coremltools 9.0 from TorchScript (`torch==2.12.0`).

### `gemma4_mlx_e4b_vision_768x480_w8`

Gemma 4 (e4b) vision tower, converted to Core ML. It pools and projects the
visual features into the language model's 2560-dim text embedding space,
emitting "soft tokens" ready to splice into the Gemma 4 prompt.

- **Task:** image β†’ LLM soft tokens (multimodal LLM front-end).
- **Input:** `image` β€” a single planar RGB fp16 MLMultiArray
  `[1, 3, 480, 768]` (`1Γ—3Γ—HΓ—W`, i.e. 768Γ—480 WΓ—H), raw pixels in `0..255`
  (channel order R, G, B). Preprocessing is baked in: `x/255` then
  `2*(x - 0.5)`.
- **Output:** `soft_tokens` β€” shape `[1, 160, 2560]`, fp16.
- **Precision:** int8 weight-only quantization (per-block), FP16 compute.
- **Upstream:** [Gemma 4 (e4b)](https://huggingface.co/google/gemma-4-E4B) (Google DeepMind) β€” Apache-2.0.
- **Conversion:** coremltools 9.0 from TorchScript (`torch==2.12.1`).

### `yolox_l_1024x640_w8`

YOLOX-L anchor-free object detector, converted to Core ML at a fixed
**1024Γ—640 (WΓ—H)** input.

- **Task:** object detection (bounding boxes + per-class scores).
- **Input:** `image` β€” Core ML image input at 1024Γ—640.
- **Output:** `output` β€” detection tensor `[1, N, 4 + num_classes]`
  (`(cx, cy, w, h)` in model-input pixels plus sigmoid class scores).
- **Precision:** 8-bit weight quantization, FP16 compute.
- **Upstream:** [YOLOX](https://github.com/Megvii-BaseDetection/YOLOX) (Megvii Inc.) β€” Apache-2.0.
- **Conversion:** coremltools 9.0 from TorchScript (`torch==2.12.1`); all
  operations placed on the Apple Neural Engine (no CPU fallback ops).

### `silero-vad-unified-v6`

Silero VAD v6.0.0, the unified single-graph (STFT + encoder + decoder)
Core ML conversion by FluidInference.

- **Task:** voice activity detection (per-window speech probability).
- **Inputs:** `audio_input` (mono PCM window) plus the recurrent
  `hidden_state` / `cell_state` carried between calls.
- **Outputs:** `vad_output` (speech probability) plus
  `new_hidden_state` / `new_cell_state`.
- **Precision:** FP16 compute.
- **Upstream:** [Silero VAD](https://github.com/snakers4/silero-vad)
  (Silero Team) β€” MIT; Core ML conversion from
  [FluidInference/silero-vad-coreml](https://huggingface.co/FluidInference/silero-vad-coreml) β€” MIT.
- **Conversion:** coremltools 9.0b1 from TorchScript (`torch==2.7.0`).

### `beats_as2m_10s`

BEATs iter3+ audio representation model, fine-tuned on AudioSet-2M (the
`cpt1` checkpoint), converted to Core ML over a fixed 10-second window. It
classifies audio into the AudioSet sound-event ontology.

- **Task:** audio tagging / sound-event classification.
- **Input:** `waveform` β€” a mono 16 kHz waveform over a fixed 10-second
  window (160,000 samples).
- **Output:** `probs` β€” per-class probabilities over the AudioSet ontology
  (527 sound-event classes).
- **Precision:** FP16 compute (weights not quantized).
- **Upstream:** [BEATs](https://github.com/microsoft/unilm/tree/master/beats)
  (Microsoft, `microsoft/unilm`) β€” MIT.
- **Conversion:** coremltools 9.0 from TorchScript (`torch==2.7.0`).

## Verifying downloads

SHA-256 checksums of the archives:

```
ed27924a97a873a019d1c8a1e1f9826bd30da2588683843d6c59cfb0b2289f30  qwen3_5_mlx_4b_vision_vid_512x320_w8.tar
3e928ea0c3e6848896278b68436d46f1aa306d95d8ca4a1faadfad354d705b87  qwen3_5_mlx_4b_vision_vid_768x480_w8.tar
17bebe9fdb416a760df4d00ed39c7edf296ba768d54139c8183c1323da646d3e  gemma4_mlx_e4b_vision_768x480_w8.tar
7f7bf85947bb228f978470284e16a9d00c906a6cb07359f9a51c68806fa9c609  yolox_l_1024x640_w8.tar
ee14d006d1cea87f15a4f0ac5f3e1e00b80a10c40eca855e8ff6741f389b4423  silero-vad-unified-v6.tar
47c63f83bfa47e248b199e820ae6a01a5ed40a5f6ef4b85f42f12d7ac5754638  beats_as2m_10s.tar
```

## Licenses

These are third-party models redistributed in converted form. Each retains
its upstream license; see [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md)
for full attribution and verbatim license texts.