Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 5 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,6 @@ git clone --branch v0.5.0 https://github.com/ack00gar/FunGen-AI-Powered-Funscrip
cd FunGenBeta
```

### Install the core python requirements
```bash
pip install -r core.requirements.txt
```
- If you have the original FunGen installed, skip to [Download the YOLO model](#download-the-yolo-model)

### NVIDIA GPU Setup (CUDA Required)
Expand All @@ -61,14 +57,12 @@ pip install -r core.requirements.txt

**For 20xx, 30xx and 40xx-series NVIDIA GPUs:**
```bash
pip install -r cuda.requirements.txt
pip install tensorrt
uv sync --extra cuda
```

**For 50xx series NVIDIA GPUs (RTX 5070, 5080, 5090):**
```bash
pip install -r cuda.50series.requirements.txt
pip install tensorrt
uv sync --extra cuda-rtx50
```

**Note:** NVIDIA 10xx series GPUs are not supported.
Expand All @@ -82,12 +76,12 @@ python -c "import torch; print(torch.cuda.is_available())" # Check PyTorch CUDA

### If your GPU doesn't support cuda
```bash
pip install -r cpu.requirements.txt
uv sync --extra cpu
```

### If your GPU supports ROCm (AMD Linux Only)
```bash
pip install -r rocm.requirements.txt
uv sync --extra rocm
```

## Download the YOLO model
Expand All @@ -98,7 +92,7 @@ Download from https://docs.ultralytics.com/tasks/pose/ and place in the `models/

### Start the app
```bash
python3 main.py
uv run main.py
```

We support multiple model formats across Windows, macOS, and Linux.
Expand Down
16 changes: 0 additions & 16 deletions core.requirements.txt

This file was deleted.

2 changes: 0 additions & 2 deletions cpu.requirements.txt

This file was deleted.

6 changes: 0 additions & 6 deletions cuda.50series.requirements.txt

This file was deleted.

6 changes: 0 additions & 6 deletions cuda.requirements.txt

This file was deleted.

1 change: 1 addition & 0 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ channels:
dependencies:
- python=3.12
- pip
- uv
- ffmpeg # This will install ffmpeg and ffprobe from conda-forge
# - other_conda_package
- pip:
Expand Down
7 changes: 3 additions & 4 deletions install.bat
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,10 @@ if errorlevel 1 (
pause
exit /b 1
)
echo Installing dependencies from requirements.txt if it exists...
echo Installing dependencies if it exists...
call %CONDA_ACTIVATE_SCRIPT% %ENV_NAME%
if exist "requirements.txt" (
pip install -r requirements.txt
)
pip install uv
uv sync
echo NOTE: FFmpeg might not be installed if environment.yml was not used.
echo Consider adding ffmpeg to your requirements or creating an environment.yml.
call %CONDA_ACTIVATE_SCRIPT% %ENV_NAME% && conda install -c conda-forge ffmpeg -y
Expand Down
6 changes: 2 additions & 4 deletions install_linux.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,8 @@ if ! "$CONDA_EXE" env list | grep -q "^$ENV_NAME\s"; then
fi
echo "Activating environment to install requirements..."
source "$CONDA_ACTIVATE_SCRIPT" "$ENV_NAME"
if [ -f "requirements.txt" ]; then
echo "Installing dependencies from requirements.txt..."
pip install -r requirements.txt
fi
pip install uv
uv sync
echo "Attempting to install FFmpeg via Conda..."
conda install -c conda-forge ffmpeg -y
conda deactivate
Expand Down
8 changes: 3 additions & 5 deletions install_mac.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,10 @@ if ! "$CONDA_EXE" env list | grep -q "^$ENV_NAME\s"; then
echo "Failed to create Conda environment."
exit 1
fi
echo "Activating environment to install requirements..."
echo "Activating environment to install dependencies..."
source "$CONDA_ACTIVATE_SCRIPT" "$ENV_NAME"
if [ -f "requirements.txt" ]; then
echo "Installing dependencies from requirements.txt..."
pip install -r requirements.txt
fi
pip install uv
uv sync
echo "Attempting to install FFmpeg via Conda..."
conda install -c conda-forge ffmpeg -y
conda deactivate
Expand Down
94 changes: 94 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
[project]
name = "fungen-ai-powered-funscript-generator"
version = "0.1.0"
description = ""
authors = [
]
requires-python = ">=3.10.0"
dependencies = [
"numpy>=2.1.1,<3",
"ultralytics>=8.3.78,<9",
"glfw>=2.8.0,<3",
"pyopengl>=3.1.7,<4",
"tqdm>=4.67.1,<5",
"opencv-python>=4.10.0.84,<5",
"scipy>=1.15.1,<2",
"simplification>=0.7.13,<8",
"msgpack>=1.1.0,<2",
"orjson>=3.10.15,<4",
"imgui>=2.0.0",
"scenedetect[opencv]>=0.6.6",
"rdp>=0.8",
"send2trash>=1.8.3",
"aiosqlite>=0.21.0",
"sympy>=1.13.1",
]

[project.optional-dependencies]
cpu = [
"torch>=2.8,<2.9",
"torchvision>=0.20.1",
]
cuda = [
"torch>=2.8,<2.9",
"torchvision>=0.20.1",
"tensorrt",
]
cuda-rtx50 = [
"torch>=2.8,<2.9",
"torchvision>=0.22.1",
"tensorrt",
]
rocm = [
"torch>=2.8,<2.9",
"torchvision>=0.20.1",
"pytorch-triton-rocm",
]

[tool.uv]
conflicts = [
[
{ extra = "cpu" },
{ extra = "cuda" },
{ extra = "cuda-rtx50" },
{ extra = "rocm" },
],
]

[tool.uv.sources]
torch = [
{ index = "pytorch-cpu", extra = "cpu" },
{ index = "pytorch-cuda", extra = "cuda" },
{ index = "pytorch-cuda-rtx50", extra = "cuda-rtx50" },
{ index = "pytorch-rocm", extra = "rocm" },
]
torchvision = [
{ index = "pytorch-cpu", extra = "cpu" },
{ index = "pytorch-cuda", extra = "cuda" },
{ index = "pytorch-cuda-rtx50", extra = "cuda-rtx50" },
{ index = "pytorch-rocm", extra = "rocm" },
]
pytorch-triton-rocm = [
{ index = "pytorch-rocm", extra = "rocm" },
]

[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true

[[tool.uv.index]]
name = "pytorch-cuda"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

[[tool.uv.index]]
name = "pytorch-cuda-rtx50"
url = "https://download.pytorch.org/whl/cu129"
explicit = true

[[tool.uv.index]]
name = "pytorch-rocm"
url = "https://download.pytorch.org/whl/rocm6.4"
explicit = true

15 changes: 0 additions & 15 deletions requirements.txt

This file was deleted.

3 changes: 0 additions & 3 deletions rocm.requirements.txt

This file was deleted.

Loading