ai-dock / comfyui

ComfyUI docker images for use in GPU cloud and local environments. Includes AI-Dock base for authentication and improved user experience.
Other
649 stars 224 forks source link

Getting error "value_not_in_list", i.e. checkpoint is not getting loaded somehow. #75

Closed abhinavzspace closed 6 months ago

abhinavzspace commented 6 months ago

It got successfully deployed to runpod serverless. I followed the instructions given.

Template looks like:

Screenshot 2024-05-16 143620

Payload used

The error I am getting: "error": "{'4': {'errors': [{'type': 'value_not_in_list', 'message': 'Value not in list', 'details': \"ckpt_name: 'v1-5-pruned-emaonly.ckpt' not in []\", 'extra_info': {'input_name': 'ckpt_name', 'input_config': [[]], 'received_value': 'v1-5-pruned-emaonly.ckpt'}}], 'dependent_outputs': ['9'], 'class_type': 'CheckpointLoaderSimple'}}",

I know I must be missing something basic. Any help highly appreciated.

robballantyne commented 6 months ago

It's best to avoid using the latest tag as breaking changes are coming soon.

Also, the docker image doesn't contain any images so you'll need to either build a custom images with models included (best option imo) or run first on a pod instance with WORKSPACE_MAMBA_SYNC=true to configure your network volume. Your serverless workers should then use the same variable but using volumes is slow on RP

abhinavzspace commented 6 months ago

I built the image manually while providing PROVISIONING_SCRIPT. Still I am facing the same issue.

My steps are:

  1. Forked and cloned the project locally to my WSL2 in windows.
  2. Added a .env file with PROVISIONING_SCRIPT and AUTO_UPDATE=true.
  3. Built the image and pushed to my docker hub.
  4. Use my personal image:tag in runpod.

Could WSL2 be the issue?

robballantyne commented 6 months ago

No, I don't think so.

The issue comes from ComfyUI being unable to find the model. You should store it in the network drive at /runpod-volume/storage/stable_diffusion/checkpoints/{model name} and it should work properly.

I am going to update the docs for this because they're not very helpful and it can be confusing. Sorry for that

abhinavzspace commented 6 months ago

Sorry, but I am a bit confused.

We have to store the model in network drive even if we provide PROVISIONING_SCRIPT? I thought that the script downloads the model from huggingface or civitai by its own?

robballantyne commented 6 months ago

Yes, the provisioning script won't run in serverless because you'd waste a lot of GPU time at idle while waiting for downloads

abhinavzspace commented 6 months ago

Hmm. I guess serverless mode is not good, when quick response needed anyway. Thank you!