Spaces:
Running
π§ Fix dependency installation issues with flash-attn and packaging
Browse filesβ
Fixes:
- Updated requirements.txt to include essential build dependencies
- Commented out problematic packages (flash-attn, xformers) as optional
- Added proper version constraints to prevent conflicts
- Made numpy version compatible (<2.0.0)
π¦ New Installation Scripts:
- install_dependencies.py: Cross-platform safe installation
- install_dependencies.ps1: Windows PowerShell installation script
- Both handle optional packages gracefully and provide verification
π Features:
- Graceful handling of missing optional performance packages
- Step-by-step installation with proper error handling
- PyTorch installation with CUDA detection and fallback
- Installation verification with detailed status reporting
π‘ Usage:
Windows: .\install_dependencies.ps1
Linux/Mac: python install_dependencies.py
Or manual: pip install -r requirements.txt (now works without errors)
π― Result:
- Resolves 'packaging module not found' error
- Makes flash-attn optional (performance optimization only)
- Ensures core OmniAvatar functionality works on all systems
- INSTALLATION_FIX.md +112 -0
- install_dependencies.ps1 +124 -0
- install_dependencies.py +121 -0
- requirements.txt +17 -9
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
ο»Ώ# π§ Installation Guide - Fixing Dependency Issues
|
2 |
+
|
3 |
+
## Problem
|
4 |
+
The error you encountered is due to `flash-attn` requiring the `packaging` module during compilation, and it's a notoriously difficult package to install on some systems.
|
5 |
+
|
6 |
+
## Solution
|
7 |
+
|
8 |
+
### Option 1: Use the Safe Installation Script (Recommended)
|
9 |
+
|
10 |
+
**For Windows:**
|
11 |
+
```powershell
|
12 |
+
# Run the safe installation script
|
13 |
+
.\install_dependencies.ps1
|
14 |
+
```
|
15 |
+
|
16 |
+
**For Linux/Mac:**
|
17 |
+
```bash
|
18 |
+
# Run the safe installation script
|
19 |
+
python install_dependencies.py
|
20 |
+
```
|
21 |
+
|
22 |
+
### Option 2: Manual Installation Steps
|
23 |
+
|
24 |
+
1. **Upgrade pip and build tools:**
|
25 |
+
```bash
|
26 |
+
pip install --upgrade pip setuptools wheel packaging
|
27 |
+
```
|
28 |
+
|
29 |
+
2. **Install PyTorch first:**
|
30 |
+
```bash
|
31 |
+
# For CUDA support
|
32 |
+
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
|
33 |
+
|
34 |
+
# Or CPU-only version
|
35 |
+
pip install torch torchvision torchaudio
|
36 |
+
```
|
37 |
+
|
38 |
+
3. **Install main requirements (flash-attn excluded):**
|
39 |
+
```bash
|
40 |
+
pip install -r requirements.txt
|
41 |
+
```
|
42 |
+
|
43 |
+
4. **Optional: Install performance packages manually:**
|
44 |
+
```bash
|
45 |
+
# xformers (usually works)
|
46 |
+
pip install xformers
|
47 |
+
|
48 |
+
# flash-attn (may fail - it's optional)
|
49 |
+
pip install flash-attn --no-build-isolation
|
50 |
+
```
|
51 |
+
|
52 |
+
### Option 3: Skip Problematic Dependencies
|
53 |
+
|
54 |
+
The app will work perfectly fine without `flash-attn` and `xformers`. These are performance optimizations, not requirements.
|
55 |
+
|
56 |
+
## What Changed
|
57 |
+
|
58 |
+
β
**Fixed requirements.txt:**
|
59 |
+
- Added essential build dependencies (`setuptools`, `wheel`, `packaging`)
|
60 |
+
- Commented out problematic packages (`flash-attn`, `xformers`)
|
61 |
+
- Made numpy version compatible
|
62 |
+
- Added proper PyTorch installation notes
|
63 |
+
|
64 |
+
β
**Created safe installation scripts:**
|
65 |
+
- `install_dependencies.py` - Cross-platform Python script
|
66 |
+
- `install_dependencies.ps1` - Windows PowerShell script
|
67 |
+
- Both handle errors gracefully and skip optional packages
|
68 |
+
|
69 |
+
## Verification
|
70 |
+
|
71 |
+
After installation, verify everything works:
|
72 |
+
|
73 |
+
```bash
|
74 |
+
python -c "import torch, transformers, gradio, fastapi; print('β
Core dependencies installed!')"
|
75 |
+
```
|
76 |
+
|
77 |
+
## Next Steps
|
78 |
+
|
79 |
+
Once dependencies are installed:
|
80 |
+
|
81 |
+
1. **Download OmniAvatar models:**
|
82 |
+
```bash
|
83 |
+
python setup_omniavatar.py
|
84 |
+
```
|
85 |
+
|
86 |
+
2. **Start the application:**
|
87 |
+
```bash
|
88 |
+
python app.py
|
89 |
+
```
|
90 |
+
|
91 |
+
## Troubleshooting
|
92 |
+
|
93 |
+
**If you still get errors:**
|
94 |
+
|
95 |
+
1. **Use a virtual environment:**
|
96 |
+
```bash
|
97 |
+
python -m venv omniavatar_env
|
98 |
+
source omniavatar_env/bin/activate # Linux/Mac
|
99 |
+
# or
|
100 |
+
omniavatar_env\Scripts\activate # Windows
|
101 |
+
```
|
102 |
+
|
103 |
+
2. **Try without optional packages:**
|
104 |
+
The app will work fine with just the core dependencies. Performance optimizations like `flash-attn` are nice-to-have, not essential.
|
105 |
+
|
106 |
+
3. **Check Python version:**
|
107 |
+
Ensure you're using Python 3.8 or later:
|
108 |
+
```bash
|
109 |
+
python --version
|
110 |
+
```
|
111 |
+
|
112 |
+
The dependency issues have been resolved and the OmniAvatar integration will work with or without the optional performance packages! π
|
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
ο»Ώ# Safe Dependency Installation Script for Windows
|
2 |
+
# Handles problematic packages like flash-attn carefully
|
3 |
+
|
4 |
+
Write-Host "π OmniAvatar Dependency Installation" -ForegroundColor Green
|
5 |
+
Write-Host "====================================" -ForegroundColor Green
|
6 |
+
|
7 |
+
# Function to run pip command safely
|
8 |
+
function Install-Package {
|
9 |
+
param(
|
10 |
+
[string[]]$Command,
|
11 |
+
[string]$Description,
|
12 |
+
[bool]$Optional = $false
|
13 |
+
)
|
14 |
+
|
15 |
+
Write-Host "π $Description" -ForegroundColor Yellow
|
16 |
+
try {
|
17 |
+
$result = & $Command[0] $Command[1..$Command.Length]
|
18 |
+
if ($LASTEXITCODE -eq 0) {
|
19 |
+
Write-Host "β
$Description - Success" -ForegroundColor Green
|
20 |
+
return $true
|
21 |
+
} else {
|
22 |
+
throw "Command failed with exit code $LASTEXITCODE"
|
23 |
+
}
|
24 |
+
} catch {
|
25 |
+
if ($Optional) {
|
26 |
+
Write-Host "β οΈ $Description - Failed (optional): $($_.Exception.Message)" -ForegroundColor Yellow
|
27 |
+
return $false
|
28 |
+
} else {
|
29 |
+
Write-Host "β $Description - Failed: $($_.Exception.Message)" -ForegroundColor Red
|
30 |
+
throw
|
31 |
+
}
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
try {
|
36 |
+
# Step 1: Upgrade pip and essential tools
|
37 |
+
Install-Package -Command @("python", "-m", "pip", "install", "--upgrade", "pip", "setuptools", "wheel", "packaging") -Description "Upgrading pip and build tools"
|
38 |
+
|
39 |
+
# Step 2: Install PyTorch with CUDA support (if available)
|
40 |
+
Write-Host "π¦ Installing PyTorch..." -ForegroundColor Cyan
|
41 |
+
try {
|
42 |
+
Install-Package -Command @("python", "-m", "pip", "install", "torch", "torchvision", "torchaudio", "--index-url", "https://download.pytorch.org/whl/cu124") -Description "Installing PyTorch with CUDA support"
|
43 |
+
} catch {
|
44 |
+
Write-Host "β οΈ CUDA PyTorch failed, installing CPU version" -ForegroundColor Yellow
|
45 |
+
Install-Package -Command @("python", "-m", "pip", "install", "torch", "torchvision", "torchaudio") -Description "Installing PyTorch CPU version"
|
46 |
+
}
|
47 |
+
|
48 |
+
# Step 3: Install main requirements
|
49 |
+
Install-Package -Command @("python", "-m", "pip", "install", "-r", "requirements.txt") -Description "Installing main requirements"
|
50 |
+
|
51 |
+
# Step 4: Try optional performance packages
|
52 |
+
Write-Host "π― Installing optional performance packages..." -ForegroundColor Cyan
|
53 |
+
|
54 |
+
# Try xformers
|
55 |
+
Install-Package -Command @("python", "-m", "pip", "install", "xformers") -Description "Installing xformers (memory efficient attention)" -Optional $true
|
56 |
+
|
57 |
+
# Flash-attn is often problematic, so we'll skip it by default
|
58 |
+
Write-Host "βΉοΈ Skipping flash-attn installation (often problematic on Windows)" -ForegroundColor Blue
|
59 |
+
Write-Host "π‘ You can try installing it later with: pip install flash-attn --no-build-isolation" -ForegroundColor Blue
|
60 |
+
|
61 |
+
# Step 5: Verify installation
|
62 |
+
Write-Host "π Verifying installation..." -ForegroundColor Cyan
|
63 |
+
|
64 |
+
python -c @"
|
65 |
+
import sys
|
66 |
+
try:
|
67 |
+
import torch
|
68 |
+
import transformers
|
69 |
+
import gradio
|
70 |
+
import fastapi
|
71 |
+
|
72 |
+
print(f'β
PyTorch: {torch.__version__}')
|
73 |
+
print(f'β
Transformers: {transformers.__version__}')
|
74 |
+
print(f'β
Gradio: {gradio.__version__}')
|
75 |
+
|
76 |
+
if torch.cuda.is_available():
|
77 |
+
print(f'β
CUDA: {torch.version.cuda}')
|
78 |
+
print(f'β
GPU Count: {torch.cuda.device_count()}')
|
79 |
+
else:
|
80 |
+
print('βΉοΈ CUDA not available - will use CPU')
|
81 |
+
|
82 |
+
# Check optional packages
|
83 |
+
try:
|
84 |
+
import xformers
|
85 |
+
print(f'β
xformers: {xformers.__version__}')
|
86 |
+
except ImportError:
|
87 |
+
print('βΉοΈ xformers not available (optional)')
|
88 |
+
|
89 |
+
try:
|
90 |
+
import flash_attn
|
91 |
+
print('β
flash_attn: Available')
|
92 |
+
except ImportError:
|
93 |
+
print('βΉοΈ flash_attn not available (optional)')
|
94 |
+
|
95 |
+
print('π Installation verification successful!')
|
96 |
+
|
97 |
+
except ImportError as e:
|
98 |
+
print(f'β Installation verification failed: {e}')
|
99 |
+
sys.exit(1)
|
100 |
+
"@
|
101 |
+
|
102 |
+
if ($LASTEXITCODE -eq 0) {
|
103 |
+
Write-Host ""
|
104 |
+
Write-Host "π Installation completed successfully!" -ForegroundColor Green
|
105 |
+
Write-Host ""
|
106 |
+
Write-Host "π‘ Next steps:" -ForegroundColor Yellow
|
107 |
+
Write-Host "1. Download models: .\setup_omniavatar.ps1" -ForegroundColor White
|
108 |
+
Write-Host "2. Start the app: python app.py" -ForegroundColor White
|
109 |
+
Write-Host ""
|
110 |
+
} else {
|
111 |
+
throw "Installation verification failed"
|
112 |
+
}
|
113 |
+
|
114 |
+
} catch {
|
115 |
+
Write-Host ""
|
116 |
+
Write-Host "β Installation failed: $($_.Exception.Message)" -ForegroundColor Red
|
117 |
+
Write-Host ""
|
118 |
+
Write-Host "π‘ Troubleshooting tips:" -ForegroundColor Yellow
|
119 |
+
Write-Host "1. Make sure Python 3.8+ is installed" -ForegroundColor White
|
120 |
+
Write-Host "2. Try running in a virtual environment" -ForegroundColor White
|
121 |
+
Write-Host "3. Check your internet connection" -ForegroundColor White
|
122 |
+
Write-Host "4. For GPU support, ensure CUDA is properly installed" -ForegroundColor White
|
123 |
+
exit 1
|
124 |
+
}
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
ο»Ώ#!/usr/bin/env python3
|
2 |
+
"""
|
3 |
+
Safe Installation Script for OmniAvatar Dependencies
|
4 |
+
Handles problematic packages like flash-attn and xformers carefully
|
5 |
+
"""
|
6 |
+
|
7 |
+
import subprocess
|
8 |
+
import sys
|
9 |
+
import os
|
10 |
+
import logging
|
11 |
+
|
12 |
+
logging.basicConfig(level=logging.INFO)
|
13 |
+
logger = logging.getLogger(__name__)
|
14 |
+
|
15 |
+
def run_pip_command(cmd, description="", optional=False):
|
16 |
+
"""Run a pip command with proper error handling"""
|
17 |
+
logger.info(f"π {description}")
|
18 |
+
try:
|
19 |
+
result = subprocess.run(cmd, check=True, capture_output=True, text=True)
|
20 |
+
logger.info(f"β
{description} - Success")
|
21 |
+
return True
|
22 |
+
except subprocess.CalledProcessError as e:
|
23 |
+
if optional:
|
24 |
+
logger.warning(f"β οΈ {description} - Failed (optional): {e.stderr}")
|
25 |
+
return False
|
26 |
+
else:
|
27 |
+
logger.error(f"β {description} - Failed: {e.stderr}")
|
28 |
+
raise
|
29 |
+
|
30 |
+
def main():
|
31 |
+
logger.info("π Starting safe dependency installation for OmniAvatar")
|
32 |
+
|
33 |
+
# Step 1: Upgrade pip and essential tools
|
34 |
+
run_pip_command([
|
35 |
+
sys.executable, "-m", "pip", "install", "--upgrade",
|
36 |
+
"pip", "setuptools", "wheel", "packaging"
|
37 |
+
], "Upgrading pip and build tools")
|
38 |
+
|
39 |
+
# Step 2: Install PyTorch with CUDA support (if available)
|
40 |
+
logger.info("π¦ Installing PyTorch...")
|
41 |
+
try:
|
42 |
+
# Try CUDA version first
|
43 |
+
run_pip_command([
|
44 |
+
sys.executable, "-m", "pip", "install",
|
45 |
+
"torch", "torchvision", "torchaudio",
|
46 |
+
"--index-url", "https://download.pytorch.org/whl/cu124"
|
47 |
+
], "Installing PyTorch with CUDA support")
|
48 |
+
except:
|
49 |
+
logger.warning("β οΈ CUDA PyTorch failed, installing CPU version")
|
50 |
+
run_pip_command([
|
51 |
+
sys.executable, "-m", "pip", "install",
|
52 |
+
"torch", "torchvision", "torchaudio"
|
53 |
+
], "Installing PyTorch CPU version")
|
54 |
+
|
55 |
+
# Step 3: Install main requirements
|
56 |
+
run_pip_command([
|
57 |
+
sys.executable, "-m", "pip", "install", "-r", "requirements.txt"
|
58 |
+
], "Installing main requirements")
|
59 |
+
|
60 |
+
# Step 4: Try to install optional performance packages
|
61 |
+
logger.info("π― Installing optional performance packages...")
|
62 |
+
|
63 |
+
# Try xformers (memory efficient attention)
|
64 |
+
run_pip_command([
|
65 |
+
sys.executable, "-m", "pip", "install", "xformers"
|
66 |
+
], "Installing xformers (memory efficient attention)", optional=True)
|
67 |
+
|
68 |
+
# Try flash-attn (advanced attention mechanism)
|
69 |
+
logger.info("π₯ Attempting flash-attn installation (this may take a while or fail)...")
|
70 |
+
try:
|
71 |
+
# First try pre-built wheel
|
72 |
+
run_pip_command([
|
73 |
+
sys.executable, "-m", "pip", "install", "flash-attn", "--no-build-isolation"
|
74 |
+
], "Installing flash-attn from wheel", optional=True)
|
75 |
+
except:
|
76 |
+
logger.warning("β οΈ flash-attn installation failed - this is common and not critical")
|
77 |
+
logger.info("π‘ flash-attn can be installed later manually if needed")
|
78 |
+
|
79 |
+
# Step 5: Verify installation
|
80 |
+
logger.info("π Verifying installation...")
|
81 |
+
try:
|
82 |
+
import torch
|
83 |
+
import transformers
|
84 |
+
import gradio
|
85 |
+
import fastapi
|
86 |
+
|
87 |
+
logger.info(f"β
PyTorch: {torch.__version__}")
|
88 |
+
logger.info(f"β
Transformers: {transformers.__version__}")
|
89 |
+
logger.info(f"β
Gradio: {gradio.__version__}")
|
90 |
+
|
91 |
+
if torch.cuda.is_available():
|
92 |
+
logger.info(f"β
CUDA: {torch.version.cuda}")
|
93 |
+
logger.info(f"β
GPU Count: {torch.cuda.device_count()}")
|
94 |
+
else:
|
95 |
+
logger.info("βΉοΈ CUDA not available - will use CPU")
|
96 |
+
|
97 |
+
# Check optional packages
|
98 |
+
try:
|
99 |
+
import xformers
|
100 |
+
logger.info(f"β
xformers: {xformers.__version__}")
|
101 |
+
except ImportError:
|
102 |
+
logger.info("βΉοΈ xformers not available (optional)")
|
103 |
+
|
104 |
+
try:
|
105 |
+
import flash_attn
|
106 |
+
logger.info("β
flash_attn: Available")
|
107 |
+
except ImportError:
|
108 |
+
logger.info("βΉοΈ flash_attn not available (optional)")
|
109 |
+
|
110 |
+
logger.info("π Installation completed successfully!")
|
111 |
+
logger.info("π‘ You can now run: python app.py")
|
112 |
+
|
113 |
+
except ImportError as e:
|
114 |
+
logger.error(f"β Installation verification failed: {e}")
|
115 |
+
return False
|
116 |
+
|
117 |
+
return True
|
118 |
+
|
119 |
+
if __name__ == "__main__":
|
120 |
+
success = main()
|
121 |
+
sys.exit(0 if success else 1)
|
@@ -1,12 +1,18 @@
|
|
1 |
-
ο»Ώ#
|
|
|
|
|
|
|
|
|
|
|
2 |
fastapi==0.104.1
|
3 |
uvicorn[standard]==0.24.0
|
4 |
gradio==4.44.1
|
5 |
|
6 |
-
# PyTorch ecosystem - OmniAvatar compatible versions
|
7 |
-
torch
|
8 |
-
|
9 |
-
|
|
|
10 |
|
11 |
# Basic ML/AI libraries
|
12 |
transformers>=4.21.0
|
@@ -23,7 +29,7 @@ imageio>=2.25.0
|
|
23 |
imageio-ffmpeg>=0.4.8
|
24 |
|
25 |
# Scientific computing
|
26 |
-
numpy>=1.21.0
|
27 |
scipy>=1.9.0
|
28 |
einops>=0.6.0
|
29 |
|
@@ -44,9 +50,11 @@ datasets>=2.0.0
|
|
44 |
sentencepiece>=0.1.99
|
45 |
protobuf>=3.20.0
|
46 |
|
47 |
-
#
|
48 |
-
xformers>=0.0.20 #
|
49 |
-
|
|
|
|
|
50 |
|
51 |
# Optional TTS dependencies (will be gracefully handled if missing)
|
52 |
# speechbrain>=0.5.0
|
|
|
1 |
+
ο»Ώ# Essential build tools and dependencies
|
2 |
+
setuptools>=65.0.0
|
3 |
+
wheel>=0.37.0
|
4 |
+
packaging>=21.0
|
5 |
+
|
6 |
+
# Core web framework dependencies
|
7 |
fastapi==0.104.1
|
8 |
uvicorn[standard]==0.24.0
|
9 |
gradio==4.44.1
|
10 |
|
11 |
+
# PyTorch ecosystem - OmniAvatar compatible versions
|
12 |
+
# For CUDA support, use: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
|
13 |
+
torch>=2.0.0
|
14 |
+
torchvision>=0.15.0
|
15 |
+
torchaudio>=2.0.0
|
16 |
|
17 |
# Basic ML/AI libraries
|
18 |
transformers>=4.21.0
|
|
|
29 |
imageio-ffmpeg>=0.4.8
|
30 |
|
31 |
# Scientific computing
|
32 |
+
numpy>=1.21.0,<2.0.0
|
33 |
scipy>=1.9.0
|
34 |
einops>=0.6.0
|
35 |
|
|
|
50 |
sentencepiece>=0.1.99
|
51 |
protobuf>=3.20.0
|
52 |
|
53 |
+
# Memory efficient attention - install after PyTorch
|
54 |
+
# xformers>=0.0.20 # Commented out - can cause issues, install manually if needed
|
55 |
+
|
56 |
+
# Flash attention - optional and often problematic
|
57 |
+
# flash-attn>=2.0.0 # Commented out - install manually with: pip install flash-attn --no-build-isolation
|
58 |
|
59 |
# Optional TTS dependencies (will be gracefully handled if missing)
|
60 |
# speechbrain>=0.5.0
|