try fix mps (#381)

This commit is contained in:
lllyasviel 2023-09-15 01:52:12 -07:00 committed by GitHub
parent cf7cde08b1
commit d1b4389098
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 5 deletions

View File

@ -1 +1 @@
version = '2.0.16'
version = '2.0.17'

View File

@ -1,3 +1,5 @@
import torch
import comfy.model_management as model_management
from transformers import AutoTokenizer, AutoModelForCausalLM, set_seed
@ -29,15 +31,20 @@ class FooocusExpansion:
def __init__(self):
self.tokenizer = AutoTokenizer.from_pretrained(fooocus_expansion_path)
self.model = AutoModelForCausalLM.from_pretrained(fooocus_expansion_path)
if model_management.should_use_fp16():
self.model.half()
self.model.eval()
load_device = model_management.text_encoder_device()
if 'mps' in load_device.type:
load_device = torch.device('cpu')
if 'cpu' not in load_device.type and model_management.should_use_fp16():
self.model.half()
offload_device = model_management.text_encoder_offload_device()
self.patcher = ModelPatcher(self.model, load_device=load_device, offload_device=offload_device)
print(f'Fooocus Expansion engine loaded.')
print(f'Fooocus Expansion engine loaded for {load_device}.')
def __call__(self, prompt, seed):
model_management.load_model_gpu(self.patcher)