Skip to content

Windows compatibility issues with installation and embedding pipeline #21

@NetZissou

Description

@NetZissou

Windows compatibility issues with installation and embedding pipeline

Summary

Several issues prevent a smooth experience on Windows. Tested on Windows 11 with Python 3.12, CUDA 12.8 (Quadro P2000).

Issues

1. DataLoader crash: unpicklable lambda in ImageFolderDataset

Windows uses spawn (not fork) for multiprocessing. ImageFolderDataset._init_uuid_generator() assigns lambdas to self.generate_uuid, which cannot be pickled when num_workers > 0.

AttributeError: Can't get local object 'ImageFolderDataset._init_uuid_generator.<locals>.<lambda>'

Fix: Set num_workers=0 on Windows in embedding_service.py, or replace the lambdas in hpc-inference with a regular method.

2. gpu-cu12 / gpu-cu13 extras fail on Windows

cuML (RAPIDS) only ships Linux wheels. uv pip install -e ".[gpu-cu12]" fails with RuntimeError: Didn't find wheel for cuml-cu12.

Fix: Document that GPU extras (cuML) are Linux-only. Embedding still uses CUDA via PyTorch on Windows.

3. PyTorch installs as CPU-only by default

uv pip install -e . pulls the CPU-only torch from PyPI on Windows. Users must manually reinstall from PyTorch's CUDA index:

uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124

Fix: Add Windows-specific CUDA PyTorch install instructions to README.

4. Missing pynvml dependency

Embedding fails at runtime with No module named 'pynvml'.

Fix: Add pynvml or nvidia-ml-py to project dependencies.

5. README venv activation command is Linux-only

source .venv/bin/activate does not exist on Windows. The correct path is .venv\Scripts\activate.

Fix: Add Windows activation instructions to README.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdependenciesPull requests that update a dependency filedocumentationImprovements or additions to documentationenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions