You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pip uninstall torch torchvision torchaudio if for some reason you need to remove them.
Verifying the existence of MPS support in PyTorch:
(vqgan) sysadmin@codekitty VQGAN-CLIP % pythonPython 3.9.12 (main, Jun 1 2022, 06:34:44)[Clang 12.0.0 ] :: Anaconda, Inc. on darwinType "help", "copyright", "credits" or "license" for more information.>>> import torch>>> torch.has_mpsTrue>>> torch.backends.mps.is_available()True>>> torch.backends.mps.is_built()True
In generate.py remove or comment out the following:
ifnotargs.cuda_device=='cpu'andnottorch.cuda.is_available():
args.cuda_device='cpu'args.video_fps=0print("Warning: No GPU found! Using the CPU instead. The iterations will be slow.#")
print("Perhaps CUDA/ROCm or the right pytorch version is not properly installed?")
(for testing purposes only)
For future reference, you can check for MPS availability with
ifnottorch.backends.mps.is_available():
ifnottorch.backends.mps.is_built():
print("MPS not available because the current PyTorch install was not ""built with MPS enabled.")
else:
print("MPS not available because the current MacOS version is not 12.3+ ""and/or you do not have an MPS-enabled device on this machine.")
Getting random.sh working on Mac:
The script errors out because shuf is missing, we can get shuf by installing coreutils.
brew install coreutils
Running:
python generate.py -p "A painting of an apple in a fruit bowl" -cd mps
Attempt 1:
Output:
(vqgan) sysadmin@codekitty VQGAN-CLIP % python generate.py --cuda_device mps -p "A painting of an apple in a fruit bowl"Working with z of shape (1, 256, 16, 16) = 65536 dimensions.loaded pretrained LPIPS loss from taming/modules/autoencoder/lpips/vgg.pthVQLPIPSWithDiscriminator running with hinge loss.Restored from checkpoints/vqgan_imagenet_f16_16384.ckptTraceback (most recent call last): File "/Users/sysadmin/Development/VQGAN-CLIP/generate.py", line 625, in <module> embed = perceptor.encode_text(clip.tokenize(txt).to(device)).float() File "/Users/sysadmin/Development/VQGAN-CLIP/CLIP/clip/model.py", line 354, in encode_text x = x[torch.arange(x.shape[0]), text.argmax(dim=-1)] @ self.text_projectionNotImplementedError: The operator 'aten::index.Tensor' is not current implemented for the MPS device. If you want this op to be added in priority during the prototype phase of this feature, please comment on https://github.com/pytorch/pytorch/issues/77764. As a temporary fix, you can set the environment variable `PYTORCH_ENABLE_MPS_FALLBACK=1` to use the CPU as a fallback for this op. WARNING: this will be slower than running natively on MPS.
Attempt 2:
Running with:
export PYTORCH_ENABLE_MPS_FALLBACK=1
Output:
(vqgan) sysadmin@codekitty VQGAN-CLIP % python generate.py --cuda_device mps -p "A painting of an apple in a fruit bowl"Working with z of shape (1, 256, 16, 16) = 65536 dimensions.loaded pretrained LPIPS loss from taming/modules/autoencoder/lpips/vgg.pthVQLPIPSWithDiscriminator running with hinge loss.Restored from checkpoints/vqgan_imagenet_f16_16384.ckptUsing device: mpsOptimising using: AdamUsing text prompts: ['A painting of an apple in a fruit bowl']Using seed: 40619916386984077070it [00:00, ?it/s]-:27:11: error: invalid input tensor shapes, indices shape and updates shape must be equal-:27:11: note: see current operation: %25 = "mps.scatter_along_axis"(%23, %arg5, %24, %1) {mode = 6 : i32} : (tensor<3311616xf32>, tensor<224xf32>, tensor<1103872xi32>, tensor<i32>) -> tensor<3311616xf32>/AppleInternal/Library/BuildRoots/20d6c351-ee94-11ec-bcaf-7247572f23b4/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Core/Files/MPSGraphExecutable.mm:1267: failed assertion `Error: MLIR pass manager failed'zsh: abort python generate.py --cuda_device mps -p(vqgan) sysadmin@codekitty VQGAN-CLIP % /Users/sysadmin/Development/miniconda3/envs/vqgan/lib/python3.9/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown warnings.warn('resource_tracker: There appear to be %d '
The text was updated successfully, but these errors were encountered:
https://pytorch.org/docs/stable/notes/mps.html
#47702
Install the latest PyTorch with Metal Performance Shaders (MPS) support:
They're in stable, so you probably already have it.
Stable:
pip install torch torchvision torchaudio -f https://download.pytorch.org/whl/torch_stable.html
Nightly:
pip install --pre torch torchvision torchaudio -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
(Source: https://pytorch.org/tutorials/prototype/ios_gpu_workflow.html)
pip uninstall torch torchvision torchaudio
if for some reason you need to remove them.Verifying the existence of MPS support in PyTorch:
In
generate.py
remove or comment out the following:(for testing purposes only)
For future reference, you can check for MPS availability with
Getting
random.sh
working on Mac:The script errors out because
shuf
is missing, we can getshuf
by installingcoreutils
.brew install coreutils
Running:
python generate.py -p "A painting of an apple in a fruit bowl" -cd mps
Attempt 1:
Output:
Attempt 2:
Running with:
export PYTORCH_ENABLE_MPS_FALLBACK=1
Output:
The text was updated successfully, but these errors were encountered: