@echo off
REM ---------------------------------------------------------------------------
REM parent path를 구함 ex) c:\AI\
FOR %%A IN ("%~dp0.") DO set PARENT_PATH=%%~dpA
set USERPROFILE=%PARENT_PATH%ETC\USERPROFILE\
set GIT_PATH=%PARENT_PATH%ETC\git\cmd\
set "PATH=%GIT_PATH%;%PATH%;"
git init .
git remote add origin https://github.com/patientx/ComfyUI-Zluda.git
git pull origin master
@echo off
REM ---------------------------------------------------------------------------
REM parent path를 구함 ex) c:\AI\
FOR %%A IN ("%~dp0.") DO set PARENT_PATH=%%~dpA
set USERPROFILE=%PARENT_PATH%ETC\USERPROFILE\
set VENV_DIR=%~dp0venv
set PYTHON_PATH=%PARENT_PATH%ETC\python3.12.10\
set GIT_PATH=%PARENT_PATH%ETC\git\cmd\
set "PATH=%GIT_PATH%;%PATH%;"
REM ---------------------------------------------------------------------------
REM 폴더 경로가 바뀌어도 가상 파이쏜 정상 실행 되도록 경로 수정
if exist "%VENV_DIR%\" (
set tmp_pypath=home = %PYTHON_PATH%
set tmp_venvpath=set VIRTUAL_ENV=%VENV_DIR%
powershell -command "$text = (gc %VENV_DIR%\pyvenv.cfg) -replace 'home = .*', $env:tmp_pypath; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False);[System.IO.File]::WriteAllLines('%VENV_DIR%\pyvenv.cfg', $text, $Utf8NoBomEncoding);"
powershell -command "$text = (gc %VENV_DIR%\Scripts\activate.bat) -replace 'set VIRTUAL_ENV=.*', $env:tmp_venvpath; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False);[System.IO.File]::WriteAllLines('%VENV_DIR%\Scripts\activate.bat', $text, $Utf8NoBomEncoding);"
)
REM ---------------------------------------------------------------------------
REM 가상화 실행
If Not Exist "%VENV_DIR%\Scripts\activate.bat" (
%PYTHON_PATH%python.exe -m venv %VENV_DIR%
)
If Not Exist "%VENV_DIR%\Scripts\activate.bat" Exit /B 1
Call "%VENV_DIR%\Scripts\activate.bat"
REM ---------------------------------------------------------------------------
REM 실제 설치 하는 부분
python.exe -m pip install --upgrade pip
pip3 install -r requirements.txt
pip3 uninstall torch torchvision torchaudio -y
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip3 install onnxruntime
pip3 install piexif
cd custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
cd ..
pause
이 스크립트는 Comfy 구동에 필요한 라이브러리를 설치합니다.
3-3 ComfyUI-Zluda_install_zluda.cmd
@Echo off
If Exist "zluda" (
rmdir /S /q zluda
)
set VENV_DIR=%~dp0venv
set "ver_str=- Patching ZLUDA (Zluda 3.9.3 for HIP SDK 6.2.4)"
set "zluda_url=https://github.com/lshqqytiger/ZLUDA/releases/download/rel.0d1513a017397bf9ebbac0b3c846160c8d4fc700/ZLUDA-windows-rocm6-amd64.zip"
echo %ver_str%
curl -s -L %zluda_url% > zluda.zip
tar -xf zluda.zip
del zluda.zip
copy zluda\cublas.dll %VENV_DIR%\Lib\site-packages\torch\lib\cublas64_11.dll /y >NUL
copy zluda\cusparse.dll %VENV_DIR%\Lib\site-packages\torch\lib\cusparse64_11.dll /y >NUL
copy zluda\nvrtc.dll %VENV_DIR%\Lib\site-packages\torch\lib\nvrtc64_112_0.dll /y >NUL
echo.
@echo * ZLUDA is patched.
pause
이 파일은 ETC\ComfyUI_DATA\extra_model_paths.yaml 에 저장됩니다.
ComfyUI에서 각종 모델 파일 위치를 지정해주는 설정인데 base_path를 기준으로 상대 경로 위치가 됩니다.
3-4 ComfyUI-Zluda_run.cmd
@echo off
REM ---------------------------------------------------------------------------
REM parent path를 구함 ex) c:\AI\
FOR %%A IN ("%~dp0.") DO set PARENT_PATH=%%~dpA
set CURRENT_PATH=%~dp0
set USERPROFILE=%PARENT_PATH%ETC\USERPROFILE\
set VENV_DIR=%~dp0venv
set PYTHON_PATH=%PARENT_PATH%ETC\python3.12.10\
set GIT_PATH=%PARENT_PATH%ETC\git\cmd\
set HIP_PATH=%PARENT_PATH%ETC\ROCm\6.2\
set HIP_PATH_62=%HIP_PATH%
set "PATH=%GIT_PATH%;%HIP_PATH%;%HIP_PATH%bin;%HIP_PATH_62%;%PATH%;"
REM ---------------------------------------------------------------------------
rem AppData\Local폴더가 없으면 zluda cache 파일이 생성되지 않음
If Not Exist "%USERPROFILE%AppData\Local\" (
mkdir %USERPROFILE%AppData\Local\
mkdir %USERPROFILE%AppData\Roaming\
)
REM 폴더 경로가 바뀌어도 가상 파이쏜 정상 실행 되도록 경로 수정
set tmp_pypath=home = %PYTHON_PATH%
set tmp_venvpath=set VIRTUAL_ENV=%VENV_DIR%
if exist "%VENV_DIR%\" (
powershell -command "$text = (gc %VENV_DIR%\pyvenv.cfg) -replace 'home = .*', $env:tmp_pypath; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False);[System.IO.File]::WriteAllLines('%VENV_DIR%\pyvenv.cfg', $text, $Utf8NoBomEncoding);"
powershell -command "$text = (gc %VENV_DIR%\Scripts\activate.bat) -replace 'set VIRTUAL_ENV=.*', $env:tmp_venvpath; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False);[System.IO.File]::WriteAllLines('%VENV_DIR%\Scripts\activate.bat', $text, $Utf8NoBomEncoding);"
)
REM ---------------------------------------------------------------------------
REM 컴피 전용
set COMFYUI_USER_PATH=%PARENT_PATH%ETC\ComfyUI_DATA\
set EXTRA_MODEL_PATH_FILE=%COMFYUI_USER_PATH%extra_model_paths.yaml
set COMFYUI_MODEL_PATH=%PARENT_PATH%Models\
REM ComfyUI 유저정보 저장하는 폴더가 없으면 실행 안됨
If Not Exist "%COMFYUI_USER_PATH%" (
mkdir %COMFYUI_USER_PATH%
)
REM 추가모델 경로 설정파일 수정
set "tmp_extra_path=%EXTRA_MODEL_PATH_FILE%"
set tmp_2=base_path: %PARENT_PATH%
if exist "%tmp_extra_path%" (
powershell -command "$text = (gc %tmp_extra_path%) -replace 'base_path: .*', $env:tmp_2; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False);[System.IO.File]::WriteAllLines('%tmp_extra_path%', $text, $Utf8NoBomEncoding);"
)
REM ---------------------------------------------------------------------------
REM 가상화 실행
If Not Exist "%VENV_DIR%\Scripts\activate.bat" Exit /B 1
Call "%VENV_DIR%\Scripts\activate.bat"
REM ---------------------------------------------------------------------------
set COMMANDLINE_ARGS=--use-quad-cross-attention --highvram --output-directory "%PARENT_PATH%Outputs" --user-directory %COMFYUI_USER_PATH% --extra-model-paths-config %EXTRA_MODEL_PATH_FILE% --preview-method auto
.\zluda\zluda.exe -- python.exe main.py %COMMANDLINE_ARGS%
pause
이 스크립트는 ComfyUI를 실행합니다.
4. 마무리…
설명이 부실하긴 한데 그 부분은 근성과 기합 그리고 노오오오력 하시면 이해가 되실거라 봅니다.
그럼 제가 뽑은 짤 보시면서 좋은 하루 되시길 빌겠습니다.
춤추는 베르단디메스까끼 프리렌조아쓰! 아쿠아미국 대통령 책상위에서 의문의 스위치를 발견한 아쿠아백악관 안에서 폭렬마법을 날린 메구밍…경마권을 들고 회심의 미소를 짓는 아쿠아
ComfyUI-Zluda_run.cmd는 아래와 같이 작성해야 잘 작동하네요 (제 환경에서는)
REM —————————————————————————
REM parent path를 구함 ex) c:\AI\
FOR %%A IN (“%~dp0.”) DO set PARENT_PATH=%%~dpA
set CURRENT_PATH=%~dp0
set USERPROFILE=%PARENT_PATH%ETC\USERPROFILE\
set VENV_DIR=%~dp0venv
set PYTHON_PATH=%PARENT_PATH%ETC\python3.12.10\
set GIT_PATH=%PARENT_PATH%ETC\git\cmd\
set HIP_PATH=%PARENT_PATH%ETC\ROCm\6.2\
set HIP_PATH_62=%HIP_PATH%
set “PATH=%GIT_PATH%;%HIP_PATH%;%HIP_PATH%bin;%HIP_PATH_62%;%PATH%;”
set ZLUDA_EXE=%CURRENT_PATH%zluda.exe
REM —————————————————————————
rem AppData\Local폴더가 없으면 zluda cache 파일이 생성되지 않음
If Not Exist “%USERPROFILE%AppData\Local\” (
mkdir %USERPROFILE%AppData\Local\
mkdir %USERPROFILE%AppData\Roaming\
)
REM 폴더 경로가 바뀌어도 가상 파이쏜 정상 실행 되도록 경로 수정
set tmp_pypath=home = %PYTHON_PATH%
set tmp_venvpath=set VIRTUAL_ENV=%VENV_DIR%
if exist “%VENV_DIR%\” (
powershell -command “$text = (gc %VENV_DIR%\pyvenv.cfg) -replace ‘home = .*’, $env:tmp_pypath; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False);[System.IO.File]::WriteAllLines(‘%VENV_DIR%\pyvenv.cfg’, $text, $Utf8NoBomEncoding);”
powershell -command “$text = (gc %VENV_DIR%\Scripts\activate.bat) -replace ‘set VIRTUAL_ENV=.*’, $env:tmp_venvpath; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False);[System.IO.File]::WriteAllLines(‘%VENV_DIR%\Scripts\activate.bat’, $text, $Utf8NoBomEncoding);”
)
REM —————————————————————————
REM 컴피 전용
set COMFYUI_USER_PATH=%PARENT_PATH%ETC\ComfyUI_DATA\
set EXTRA_MODEL_PATH_FILE=%COMFYUI_USER_PATH%extra_model_paths.yaml
set COMFYUI_MODEL_PATH=%PARENT_PATH%Models\
REM ComfyUI 유저정보 저장하는 폴더가 없으면 실행 안됨
If Not Exist “%COMFYUI_USER_PATH%” (
mkdir %COMFYUI_USER_PATH%
)
REM 추가모델 경로 설정파일 수정
set “tmp_extra_path=%EXTRA_MODEL_PATH_FILE%”
set tmp_2=base_path: %PARENT_PATH%
if exist “%tmp_extra_path%” (
powershell -command “$text = (gc %tmp_extra_path%) -replace ‘base_path: .*’, $env:tmp_2; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False);[System.IO.File]::WriteAllLines(‘%tmp_extra_path%’, $text, $Utf8NoBomEncoding);”
)
REM —————————————————————————
REM 가상화 실행
If Not Exist “%VENV_DIR%\Scripts\activate.bat” Exit /B 1
Call “%VENV_DIR%\Scripts\activate.bat”
REM —————————————————————————
set COMMANDLINE_ARGS=–use-quad-cross-attention –highvram –output-directory “%PARENT_PATH%Outputs” –user-directory %COMFYUI_USER_PATH% –extra-model-paths-config %EXTRA_MODEL_PATH_FILE% –preview-method auto
“%ZLUDA_EXE%” — python.exe main.py %COMMANDLINE_ARGS%
답글 남기기