|
Download pipelines/Tr006_V2/docker/segment-algorithm/resources/README.md from Gbone3176/interval: direct link, hf CLI and curl.
- Browser
- Download file 2.01 kB
-
https://huggingface.co/Gbone3176/interval/resolve/main/pipelines/Tr006_V2/docker/segment-algorithm/resources/README.md
- Command line
-
hf download hf://Gbone3176/interval/pipelines/Tr006_V2/docker/segment-algorithm/resources/README.md
-
curl -L -o README.md https://huggingface.co/Gbone3176/interval/resolve/main/pipelines/Tr006_V2/docker/segment-algorithm/resources/README.md
2.01 kB
| # `resources/` — your model lives here | |
| Everything in this folder is **copied into the container image** at build time and | |
| is available at inference. This is where your trained model belongs. | |
| | File | What it is | Replace it? | | |
| |:--|:--|:--| | |
| | `model.py` | the model definition (`DummyModel`, a trivial CNN) | **yes** — with your architecture | | |
| | `dummy_weights.pt` | a tiny checkpoint so the template runs out of the box | **yes** — with your trained weights | | |
| `inference.py` imports from here: | |
| ```python | |
| from resources.model import DummyModel | |
| WEIGHTS_PATH = RESOURCES_PATH / "dummy_weights.pt" | |
| ``` | |
| Keep that wiring, or point it at whatever you name your own files. | |
| ## Things to get right | |
| **There is no internet at inference time.** The container runs with networking | |
| disabled, so nothing can be downloaded at runtime — no model hubs, no checkpoints, | |
| no tokenizer files, no fonts. Everything your model touches must be inside the | |
| image. If you use a library that lazily fetches weights on first call (many | |
| `transformers`, `timm`, and `open_clip` entry points do), pre-download during the | |
| Docker build and load from a local path instead. | |
| **Load your model once.** One container run answers a whole batch of questions, so | |
| the checkpoint is loaded once and reused across every question in that batch. Keep | |
| model loading outside the per-question loop in `inference.py` — that is where the | |
| setup allowance in the latency budget comes from. | |
| **Large checkpoints need splitting.** A single image layer cannot exceed **50 GB**, | |
| and each Docker `COPY` is one layer. If your weights are bigger than that, split | |
| them into chunks, copy them with several `COPY` instructions, and reassemble at | |
| runtime — see the comment in the `Dockerfile`. | |
| **Big weights make big images.** The whole image is pulled before your code starts. | |
| That pull is infrastructure overhead and is not charged against your latency | |
| budget, but it does slow every submission cycle, so keep the image only as large as | |
| it needs to be. | |