File size: 2,163 Bytes
c2feb3e be5bf87 c2feb3e fcd4ad7 b5f4aa7 c2feb3e f0d7b8f c2feb3e be5bf87 c2feb3e be5bf87 c2feb3e |
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 |
VENV ?= venv
PYTHON ?= $(VENV)/bin/python3
UVICORN ?= $(VENV)/bin/uvicorn
DOCKER ?= docker
IMAGE ?= safe-challenge-2025/example-submission
GID ?= $(shell id -g)
UID ?= $(shell id -u)
.PHONY: setup
setup: $(VENV)/requirements.cpu.txt
.PHONY: download
download:
bash scripts/model_download.bash
.PHONY: serve
serve:
$(UVICORN) main:app
.PHONY: docker-build
docker-build:
docker build -t $(IMAGE) .
.PHONY: docker-run
docker-run:
docker run --rm -it -p 8000:8000 $(IMAGE)
.PHONY: docker-test-no-internet
docker-test-no-internet:
docker run --rm -it --network none $(IMAGE)
.PHONY: docker-test-readonly
docker-test-readonly:
docker run --rm -it --read-only --tmpfs "/tmp" $(IMAGE)
.PHONY: compile
compile:
uv pip compile --python-version 3.12 --upgrade -o requirements.torch.cpu.txt.tmp requirements.torch.cpu.in
echo "--index-url https://download.pytorch.org/whl/cpu" > requirements.torch.cpu.txt
grep -e '^torch' requirements.torch.cpu.txt.tmp >> requirements.torch.cpu.txt
uv pip compile --python-version 3.12 --upgrade -o requirements.cpu.txt requirements.cpu.in
.PHONY: compile-gpu
compile-gpu:
uv pip compile --python-version 3.12 --upgrade -o requirements.torch.gpu.txt requirements.torch.gpu.in
.PHONY: docker-build-gpu
docker-build-gpu:
docker build -t $(IMAGE)-gpu -f Dockerfile.gpu .
requirements.cpu.txt: requirements.in requirements.torch.cpu.txt | $(VENV)
uv pip compile --python-version 3.12 --upgrade -o requirements.cpu.txt requirements.cpu.in
requirements.torch.cpu.txt: requirements.torch.cpu.in | $(VENV)
uv pip compile --python-version 3.12 --upgrade -o requirements.torch.cpu.txt.tmp requirements.torch.cpu.in
echo "--index-url https://download.pytorch.org/whl/cpu" > requirements.torch.cpu.txt
cat requirements.torch.cpu.txt.tmp | grep '^torch' >> requirements.torch.cpu.txt
$(VENV)/requirements.cpu.txt: requirements.cpu.txt | $(VENV)
VIRTUAL_ENV=$(VENV) uv pip install -r requirements.cpu.txt
VIRTUAL_ENV=$(VENV) uv pip install -r requirements.torch.cpu.txt
cp -f requirements.cpu.txt $(VENV)/requirements.cpu.txt
cp -f requirements.torch.cpu.txt $(VENV)/requirements.torch.cpu.txt
$(VENV):
uv venv $(VENV)
|