취미 기록용 블로그

AMD rx9070 ROCM 7.1(나이틀리 버전)+ComfyUI 포터블 버전

어제 ROCM 7.1이 공식 릴리즈 되는거 보고 AMD 나이틀리 페이지 확인 후 780m을 해보고 9070도 해봤습니다.

780m은 이전 개인이 빌드한거보다 느려지는 현상 때문에 사용을 포기했고 9070은 테스트 해보니 이전 9월달 대비 상당히 안정화가 됐길래 포터블 스크립트를 올려봅니다.

첫번째 이미지 17초는 모델 로딩 시간 포함이라 그렇고 그 이후부터는 10초를 유지합니다.

이전 9월버전 테스트할때는 해상도 변경시 대략 300초 정도의 엄청난 시간이 걸렸지만 이번엔 다릅니다. 그냥 바로 스텝이 올라갑니다.

AMD 나이틀리 버전(Nightly version)입니다. 개발용 테스트 버전을 사용했기 때문에 각종 버그나 오류가 있을수 있습니다. (정식 버전은 아직 6.5이고 사용할려면 전용 그래픽카드 드라이버가 필요하며 성능 또한 잘 안나옵니다)

그래픽카드 드라이버 : amd-software-adrenalin-edition-25.9.2-win10-win11-sep-rdna

25.10.2, 25.11.1 <– 이 버전 드라이버는 이미지 생성시 에러나는걸 확인했습니다.


ROCM : 7.1
TORCH : 2.9.1
Python : 3.13.9
Git : 2.51.2.windows.1

제목을 9070이라고 썼지만 rocm은 gfx120X-all 지원이기 때문에 9000번때 rdna4 글카라면 사용가능할거라 봅니다.


2025년12월21일 추가

통합 스크립트를 작성했으니 위 링크 사용하는걸 추천합니다.

1. Install.cmd

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
chcp 65001 >nul
REM ---------------------------------------------------------------------------
REM 루트를 구함 ex) "c:\AI\"
set "PATH_ROOT=%~dp0"

set "PATH_PYTHON=%PATH_ROOT%ETC\python_embeded"
set "PATH_GIT=%PATH_ROOT%ETC\git"
set "PATH=%PATH_PYTHON%;%PATH_PYTHON%\Scripts;%PATH_GIT%;%PATH_GIT%\cmd;%SystemRoot%\System32;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\"

REM ---------------------------------------------------------------------------
REM 설치시 필요한 파일 저장하는 경로 (인터넷에서 두번 다운 받는거 안하기 위해)
set "PATH_TEMP_INSTALLER=%PATH_ROOT%ETC\TMP_INSTALLER" 
set "USERPROFILE=%PATH_TEMP_INSTALLER%\USERPROFILE"
REM ---------------------------------------------------------------------------
REM 컴피용
set "PATH_COMFYUI=%PATH_ROOT%ETC\ComfyUI"
set "PATH_COMFYUI_USER=%PATH_ROOT%userdata"
set "PATH_COMFYUI_CUSTOM_NODES=%PATH_COMFYUI_USER%\custom_nodes"
set "FILE_PATH_EXTRA_MODEL=%PATH_COMFYUI_USER%\extra_model_paths.yaml"
set "PATH_OUTPUTS=%PATH_ROOT%Outputs"

REM ---------------------------------------------------------------------------
REM 필수 폴더 생성

REM PATH_TEMP_INSTALLER 폴더 생성
if not exist "%PATH_TEMP_INSTALLER%" (
	mkdir "%PATH_TEMP_INSTALLER%"
)

REM USERPROFILE 폴더 생성
If Not Exist "%USERPROFILE%\AppData\Local\" (
    mkdir %USERPROFILE%\AppData\Local\
)
If Not Exist "%USERPROFILE%\AppData\LocalLow\" (
	mkdir %USERPROFILE%\AppData\LocalLow\
)
If Not Exist "%USERPROFILE%\AppData\Roaming\" (
	mkdir %USERPROFILE%\AppData\Roaming\
)

REM 컴피 유저 폴더 생성
if not exist "%PATH_COMFYUI_USER%" (
	mkdir "%PATH_COMFYUI_USER%"
)

REM 커스텀 노드 폴더 생성
if not exist "%PATH_COMFYUI_CUSTOM_NODES%" (
	mkdir "%PATH_COMFYUI_CUSTOM_NODES%"
)

REM 모델 체크포인트 폴더 생성
if not exist "%PATH_ROOT%Models\checkpoints" (
	mkdir "%PATH_ROOT%Models\checkpoints"
)

REM 모델 로라 폴더 생성
if not exist "%PATH_ROOT%Models\loras" (
	mkdir "%PATH_ROOT%Models\loras"
)

REM 결과 파일 폴더 생성
if not exist "%PATH_OUTPUTS%" (
	mkdir "%PATH_OUTPUTS%"
)


REM ---------------------------------------------------------------------------
if not exist "%FILE_PATH_EXTRA_MODEL%" (
	echo ---------------------------------------------------------------------------
	REM "C:\AI\" 제거 (주의: 끝에 \ 포함해야 정확히 제거됨)
	call set "TRIMMED=%%PATH_COMFYUI_CUSTOM_NODES:%PATH_ROOT%=%%"
	REM echo 원본: !PATH_COMFYUI_CUSTOM_NODES!
	REM echo 변환: !TRIMMED!

	echo extra_model_paths.yaml 파일 생성
	(
		echo linsoo:
		echo.    base_path: C:\AI\
		echo.    is_default: true
		echo.    custom_nodes: !TRIMMED!/
		echo.
		echo.    checkpoints: Models/checkpoints/
		echo.    clip: Models/clip/
		echo.    clip_vision: Models/clip_vision/
		echo.    configs: Models/configs/
		echo.    controlnet: Models/control_net/
		echo.    diffusion_models: ^|
		echo.        Models/diffusion_models
		echo.        Models/unet
		echo.    embeddings: Models/embeddings/
		echo.    loras: Models/loras/
		echo.    upscale_models: Models/upscale_models/
		echo.    vae: Models/vae/
		echo.    ipadapter: Models/ipadapter/
		echo.    hypernetworks: Models/hypernetworks/
		echo.    sams: Models/sams/
		echo.    ultralytics: Models/ultralytics/
		echo.    ultralytics_bbox: Models/ultralytics/bbox/
		echo.    ultralytics_segm: Models/ultralytics/segm/
	) > "%FILE_PATH_EXTRA_MODEL%"
	echo 파일이 성공적으로 저장되었습니다: %FILE_PATH_EXTRA_MODEL%
)

REM ---------------------------------------------------------------------------
echo ---------------------------------------------------------------------------
echo 파이썬 체크
set "URL_PYTHON=https://www.python.org/ftp/python/3.13.9/python-3.13.9-embed-amd64.zip"
if not exist "%PATH_PYTHON%" (
	echo [INFO] 파이썬 폴더 없음
	if not exist "%PATH_TEMP_INSTALLER%\python_install.zip" (
		echo [INFO] Python 다운로드 중...
		curl -s -L "%URL_PYTHON%" -o "%PATH_TEMP_INSTALLER%\python_install.zip"
	)
	
	echo [INFO] 파이썬 압축 해제 중...
	mkdir "%PATH_PYTHON%"
	tar -xf "%PATH_TEMP_INSTALLER%\python_install.zip" -C "%PATH_PYTHON%"
	
	echo [INFO] 파이썬 설치 완료: %PATH_PYTHON%
) 

echo ---------------------------------------------------------------------------
echo Git 체크
set "URL_GIT=https://github.com/git-for-windows/git/releases/download/v2.51.2.windows.1/PortableGit-2.51.2-64-bit.7z.exe"
if not exist "%PATH_GIT%" (
	echo [INFO] Git 폴더 없음
	if not exist "%PATH_TEMP_INSTALLER%\Git_install.exe" (
		echo [INFO] Git 다운로드 중...
		curl -s -L "%URL_GIT%" -o "%PATH_TEMP_INSTALLER%\Git_install.exe"
	)
	
	echo [INFO] Git 압축 해제 중...
	mkdir "%PATH_GIT%"
	"%PATH_TEMP_INSTALLER%\Git_install.exe" -y -o"%PATH_GIT%"
	
	echo [INFO] Git 설치 완료: %PATH_GIT%
) 

echo ---------------------------------------------------------------------------
echo ComfyUI 체크
if not exist "%PATH_COMFYUI%\" (
	echo [INFO] ComfyUI 폴더 없음
	mkdir "%PATH_COMFYUI%"
	git.exe clone https://github.com/comfyanonymous/ComfyUI.git "%PATH_COMFYUI%"
	
	echo [INFO] 기타 ComfyUI 버그 방지용 작업
	mkdir "%PATH_COMFYUI%\user"
	REM 빈 comfyui.db 파일 생성
	type nul > "%PATH_COMFYUI%\user\comfyui.db"
	
	echo [INFO] ComfyUI-Manager 설치
	if not exist "%PATH_COMFYUI%\custom_nodes\ComfyUI-Manager" (
		mkdir "%PATH_COMFYUI%\custom_nodes\ComfyUI-Manager"
		git.exe clone https://github.com/Comfy-Org/ComfyUI-Manager.git "%PATH_COMFYUI%\custom_nodes\ComfyUI-Manager"
	)
	
	echo [INFO] ComfyUI 설치 완료: %PATH_COMFYUI%
)

REM 이 파일에서 주석처리를 해지 해야지만 pip 기능이 작동
echo ---------------------------------------------------------------------------
echo python313._pth 파일 수정

set "PTH_FILE=%PATH_PYTHON%\python313._pth"
set "TEMP_FILE=%PTH_FILE%.tmp"
set "COMFY_PATH=..\ComfyUI"

setlocal
	REM 파일 존재 확인
	if not exist "%PTH_FILE%" (
		echo [ERROR] 파일을 찾을 수 없습니다: %PTH_FILE%
		exit /b 1
	)

	set "comfy_exists=false"
	(
		for /f "usebackq delims=" %%A in ("%PTH_FILE%") do (
			set "line=%%A"

			REM '#import site' → 'import site'
			call set "line=%%line:#import site=import site%%"

			REM 중복된 ..\ComfyUI 제거
			if /i "!line!"=="%COMFY_PATH%" (
				set "comfy_exists=true"
				REM 건너뜀 (중복 제거)
			) else (
				echo !line!
			)
		)

		REM 마지막에 ..\ComfyUI 추가
		if "!comfy_exists!"=="false" (
			echo %COMFY_PATH%
		) else (
			REM 중복 제거했으니 다시 추가
			echo %COMFY_PATH%
		)

	) > "%TEMP_FILE%"

	REM 원본 파일 덮어쓰기
	move /Y "%TEMP_FILE%" "%PTH_FILE%" > nul

	echo [DONE] python313._pth 파일 수정 완료: %PTH_FILE%
endlocal

echo ---------------------------------------------------------------------------
echo PIP 설치

if not exist "%PATH_TEMP_INSTALLER%\get-pip.py" (
	echo [INFO] get-pip.py 없음, 다운로드 시작...
	curl -s -L "https://bootstrap.pypa.io/get-pip.py" -o "%PATH_TEMP_INSTALLER%\get-pip.py"
)
"%PATH_PYTHON%\python.exe" "%PATH_TEMP_INSTALLER%\get-pip.py" 
"%PATH_PYTHON%\python.exe" -s -m pip install --upgrade pip setuptools wheel
echo [INFO] PIP 설치 완료

set "DEVICE_TYPE="gfx120X-all"
set "ROCM_URL=https://rocm.nightlies.amd.com/v2-staging/%DEVICE_TYPE%/"

set "ROCM_VER=7.10.0a20251120"
set "TORCH_VER=2.9.1+rocm%ROCM_VER%"
set "TORCHAUDIO_VER=2.9.0+rocm%ROCM_VER%"
set "TORCHVISION_VER=0.24.0+rocm%ROCM_VER%"

echo ---------------------------------------------------------------------------
echo rocm-sdk-core 설치
"%PATH_PYTHON%\python.exe" -s -m pip install rocm==%ROCM_VER% rocm-sdk-core==%ROCM_VER% --index-url %ROCM_URL%

echo ---------------------------------------------------------------------------
echo torch torchaudio torchvision 설치
"%PATH_PYTHON%\python.exe" -s -m pip install torch==%TORCH_VER% torchaudio==%TORCHAUDIO_VER% torchvision==%TORCHVISION_VER% --index-url %ROCM_URL%

echo ---------------------------------------------------------------------------
"%PATH_PYTHON%\python.exe" -s -m pip install piexif

echo ---------------------------------------------------------------------------
echo "%PATH_COMFYUI%\requirements.txt" 설치
"%PATH_PYTHON%\python.exe" -s -m pip install -r "%PATH_COMFYUI%\requirements.txt"  

echo ---------------------------------------------------------------------------
pip list
echo 설치 완료
echo ---------------------------------------------------------------------------
pause

2. Run.cmd

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
chcp 65001 >nul
REM ---------------------------------------------------------------------------
REM 루트를 구함 ex) "c:\AI\"
set "PATH_ROOT=%~dp0"

set "PATH_PYTHON=%PATH_ROOT%ETC\python_embeded"
set "PATH_GIT=%PATH_ROOT%ETC\git"
set "PATH=%PATH_PYTHON%;%PATH_PYTHON%\Scripts;%PATH_GIT%;%PATH_GIT%\cmd;%SystemRoot%\System32;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\"

REM ---------------------------------------------------------------------------
REM 설치시 필요한 파일 저장하는 경로 (인터넷에서 두번 다운 받는거 안하기 위해)
set "PATH_TEMP_INSTALLER=%PATH_ROOT%ETC\TMP_INSTALLER" 
set "USERPROFILE=%PATH_TEMP_INSTALLER%\USERPROFILE"
REM ---------------------------------------------------------------------------
REM 컴피용
set "PATH_COMFYUI=%PATH_ROOT%ETC\ComfyUI"
set "PATH_COMFYUI_USER=%PATH_ROOT%userdata"
set "PATH_COMFYUI_CUSTOM_NODES=%PATH_COMFYUI_USER%\custom_nodes"
set "FILE_PATH_EXTRA_MODEL=%PATH_COMFYUI_USER%\extra_model_paths.yaml"
set "PATH_OUTPUTS=%PATH_ROOT%Outputs"

REM ---------------------------------------------------------------------------
REM 필수 폴더 생성

REM PATH_TEMP_INSTALLER 폴더 생성
if not exist "%PATH_TEMP_INSTALLER%" (
	mkdir "%PATH_TEMP_INSTALLER%"
)

REM USERPROFILE 폴더 생성
If Not Exist "%USERPROFILE%\AppData\Local\" (
    mkdir %USERPROFILE%\AppData\Local\
)
If Not Exist "%USERPROFILE%\AppData\LocalLow\" (
	mkdir %USERPROFILE%\AppData\LocalLow\
)
If Not Exist "%USERPROFILE%\AppData\Roaming\" (
	mkdir %USERPROFILE%\AppData\Roaming\
)

REM 컴피 유저 폴더 생성
if not exist "%PATH_COMFYUI_USER%" (
	mkdir "%PATH_COMFYUI_USER%"
)

REM 커스텀 노드 폴더 생성
if not exist "%PATH_COMFYUI_CUSTOM_NODES%" (
	mkdir "%PATH_COMFYUI_CUSTOM_NODES%"
)

REM 모델 체크포인트 폴더 생성
if not exist "%PATH_ROOT%Models\checkpoints" (
	mkdir "%PATH_ROOT%Models\checkpoints"
)

REM 모델 로라 폴더 생성
if not exist "%PATH_ROOT%Models\loras" (
	mkdir "%PATH_ROOT%Models\loras"
)

REM 결과 파일 폴더 생성
if not exist "%PATH_OUTPUTS%" (
	mkdir "%PATH_OUTPUTS%"
)

REM 변경된 루트 폴더 위치에 맞게 모델파일 경로 변경
if exist "%FILE_PATH_EXTRA_MODEL%" (
    set "EXTRA_MODEL_PATH_LINE=base_path: %PATH_ROOT%"
    powershell -NoProfile -Command ^
        "$file = '%FILE_PATH_EXTRA_MODEL%';" ^
        "$newLine = 'base_path: %PATH_ROOT%';" ^
        "$text = Get-Content -LiteralPath $file -Raw;" ^
        "$text = $text -replace 'base_path: .*', $newLine;" ^
        "$utf8 = New-Object System.Text.UTF8Encoding($false);" ^
        "[System.IO.File]::WriteAllText($file, $text, $utf8)"
)

echo ---------------------------------------------------------------------------
set COMMANDLINE_ARGS=--use-pytorch-cross-attention --preview-method auto --output-directory "%PATH_OUTPUTS%" --user-directory "%PATH_COMFYUI_USER%" --extra-model-paths-config "%FILE_PATH_EXTRA_MODEL%" 

"%PATH_PYTHON%\python.exe" -s  "%PATH_COMFYUI%\main.py" %COMMANDLINE_ARGS% 
pause

3. 설치방법

폴더 하나 만들고

  • 0_Install.cmd <- 설치
  • 1_Run.cmd <- 실행

폴더 구조나 다른거가 궁금하신 분들은 아래 링크를 참고 하시면 될거고… 이전과 마찬가지로 부족한 점은 근성과 기합 그리고 노력으로 극복하시면 됩니다.

{
    "id": "25b11b70-09e7-4f6f-b538-8998cdd69a63",
    "revision": 0,
    "last_node_id": 10,
    "last_link_id": 12,
    "nodes": [
        {
            "id": 10,
            "type": "EmptyLatentImage",
            "pos": [
                1013.5680053710944,
                366.8882141113282
            ],
            "size": [
                270,
                106
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "inputs": [
                {
                    "localized_name": "width",
                    "name": "width",
                    "type": "INT",
                    "widget": {
                        "name": "width"
                    },
                    "link": null
                },
                {
                    "localized_name": "height",
                    "name": "height",
                    "type": "INT",
                    "widget": {
                        "name": "height"
                    },
                    "link": null
                },
                {
                    "localized_name": "batch_size",
                    "name": "batch_size",
                    "type": "INT",
                    "widget": {
                        "name": "batch_size"
                    },
                    "link": null
                }
            ],
            "outputs": [
                {
                    "localized_name": "LATENT",
                    "name": "LATENT",
                    "type": "LATENT",
                    "links": [
                        12
                    ]
                }
            ],
            "properties": {
                "Node name for S&R": "EmptyLatentImage",
                "cnr_id": "comfy-core",
                "ver": "0.3.68"
            },
            "widgets_values": [
                896,
                1152,
                1
            ]
        },
        {
            "id": 8,
            "type": "VAEDecode",
            "pos": [
                1359.7161376953131,
                -165.0319046020508
            ],
            "size": [
                140,
                46
            ],
            "flags": {},
            "order": 6,
            "mode": 0,
            "inputs": [
                {
                    "localized_name": "samples",
                    "name": "samples",
                    "type": "LATENT",
                    "link": 8
                },
                {
                    "localized_name": "vae",
                    "name": "vae",
                    "type": "VAE",
                    "link": 10
                }
            ],
            "outputs": [
                {
                    "localized_name": "IMAGE",
                    "name": "IMAGE",
                    "type": "IMAGE",
                    "links": [
                        11
                    ]
                }
            ],
            "properties": {
                "Node name for S&R": "VAEDecode",
                "cnr_id": "comfy-core",
                "ver": "0.3.68"
            },
            "widgets_values": []
        },
        {
            "id": 9,
            "type": "SaveImage",
            "pos": [
                1560.9646606445312,
                -165.0319046020508
            ],
            "size": [
                270,
                270
            ],
            "flags": {},
            "order": 7,
            "mode": 0,
            "inputs": [
                {
                    "localized_name": "images",
                    "name": "images",
                    "type": "IMAGE",
                    "link": 11
                },
                {
                    "localized_name": "filename_prefix",
                    "name": "filename_prefix",
                    "type": "STRING",
                    "widget": {
                        "name": "filename_prefix"
                    },
                    "link": null
                }
            ],
            "outputs": [],
            "properties": {
                "cnr_id": "comfy-core",
                "ver": "0.3.68"
            },
            "widgets_values": [
                "ComfyUI"
            ]
        },
        {
            "id": 2,
            "type": "CLIPTextEncode",
            "pos": [
                459.3444824218749,
                -165.0319046020508
            ],
            "size": [
                456.96966552734375,
                270.30303955078125
            ],
            "flags": {},
            "order": 3,
            "mode": 0,
            "inputs": [
                {
                    "localized_name": "clip",
                    "name": "clip",
                    "type": "CLIP",
                    "link": 2
                },
                {
                    "localized_name": "text",
                    "name": "text",
                    "type": "STRING",
                    "widget": {
                        "name": "text"
                    },
                    "link": null
                }
            ],
            "outputs": [
                {
                    "localized_name": "CONDITIONING",
                    "name": "CONDITIONING",
                    "type": "CONDITIONING",
                    "links": [
                        5
                    ]
                }
            ],
            "title": "Positive Prompt",
            "properties": {
                "Node name for S&R": "CLIPTextEncode",
                "cnr_id": "comfy-core",
                "ver": "0.3.68"
            },
            "widgets_values": [
                "masterpiece, best quality, newest,  1girl, \nmarcille donato, dungeon meshi, kui ryouko,\ngreen eyes, blonde hair, long hair, twin braids, elf, small breasts,\n\nsmile, open mouth, upper teeth only, \n\nsweater, cup, solo, red-framed eyewear, glasses, window, plant, breasts, holding, turtleneck, pants, mug, turtleneck sweater, indoors, pillow, lying, book, ribbed sweater, blue eyes, on back, curtains, pen,"
            ],
            "color": "#232",
            "bgcolor": "#353"
        },
        {
            "id": 5,
            "type": "KSampler",
            "pos": [
                1013.5680053710944,
                -165.0319046020508
            ],
            "size": [
                270,
                474
            ],
            "flags": {},
            "order": 5,
            "mode": 0,
            "inputs": [
                {
                    "localized_name": "model",
                    "name": "model",
                    "type": "MODEL",
                    "link": 4
                },
                {
                    "localized_name": "positive",
                    "name": "positive",
                    "type": "CONDITIONING",
                    "link": 5
                },
                {
                    "localized_name": "negative",
                    "name": "negative",
                    "type": "CONDITIONING",
                    "link": 6
                },
                {
                    "localized_name": "latent_image",
                    "name": "latent_image",
                    "type": "LATENT",
                    "link": 12
                },
                {
                    "localized_name": "seed",
                    "name": "seed",
                    "type": "INT",
                    "widget": {
                        "name": "seed"
                    },
                    "link": null
                },
                {
                    "localized_name": "steps",
                    "name": "steps",
                    "type": "INT",
                    "widget": {
                        "name": "steps"
                    },
                    "link": null
                },
                {
                    "localized_name": "cfg",
                    "name": "cfg",
                    "type": "FLOAT",
                    "widget": {
                        "name": "cfg"
                    },
                    "link": null
                },
                {
                    "localized_name": "sampler_name",
                    "name": "sampler_name",
                    "type": "COMBO",
                    "widget": {
                        "name": "sampler_name"
                    },
                    "link": null
                },
                {
                    "localized_name": "scheduler",
                    "name": "scheduler",
                    "type": "COMBO",
                    "widget": {
                        "name": "scheduler"
                    },
                    "link": null
                },
                {
                    "localized_name": "denoise",
                    "name": "denoise",
                    "type": "FLOAT",
                    "widget": {
                        "name": "denoise"
                    },
                    "link": null
                }
            ],
            "outputs": [
                {
                    "localized_name": "LATENT",
                    "name": "LATENT",
                    "type": "LATENT",
                    "links": [
                        8
                    ]
                }
            ],
            "properties": {
                "Node name for S&R": "KSampler",
                "cnr_id": "comfy-core",
                "ver": "0.3.68"
            },
            "widgets_values": [
                526317188356634,
                "randomize",
                28,
                4,
                "euler_ancestral",
                "normal",
                1
            ]
        },
        {
            "id": 4,
            "type": "CLIPTextEncode",
            "pos": [
                459.3444824218749,
                180.9680778503417
            ],
            "size": [
                455.6974182128906,
                278.07659912109375
            ],
            "flags": {},
            "order": 4,
            "mode": 0,
            "inputs": [
                {
                    "localized_name": "clip",
                    "name": "clip",
                    "type": "CLIP",
                    "link": 3
                },
                {
                    "localized_name": "text",
                    "name": "text",
                    "type": "STRING",
                    "widget": {
                        "name": "text"
                    },
                    "link": null
                }
            ],
            "outputs": [
                {
                    "localized_name": "CONDITIONING",
                    "name": "CONDITIONING",
                    "type": "CONDITIONING",
                    "links": [
                        6
                    ]
                }
            ],
            "title": "Negative Prompt",
            "properties": {
                "Node name for S&R": "CLIPTextEncode",
                "cnr_id": "comfy-core",
                "ver": "0.3.68"
            },
            "widgets_values": [
                "bad quality,worst quality,worst detail,"
            ],
            "color": "#322",
            "bgcolor": "#533"
        },
        {
            "id": 3,
            "type": "CLIPSetLastLayer",
            "pos": [
                119.2336990356446,
                -165.0319046020508
            ],
            "size": [
                270,
                58
            ],
            "flags": {},
            "order": 2,
            "mode": 0,
            "inputs": [
                {
                    "localized_name": "clip",
                    "name": "clip",
                    "type": "CLIP",
                    "link": 1
                },
                {
                    "localized_name": "stop_at_clip_layer",
                    "name": "stop_at_clip_layer",
                    "type": "INT",
                    "widget": {
                        "name": "stop_at_clip_layer"
                    },
                    "link": null
                }
            ],
            "outputs": [
                {
                    "localized_name": "CLIP",
                    "name": "CLIP",
                    "type": "CLIP",
                    "links": [
                        2,
                        3
                    ]
                }
            ],
            "properties": {
                "Node name for S&R": "CLIPSetLastLayer",
                "cnr_id": "comfy-core",
                "ver": "0.3.68"
            },
            "widgets_values": [
                -2
            ]
        },
        {
            "id": 1,
            "type": "CheckpointLoaderSimple",
            "pos": [
                -190.62705993652355,
                -165.0319046020508
            ],
            "size": [
                270,
                98
            ],
            "flags": {},
            "order": 1,
            "mode": 0,
            "inputs": [
                {
                    "localized_name": "ckpt_name",
                    "name": "ckpt_name",
                    "type": "COMBO",
                    "widget": {
                        "name": "ckpt_name"
                    },
                    "link": null
                }
            ],
            "outputs": [
                {
                    "localized_name": "MODEL",
                    "name": "MODEL",
                    "type": "MODEL",
                    "links": [
                        4
                    ]
                },
                {
                    "localized_name": "CLIP",
                    "name": "CLIP",
                    "type": "CLIP",
                    "links": [
                        1
                    ]
                },
                {
                    "localized_name": "VAE",
                    "name": "VAE",
                    "type": "VAE",
                    "links": [
                        10
                    ]
                }
            ],
            "properties": {
                "Node name for S&R": "CheckpointLoaderSimple",
                "cnr_id": "comfy-core",
                "ver": "0.3.68"
            },
            "widgets_values": [
                "waiNSFWIllustrious_v150.safetensors"
            ]
        }
    ],
    "links": [
        [
            1,
            1,
            1,
            3,
            0,
            "CLIP"
        ],
        [
            2,
            3,
            0,
            2,
            0,
            "CLIP"
        ],
        [
            3,
            3,
            0,
            4,
            0,
            "CLIP"
        ],
        [
            4,
            1,
            0,
            5,
            0,
            "MODEL"
        ],
        [
            5,
            2,
            0,
            5,
            1,
            "CONDITIONING"
        ],
        [
            6,
            4,
            0,
            5,
            2,
            "CONDITIONING"
        ],
        [
            8,
            5,
            0,
            8,
            0,
            "LATENT"
        ],
        [
            10,
            1,
            2,
            8,
            1,
            "VAE"
        ],
        [
            11,
            8,
            0,
            9,
            0,
            "IMAGE"
        ],
        [
            12,
            10,
            0,
            5,
            3,
            "LATENT"
        ]
    ],
    "groups": [],
    "config": {},
    "extra": {
        "ds": {
            "scale": 0.9090909090909091,
            "offset": [
                388.3807293511556,
                614.4240144584571
            ]
        }
    },
    "version": 0.4
}

이건 테스트에 사용했던 워크플로인데 json 파일 업로드가 안되서 내용을 복붙함.


Comments

4의 “AMD rx9070 ROCM 7.1(나이틀리 버전)+ComfyUI 포터블 버전”에 대한 답변

  1. ㅇㅇ 아바타
    ㅇㅇ

    이걸로 780m도 느리지만 사용은 가능한건가요?

    1. Linsoo 아바타

      780m은 https://linsoo.pe.kr/46694/ 이거 쓰세요.

  2. ㅇㅇ 아바타
    ㅇㅇ

    예전에빌드해주신건 잘사용하고 있습니다. 다만 저는 rocm7.1도 780m을 지원해주는지 궁금할따름입니다.

    1. Linsoo 아바타

      지원하긴 하는데 위 스크립트로는 안됩니다. 위 스크립트는 rx9000번대용으로 빌드된걸 다운 받는거고 780m을 쓸려면 torch 다운 받는 주소를 변경해야 합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. (이름과 이메일은 안써도 됩니다)

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.