GPU: - Switch Dockerfile base to pytorch/pytorch:2.3.1-cuda12.1-cudnn8-runtime - Add gpu_hasher.py: batched 2D DCT on GPU via PyTorch matrix multiply, 256 images/batch, produces imagehash-compatible 64-bit hex hashes, auto-falls back to CPU when CUDA unavailable - Replace per-image phash loop in scanner.py with phasher.hash_files() - docker-compose.yml: add nvidia GPU device reservation Hang fix: - takeout.is_takeout_folder() now caps at 50 directories (was walking entire tree — blocked for minutes on 65k+ file libraries) - Add "Not a Takeout folder" status message so takeout phase is never silent Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
13 lines
270 B
Plaintext
13 lines
270 B
Plaintext
# torch + torchvision come pre-installed in the pytorch/pytorch base image
|
|
# (torchvision needed for image transforms)
|
|
torchvision==0.18.1
|
|
|
|
fastapi==0.115.6
|
|
uvicorn==0.32.1
|
|
Pillow==11.0.0
|
|
imagehash==4.3.1
|
|
pillow-heif==0.21.0
|
|
jinja2==3.1.4
|
|
aiofiles==24.1.0
|
|
numpy==1.26.4
|