c4057c261e
Documents all pitfalls encountered during setup: - CUDA arch mismatch (sm_120 vs sm_89) — source rebuild needed - utils3d empty pip package → GitHub fork required - transformers v5 DINOv3 API change → sed patch - xformers version pinning (0.0.33.post2 for torch 2.9.1) - Missing Eigen headers for cumesh build - visualbruno forks needed for o_voxel and cumesh (newer functions) - /tmp disk space issues during pip builds Includes: - SETUP.md: Full step-by-step guide - requirements.txt: Pinned dependency versions - fix_transformers_v5.sh: Apply DINOv3 layer patch - build_cuda_extensions.sh: One-shot source build of all CUDA extensions
34 lines
1.0 KiB
Bash
34 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# Apply transformers v5 API fix to ComfyUI-Trellis2
|
|
# Fixes: AttributeError: 'DINOv3ViTModel' object has no attribute 'layer'
|
|
# Reference: https://github.com/visualbruno/ComfyUI-Trellis2/issues/144
|
|
|
|
TRELLIS2_DIR="${1:-custom_nodes/ComfyUI-Trellis2/trellis2}"
|
|
|
|
if [ ! -d "$TRELLIS2_DIR" ]; then
|
|
echo "ERROR: Trellis2 directory not found: $TRELLIS2_DIR"
|
|
echo "Usage: $0 [path/to/ComfyUI-Trellis2/trellis2]"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Patching DINOv3 model.layer → model.model.layer in:"
|
|
for f in \
|
|
modules/image_feature_extractor.py \
|
|
trainers/flow_matching/mixins/image_conditioned.py \
|
|
trainers/flow_matching/mixins/image_conditioned_proj.py
|
|
do
|
|
file="$TRELLIS2_DIR/$f"
|
|
if [ -f "$file" ]; then
|
|
if grep -q 'self\.model\.layer' "$file"; then
|
|
sed -i 's/self\.model\.layer/self.model.model.layer/g' "$file"
|
|
echo " ✓ $f"
|
|
else
|
|
echo " - $f (already patched)"
|
|
fi
|
|
else
|
|
echo " ✗ $f (not found)"
|
|
fi
|
|
done
|
|
|
|
echo "Done."
|