“AssertionError: Torch is not able to use GPU;”というエラーの解決策【stable-diffusion-webui】

目次

“AssertionError: Torch is not able to use GPU;”というエラー

stable-diffusion-webuiでwebui.batを実行すると

AssertionError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this 

というエラーが発生する人がいるようです。

対処法は、『webui.bat』を適当なエディタ(テキストエディタなどで大丈夫です)で開いて、

set COMMANDLINE_ARGS=

という行をみつけたら、イコールの後に--skip-torch-cuda-testを追記して、保存して閉じます。

まとめ

いかがでしたでしょうか。エラーが発生した場合、自分自身で問題を解決するために、インターネット上で検索を行うことが非常に重要です。エラーのメッセージをGoogleで検索することで、同じ問題に直面している他の人々の解決策を見つけることができます。

おすすめ参考図書

出典:https://www.iwanami.co.jp/book/b619864.html

あわせて読みたい記事

記事をシェアして話のネタにする

コメント

コメント一覧 (7件)

  • こんにちは。

    AssertionError: Torch is not able to use GPU; add –skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check

    と表示されました。

    >『webui.bat』を適当なエディタ(テキストエディタなどで大丈夫です)で開いて、

    >set COMMANDLINE_ARGS=

    >という行をみつけたら、イコールの後に–skip-torch-cuda-testを追記して、保存して閉じます。

    ファイル開いてみましたが、それらしきものは見つかりませんでした。

    下記のようになっていました。

    —-
    @echo off

    if not defined PYTHON (set PYTHON=python)
    if not defined VENV_DIR (set “VENV_DIR=%~dp0%venv”)

    set ERROR_REPORTING=FALSE

    mkdir tmp 2>NUL

    %PYTHON% -c “” >tmp/stdout.txt 2>tmp/stderr.txt
    if %ERRORLEVEL% == 0 goto :check_pip
    echo Couldn’t launch python
    goto :show_stdout_stderr

    :check_pip
    %PYTHON% -mpip –help >tmp/stdout.txt 2>tmp/stderr.txt
    if %ERRORLEVEL% == 0 goto :start_venv
    if “%PIP_INSTALLER_LOCATION%” == “” goto :show_stdout_stderr
    %PYTHON% “%PIP_INSTALLER_LOCATION%” >tmp/stdout.txt 2>tmp/stderr.txt
    if %ERRORLEVEL% == 0 goto :start_venv
    echo Couldn’t install pip
    goto :show_stdout_stderr

    :start_venv
    if [“%VENV_DIR%”] == [“-“] goto :skip_venv
    if [“%SKIP_VENV%”] == [“1”] goto :skip_venv

    dir “%VENV_DIR%\Scripts\Python.exe” >tmp/stdout.txt 2>tmp/stderr.txt
    if %ERRORLEVEL% == 0 goto :activate_venv

    for /f “delims=” %%i in (‘CALL %PYTHON% -c “import sys; print(sys.executable)”‘) do set PYTHON_FULLNAME=”%%i”
    echo Creating venv in directory %VENV_DIR% using python %PYTHON_FULLNAME%
    %PYTHON_FULLNAME% -m venv “%VENV_DIR%” >tmp/stdout.txt 2>tmp/stderr.txt
    if %ERRORLEVEL% == 0 goto :activate_venv
    echo Unable to create venv in directory “%VENV_DIR%”
    goto :show_stdout_stderr

    :activate_venv
    set PYTHON=”%VENV_DIR%\Scripts\Python.exe”
    echo venv %PYTHON%

    :skip_venv
    if [%ACCELERATE%] == [“True”] goto :accelerate
    goto :launch

    :accelerate
    echo Checking for accelerate
    set ACCELERATE=”%VENV_DIR%\Scripts\accelerate.exe”
    if EXIST %ACCELERATE% goto :accelerate_launch

    :launch
    %PYTHON% launch.py %*
    pause
    exit /b

    :accelerate_launch
    echo Accelerating
    %ACCELERATE% launch –num_cpu_threads_per_process=6 launch.py
    pause
    exit /b

    :show_stdout_stderr

    echo.
    echo exit code: %errorlevel%

    for /f %%i in (“tmp\stdout.txt”) do set size=%%~zi
    if %size% equ 0 goto :show_stderr
    echo.
    echo stdout:
    type tmp\stdout.txt

    :show_stderr
    for /f %%i in (“tmp\stderr.txt”) do set size=%%~zi
    if %size% equ 0 goto :show_stderr
    echo.
    echo stderr:
    type tmp\stderr.txt

    :endofscript

    echo.
    echo Launch unsuccessful. Exiting.
    pause
    —————–ここまで

    以上、よろしくお願いいたします。

  • 横から失礼します

    自分も丁度同じ所で躓いてました
    編集するのは【webui-user】の方ですよ!

  • 質問失礼いたします。

    AssertionError: Torch is not able to use GPU; add –skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this
    のエラーが発生したので–skip-torch-cuda-testを追記いたしましたが下記のエラーが発生しました。

    OSError: [WinError 126] 指定されたモジュールが見つかりません。 Error loading “D:\;ij;ioj\stable-diffusion-webui\venv\lib\site-packages\torch\lib\caffe2_nvrtc.dll” or one of its dependencies.
    続行するには何かキーを押してください . . .

    改善策はあるのでしょうか?

    • 私も初心者なので確信をもっては言えませんが、stable diffusion や Python あたりのファイルを一度抹消して再度インストールすれば解決するかと…

      • 追記するのは「-skip-torch-cuda-test」ではなく「–skip-torch-cuda-test」ですね。
        先頭のハイフンがひとつ少ないです。

        また、全部最初からやらなくても「–skip-torch-cuda-test」を追記した「webui-user.bat」を再度実行するだけで、先に進めると思います。
        念のため…
         (1) コマンドプロンプトを「管理者として実行」する
         (2) 「cd /d (webui-user.batのあるPath)」でカレントディレクトリを移動
         (3) 「webui-user.bat」を実行
        とすると良いかも知れません。

コメントする

目次