Code Monkey home page Code Monkey logo

dough's Introduction

Dough is an open-source art tool for steering video with precision

⬇️ Scroll down for Setup Instructions - Currently available on Linux & Windows computers with more than 12GB of VRAM, hosted version coming soon.

Dough is a tool for crafting videos with AI. Our goal is to give you enough control over video generations that you can make beautiful creations of anything you imagine that feel uniquely your own.

To achieve this, we allow you to guide video generations with precision using a combination of images (via Steerable Motion) and examples videos (via Motion Director) with granular motion settings for each frame.

To start, with Dough, you generate hundreds of images in the right style and theme using the Inspiration Engine:

images (2)
You can then assemble these frames into shots that you can granularly edit:

edit (1)

And then animate these with granular settings for each frame and Motion LoRAs:

animate (1)

As an example of it in action, here's 4 images steering, alongside a LoRA trained on a video:

While here are four abstract images animated by each of the different workflows available inside Dough:

basic workflows

We're obviously very biased think that it'll be possible to create extraordinarily beautiful things with this and we're excited to see what you make! Please share stuff you made in our Discord.

Artworks created with Dough

You can see a selection of artworks created with Dough here.

Setup Instructions

Recommended Setup for Linux & Windows - Pinokio:

Pinokio is a web browser for launching and managing AI apps. We recommend you use it for installing Dough.

Instructions:

  1. Download Pinokio Browser

  2. Click into Discover, search "Dough" select the option by "Banodoco" and press the download button

  3. Once it's downloaded, press the Install button. This will take a few minutes

  4. Once it's installed, press the Run button and it should launch

Other Setup Instructions:

Setting up on Runpod
  1. We recommend setting up persistent storage for a quick setup and for your projects to persist. To get it going, click into “Storage”, select “New Network Volume”. 50GB should be more than enough to start.

  2. Select a machine - any should work, but we recommend a 4090.

  3. During setup, open the relevant ports for Dough like below:

  1. When you’ve launched the pod, click into Jupyter Notebook:
  1. Follow the “Setup for Linux” below and come back here when you’ve gone through them.

  2. Once you’re done that, grab the IP Address for your instance:

Then form put these into this form with a : between them like this:

{Public ID}:{External Pair Value}

In the above example, that would make it:

213.173.108.4:14810

Then go to this URL, and it should be running!

Important: remember to terminate the instance once you’re done - you can restart it by following the instructions from step 3 above.

Manual installation instructions for Linux

Install the app

This commands sets up the app. Run this only the first time, after that you can simply start the app using the next command.

curl -sSL https://raw.githubusercontent.com/banodoco/Dough/green-head/scripts/linux_setup.sh | bash

Enter the folder

In terminal, run:

cd Dough

Run the app

you can run the app using

source ./dough-env/bin/activate && ./scripts/entrypoint.sh
Manual installation instructions for Windows

Open Powershell in Administrator mode

Open the Start menu, type Windows PowerShell, right-click on Windows PowerShell, and then select Run as administrator. Then run this command Set-ExecutionPolicy RemoteSigned

NOTE: Make sure you have Python3.10 installed and set as the default Python version

Install the app

Install MS C++ Redistributable (if not already present) - https://aka.ms/vs/16/release/vc_redist.x64.exe

Navigate to Documents

Make sure you're in the documents folder by running the following command:

cd ~\Documents

Run the setup script

iwr -useb "https://raw.githubusercontent.com/banodoco/Dough/green-head/scripts/windows_setup.bat" -OutFile "script.bat"
Start-Process "cmd.exe" -ArgumentList "/c script.bat"

Enter the folder

In Powershell, run:

cd Dough

Run the app

. .\dough-env\Scripts\activate ; .\scripts\entrypoint.bat

Troubleshooting

Common problems (click to expand)
Issue during installation
  • Make sure you are using python3.10
  • If you are on Windows, make sure permissions of the Dough folder are not restricted (try to grant full access to everyone)
  • Double-check that you are not inside any system-protected folders like system32
  • Install the app in admin mode. Open the powershell in the admin mode and run "Set-ExecutionPolicy RemoteSigned". Then follow the installation instructions given in the readme
  • If all of the above fail, try to run the following instructions one by one and report which one is throwing the error
    call dough-env\Scripts\activate.bat
    python.exe -m pip install --upgrade pip
    pip install -r requirements.txt
    pip install websocket
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    pip install -r comfy_runner\requirements.txt
    pip install -r ComfyUI\requirements.txt
Unable to locate credentials Make a copy of ".env.sample" and rename it to ".env"
Issue during runtime
  • If a particular node inside Comfy is throwing an error then delete that node and restart the app
  • Make sure you are using python3.10 and the virtual environment is activated
  • Try doing "git pull origin main" to get the latest code
Generations are in progress for a long time
  • Check the terminal if any progress is being made (they can be very slow, especially in the case of upscaling)
  • Cancel the generations directly from the sidebar if they are stuck
  • If you don't see any logs in the terminal, make sure no other program is running at port 12345 on your machine as Dough uses that port
Some other error?

Drop in our Discord.

Interested in joining a community of people who are pushing open AI art models to their technical and artistic limits?

Drop in our Discord.

dough's People

Contributors

b34stw4rs avatar peteromallet avatar piyushk52 avatar sebastianbodza avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dough's Issues

First run errors

Cloned the repo. Installed all deps into a new clean virtual environment (voc_dough).
When the UI appears it shows this wanring

Please replace st.experimental_get_query_params with st.query_params.
st.experimental_get_query_params will be removed after 2024-04-11.
Refer to our [docs page](https://docs.streamlit.io/library/api-reference/utilities/st.query_params) for more information.

and this error

UnboundLocalError: local variable 'res' referenced before assignment
Traceback:

File "D:\Tests\Dough\voc_dough\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 535, in _run_script
    exec(code, module.__dict__)
File "D:\Tests\Dough\app.py", line 112, in <module>
    raise e
File "D:\Tests\Dough\app.py", line 109, in <module>
    main()
File "D:\Tests\Dough\app.py", line 101, in main
    setup_app_ui()
File "D:\Tests\Dough\ui_components\setup.py", line 103, in setup_app_ui
    check_project_meta_data(st.session_state["project_uuid"])
File "D:\Tests\Dough\ui_components\methods\common_methods.py", line 793, in check_project_meta_data
    if acquire_lock(key):
File "D:\Tests\Dough\utils\common_utils.py", line 253, in acquire_lock
    lock_status = data_repo.acquire_lock(key)
File "D:\Tests\Dough\utils\data_repo\data_repo.py", line 439, in acquire_lock
    return res.data['data'] if res and res.status else None

If I create a new project, it shows that the project is created, but then the above error is displayed again.

Suggestion: save as images

Hi. I've been playing with the app and I'm starting to get some nice images. Thing is, my workflow generally involves dealing with clips as individual frames. Would it be possible to allow us to specify image outputs instead of mp4? Either jpg or png would be fine, though the option to choose would be bonus.

How to Generate Sequences?

I've figured out how to load images into the UI and add them to the queue, but as far as I can tell, the only way to execute the queue is to stop the server and re-launch it. Is there something I'm missing?

django.db.utils.OperationalError: unable to open database file (with Runpod)

When i run it with Runpod :

Traceback (most recent call last):
File "/Dough/dough-env/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 541, in _run_script
exec(code, module.dict)
File "/Dough/app.py", line 116, in
raise e
File "/Dough/app.py", line 113, in
main()
File "/Dough/app.py", line 105, in main
setup_app_ui()
File "/Dough/ui_components/setup.py", line 97, in setup_app_ui
data_repo.update_app_setting(previous_project_id=st.session_state['project_uuid'])
File "/Dough/utils/cache/cache_methods.py", line 442, in _cache_update_app_setting
status = original_func(self, *args, **kwargs)
File "/Dough/utils/data_repo/data_repo.py", line 357, in update_app_setting
res = self.db_repo.update_app_setting(**kwargs)
File "/Dough/backend/db_repo.py", line 1080, in update_app_setting
app_setting.save()
File "/Dough/backend/models.py", line 395, in save
super(AppSetting, self).save(*args, **kwargs)
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/models/base.py", line 814, in save
self.save_base(
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/models/base.py", line 877, in save_base
updated = self._save_table(
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/models/base.py", line 990, in _save_table
updated = self._do_update(
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/models/base.py", line 1054, in _do_update
return filtered._update(values) > 0
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/models/query.py", line 1231, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1982, in execute_sql
cursor = super().execute_sql(result_type)
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1560, in execute_sql
cursor.execute(sql, params)
File "/Dough/dough-env/lib/python3.10/site-packages/sentry_sdk/integrations/django/init.py", line 616, in execute
return real_execute(self, sql, params)
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
with self.db.wrap_database_errors:
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/utils.py", line 91, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
File "/Dough/dough-env/lib/python3.10/site-packages/django/db/backends/sqlite3/base.py", line 328, in execute
return super().execute(query, params)
django.db.utils.OperationalError: unable to open database file

Downloading from your app

It is rather difficult to guess what is behind the long links from the list of the motion loras, so some human readable language would be very helpful.

CalledProcessError: Command '['git', 'rev-parse', '--abbrev-ref', 'HEAD']' returned non-zero exit status 128.

image

`C:\GIT\Dough>call dough-env\Scripts\activate

(dough-env) C:\GIT\Dough>scripts\entrypoint.bat

You can now view your Streamlit app in your browser.

Local URL: http://localhost:5500
Network URL: http://192.168.1.140:5500

INFO:app_logger:Starting runner
runner running
INFO:app_logger:Database not found. Creating new one.
DEBUG:app_logger:db creation pending..
INFO:app_logger:Migrations completed successfully
INFO:app_logger:new temp user created: banodoco_user
{'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'replicate_key': '', 'replicate_username': '', 'welcome_state': 0}
{'name': 'my_first_project', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02'}
{'name': 'fbd793de-5028-47d3-a046-36d6a7482b45', 'type': 'image', 'local_path': 'videos/330d7147-fe6e-4ae0-8183-598da016990f/resources/prompt_images/c8214bd8-32f7-41c7-92f5-42ffdba2855e.png', 'project_id': '330d7147-fe6e-4ae0-8183-598da016990f', 'shot_uuid': '', 'inference_log_id': None}
{'source_image_id': 'ea5c6757-78c2-43ff-9831-f7a91f043ead', 'shot_id': '326468c1-3b5d-4acf-949a-e268e8d25e5d', 'aux_frame_index': 0}
{'name': 'ae859016-a52d-4d3e-bb86-b3e757a60ce8', 'type': 'image', 'local_path': 'videos/330d7147-fe6e-4ae0-8183-598da016990f/resources/prompt_images/15153f5e-d459-4151-8a45-fac48ad2c007.png', 'project_id': '330d7147-fe6e-4ae0-8183-598da016990f', 'shot_uuid': '', 'inference_log_id': None}
{'source_image_id': '7d4f5b8e-7256-4cd4-b175-dc106a399227', 'shot_id': '326468c1-3b5d-4acf-949a-e268e8d25e5d', 'aux_frame_index': 1}
{'name': 'd3467819-59cc-48ff-a3ba-36ebb79d8499', 'type': 'image', 'local_path': 'videos/330d7147-fe6e-4ae0-8183-598da016990f/resources/prompt_images/d330acec-81d7-4699-b537-020b2b2649a7.png', 'project_id': '330d7147-fe6e-4ae0-8183-598da016990f', 'shot_uuid': '', 'inference_log_id': None}
{'source_image_id': '27a0f545-3a34-42ca-bf54-02b84d77475d', 'shot_id': '326468c1-3b5d-4acf-949a-e268e8d25e5d', 'aux_frame_index': 2}
{'name': 'controlnet', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': None, 'replicate_url': '', 'diffusers_url': '', 'training_image_list': '', 'category': 'controlnet', 'keyword': '', 'model_type': '["img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'Dreambooth', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': None, 'replicate_url': '', 'diffusers_url': '', 'training_image_list': '', 'category': 'Dreambooth', 'keyword': '', 'model_type': '["img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'LoRA', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': None, 'replicate_url': '', 'diffusers_url': '', 'training_image_list': '', 'category': 'LoRA', 'keyword': '', 'model_type': '["img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'urpm-v1.3', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': '4df956e8dbfebf1afaf0c3ee98ad426ec58c4262d24360d054582e5eab2cb5f6', 'replicate_url': 'mcai/urpm-v1.3-img2img', 'diffusers_url': '', 'training_image_list': '', 'category': 'Base_SD', 'keyword': '', 'model_type': '["img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'stable_diffusion_xl', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': 'af1a68a271597604546c09c64aabcd7782c114a63539a4a8d14d1eeda5630c33', 'replicate_url': 'stability-ai/sdxl', 'diffusers_url': '', 'training_image_list': '', 'category': 'Base_SD', 'keyword': '', 'model_type': '["txt2img", "img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'realistic_vision_5', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': 'c0259010b93e7a4102a4ba946d70e06d7d0c7dc007201af443cfc8f943ab1d3c', 'replicate_url': 'heedster/realistic-vision-v5', 'diffusers_url': '', 'training_image_list': '', 'category': 'Base_SD', 'keyword': '', 'model_type': '["txt2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'deliberate_v3', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': '1851b62340ae657f05f8b8c8a020e3f9a46efde9fe80f273eef026c0003252ac', 'replicate_url': 'pagebrain/deliberate-v3', 'diffusers_url': '', 'training_image_list': '', 'category': 'Base_SD', 'keyword': '', 'model_type': '["txt2img", "img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'dreamshaper_v7', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': '0deba88df4e49b302585e1a7b6bd155e18962c1048966a40fe60ba05805743ff', 'replicate_url': 'pagebrain/dreamshaper-v7', 'diffusers_url': '', 'training_image_list': '', 'category': 'Base_SD', 'keyword': '', 'model_type': '["txt2img", "img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'epic_realism_v5', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': '222465e57e4d9812207f14133c9499d47d706ecc41a8bf400120285b2f030b42', 'replicate_url': 'pagebrain/epicrealism-v5', 'diffusers_url': '', 'training_image_list': '', 'category': 'Base_SD', 'keyword': '', 'model_type': '["txt2img", "img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'sdxl_controlnet', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': 'db2ffdbdc7f6cb4d6dab512434679ee3366ae7ab84f89750f8947d5594b79a47', 'replicate_url': 'lucataco/sdxl-controlnet', 'diffusers_url': '', 'training_image_list': '', 'category': 'Base_SD', 'keyword': '', 'model_type': '["img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'sdxl_controlnet_openpose', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': 'd63e0b238b2d963d90348e2dad19830fbe372a7a43d90d234b2b63cae76d4397', 'replicate_url': 'lucataco/sdxl-controlnet-openpose', 'diffusers_url': '', 'training_image_list': '', 'category': 'Base_SD', 'keyword': '', 'model_type': '["img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'name': 'realistic_vision_img2img', 'user_id': '0b771c2f-cf58-45cf-bc01-6f2e3a735e02', 'custom_trained': False, 'version': '82bbb4595458d6be142450fc6d8c4d79c936b92bd184dd2d6dd71d0796159819', 'replicate_url': 'lucataco/realistic-vision-v5-img2img', 'diffusers_url': '', 'training_image_list': '', 'category': 'Base_SD', 'keyword': '', 'model_type': '["img2img"]'}
0b771c2f-cf58-45cf-bc01-6f2e3a735e02
{'project_id': '330d7147-fe6e-4ae0-8183-598da016990f', 'default_model_id': 'fc34d7a5-fe81-45b8-af07-7e54953b66bc', 'input_type': 'video', 'width': 512, 'height': 512}
2024-04-19 23:35:45.318 Uncaught app exception
Traceback (most recent call last):
File "C:\GIT\Dough\dough-env\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 541, in _run_script
exec(code, module.dict)
File "C:\GIT\Dough\app.py", line 116, in
raise e
File "C:\GIT\Dough\app.py", line 113, in
main()
File "C:\GIT\Dough\app.py", line 95, in main
check_for_updates() # enabling auto updates only for local version
File "C:\GIT\Dough\utils\app_update_utils.py", line 25, in check_for_updates
remote_version = get_remote_version()
File "C:\GIT\Dough\utils\app_update_utils.py", line 135, in get_remote_version
completed_process = subprocess.run(["git", "rev-parse", "--abbrev-ref", "HEAD"], check=True, capture_output=True, text=True)
File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 524, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['git', 'rev-parse', '--abbrev-ref', 'HEAD']' returned non-zero exit status 128.`

Analogue Drag/Drop

Might be helpful, if the interface for arranging images in shots and shots in sequences would be more analogue, as users know and estimate this. So the relative duration of an element should be shown by repeating the image, and mixing two sequences could be shown by overlaps etc. And dragging and dropping an element might be better than using arrows. Not urgent, I agree, but please consider.

Save replicate output locally

Whenever a replicate output is generated, its original URL (image hosted on replicate) is used at multiple places in the code. After a while (around 30 mins) Replicate removes the images and thus our app runs into errors.

moviepy not found

I've tried reinstalling a few times. This last time, I downloaded the Windows setup bat and ran it from d:, ran the activate script, and then ran 'pip install -r requirements.txt' from the environment prompt, and then from /dough (main directory) ran 'streamlit run app.py --runner.fastReruns false --server.port 5500' (the contents of entrypoint.bat) to start the app. I'm getting the same issue every time: No module named moviepy.

I think this could be because I have multiple Python versions installed, but I don't want to wipe everything and reinstall Python if I can avoid it. I've got too many scripts that currently work.

Any ideas?

EDIT: Ah. I missed an error message when installing requirements. It failed to build wheel. Looking into that now.

EDIT: I'm going to try changing the Windows setup bat to specify a Python version when creating the virtual environment. I'm just guessing here, but I think 3.11 may be better than 3.12 (my current system version).

EDIT: FIXED (Got the Streamlit app running, at least.) I just changed a line in windows_setup.bat to 'py -3.11 -m venv dough-env' and reinstalled.

getting error trying to run (are these errors major?)

Are these errors causing major errors? It seems to be taking forever to run with utilisastion mostly on my cpu and ram.
Not sure if I need to adjust my settings or my install didn't work out properly?

Here's what the terminal says:

~/Dough# ./scripts/entrypoint.sh

You can now view your Streamlit app in your browser.

Local URL: http://localhost:5500
Network URL: http://xx.xxx.xxx.xx.:5500

INFO:app_logger:Starting runner
runner running
DEBUG:app_logger:cloning comfy repo
DEBUG:app_logger:Checking comfy requirements, please wait...

ComfyUI-Manager: installing dependencies done.

** ComfyUI startup time: 2024-05-31 05:41:57.978405
** Platform: Linux
** Python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
** Python executable: /root/Dough/dough-env/bin/python3
** Log path: /root/Dough/comfyui.log

Prestartup times for custom nodes:
0.1 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager

Total VRAM 11264 MB, total RAM 23976 MB
pytorch version: 2.3.0+cu121
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce RTX 2080 Ti : cudaMallocAsync
VAE dtype: torch.float32
Using pytorch cross attention
Making the "web\extensions\FizzleDorf" folder
Update to javascripts files detected
Copying Folder here to satisfy init, eventually I'll have stuff in here..txt to extensions folder
Note: NumExpr detected 32 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.
NumExpr defaulting to 8 threads.
FizzleDorf Custom Nodes: Loaded

Loading: ComfyUI-Manager (V2.35.1)

ComfyUI Revision: 2218 [bf3e334d] | Released on '2024-05-30'

Import times for custom nodes:
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/websocket_image_save.py
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/comfyui-various
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI_IPAdapter_plus
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI_essentials
0.1 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Frame-Interpolation
0.1 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager
0.1 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Advanced-ControlNet
0.1 seconds: /root/Dough/ComfyUI/custom_nodes/efficiency-nodes-comfyui
0.3 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI_FizzNodes
0.3 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved
0.4 seconds: /root/Dough/ComfyUI/custom_nodes/steerable-motion
0.4 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite

Starting server

To see the GUI go to: http://127.0.0.1:4333
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/alter-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/model-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/extension-node-map.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/github-stats.json
DEBUG:app_logger:Process 11959 (Port 4333)
DEBUG:app_logger:comfy server is running
FETCH DATA from: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager/extension-node-map.json [DONE]
FETCH DATA from: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager/custom-node-list.json [DONE]
FETCH DATA from: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager/github-stats.json [DONE]
Update check done.
DEBUG:app_logger:checking file:
INFO:app_logger:Downloading film_net_fp32.pt
134690it [00:11, 11347.05it/s]██████████████████████████████████████████████████████▍| 137M/138M [00:11<00:00, 10.2MB/s]
100%|████████████████████████████████████████████████████████████████████████████████| 138M/138M [00:11<00:00, 11.6MB/s]
INFO:app_logger:Restarting the server
DEBUG:app_logger:Process 11959 (Port 4333)

ComfyUI-Manager: installing dependencies done.

** ComfyUI startup time: 2024-05-31 05:42:19.836052
** Platform: Linux
** Python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
** Python executable: /root/Dough/dough-env/bin/python3
** Log path: /root/Dough/comfyui.log

Prestartup times for custom nodes:
0.1 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager

Total VRAM 11264 MB, total RAM 23976 MB
pytorch version: 2.3.0+cu121
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce RTX 2080 Ti : cudaMallocAsync
VAE dtype: torch.float32
Using pytorch cross attention
Note: NumExpr detected 32 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.
NumExpr defaulting to 8 threads.
FizzleDorf Custom Nodes: Loaded

Loading: ComfyUI-Manager (V2.35.1)

ComfyUI Revision: 2218 [bf3e334d] | Released on '2024-05-30'

Import times for custom nodes:
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/websocket_image_save.py
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI_IPAdapter_plus
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI_essentials
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/comfyui-various
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Frame-Interpolation
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Advanced-ControlNet
0.0 seconds: /root/Dough/ComfyUI/custom_nodes/efficiency-nodes-comfyui
0.1 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager
0.2 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved
0.3 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI_FizzNodes
0.3 seconds: /root/Dough/ComfyUI/custom_nodes/steerable-motion
0.4 seconds: /root/Dough/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite

Starting server

To see the GUI go to: http://127.0.0.1:4333
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/alter-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/model-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/github-stats.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/extension-node-map.json
DEBUG:app_logger:Process 12070 (Port 4333)
DEBUG:app_logger:comfy server is running
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json
DEBUG:app_logger:Updating ip-adapter-plus_sd15.bin to ip-adapter-plus_sd15.bin
DEBUG:app_logger:Updating pytorch_model.bin to SD1.5/pytorch_model.bin
DEBUG:app_logger:Updating vae-ft-mse-840000-ema-pruned.safetensors to vae-ft-mse-840000-ema-pruned.safetensors
DEBUG:app_logger:Updating Realistic_Vision_V5.1.safetensors to Realistic_Vision_V5.1.safetensors
DEBUG:app_logger:Updating v3_sd15_sparsectrl_rgb.ckpt to SD1.5/animatediff/v3_sd15_sparsectrl_rgb.ckpt
DEBUG:app_logger:Updating v3_sd15_mm.ckpt to v3_sd15_mm.ckpt
INFO:app_logger:Generating output please wait
got prompt
model_type EPS
Using pytorch attention in VAE
Using pytorch attention in VAE
WARNING: Sequential prompt keyframes 5:100 and 6:96 are not monotonously increasing; skipping interpolation.
WARNING: Sequential prompt keyframes 5:100 and 6:96 are not monotonously increasing; skipping interpolation.
Requested to load SD1ClipModel
Loading 1 new model
WARNING: Sequential prompt keyframes 5:100 and 6:96 are not monotonously increasing; skipping interpolation.
WARNING: Sequential prompt keyframes 5:100 and 6:96 are not monotonously increasing; skipping interpolation.
Requested to load CLIPVisionModelProjection
Loading 1 new model
[AnimateDiffEvo] - INFO - Loading motion module v3_sd15_mm.ckpt via Gen2
!!! Exception during processing!!! PytorchStreamReader failed reading zip archive: failed finding central directory
Traceback (most recent call last):
File "/root/Dough/ComfyUI/execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/root/Dough/ComfyUI/execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/root/Dough/ComfyUI/execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/root/Dough/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/animatediff/nodes_gen2.py", line 178, in load_motion_model
motion_model = load_motion_module_gen2(model_name=model_name, motion_model_settings=ad_settings)
File "/root/Dough/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/animatediff/model_injection.py", line 1081, in load_motion_module_gen2
mm_state_dict = comfy.utils.load_torch_file(model_path, safe_load=True)
File "/root/Dough/ComfyUI/comfy/utils.py", line 21, in load_torch_file
pl_sd = torch.load(ckpt, map_location=device, weights_only=True)
File "/root/Dough/dough-env/lib/python3.10/site-packages/torch/serialization.py", line 1004, in load
with _open_zipfile_reader(opened_file) as opened_zipfile:
File "/root/Dough/dough-env/lib/python3.10/site-packages/torch/serialization.py", line 456, in init
super().init(torch._C.PyTorchFileReader(name_or_buffer))
RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory

Prompt executed in 38.33 seconds
DEBUG:app_logger:output file list len: 0
DEBUG:app_logger:Process 12070 (Port 4333)
error occured: list index out of range
Traceback (most recent call last):
File "/root/Dough/banodoco_runner.py", line 373, in check_and_update_db
res_output = format_model_output(output, log.model_name)
File "/root/Dough/banodoco_runner.py", line 217, in format_model_output
return [output[-1]]
IndexError: list index out of range
DEBUG:app_logger:cloning comfy repo
DEBUG:app_logger:Checking comfy requirements, please wait...
DEBUG:app_logger:Process 12070 (Port 4333)
DEBUG:app_logger:Process 12070 (Port 4333)
DEBUG:app_logger:Server already running
FETCH DATA from: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager/extension-node-map.json [DONE]
FETCH DATA from: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager/custom-node-list.json [DONE]
FETCH DATA from: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager/github-stats.json [DONE]
Update check done.
DEBUG:app_logger:Updating ip-adapter-plus_sd15.bin to ip-adapter-plus_sd15.bin
DEBUG:app_logger:Updating pytorch_model.bin to SD1.5/pytorch_model.bin
DEBUG:app_logger:Updating vae-ft-mse-840000-ema-pruned.safetensors to vae-ft-mse-840000-ema-pruned.safetensors
DEBUG:app_logger:Updating Realistic_Vision_V5.1.safetensors to Realistic_Vision_V5.1.safetensors
DEBUG:app_logger:Updating v3_sd15_sparsectrl_rgb.ckpt to SD1.5/animatediff/v3_sd15_sparsectrl_rgb.ckpt
DEBUG:app_logger:Updating v3_sd15_mm.ckpt to v3_sd15_mm.ckpt
INFO:app_logger:Generating output please wait
got prompt
[AnimateDiffEvo] - INFO - Loading motion module v3_sd15_mm.ckpt via Gen2
!!! Exception during processing!!! PytorchStreamReader failed reading zip archive: failed finding central directory
Traceback (most recent call last):
File "/root/Dough/ComfyUI/execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/root/Dough/ComfyUI/execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/root/Dough/ComfyUI/execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/root/Dough/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/animatediff/nodes_gen2.py", line 178, in load_motion_model
motion_model = load_motion_module_gen2(model_name=model_name, motion_model_settings=ad_settings)
File "/root/Dough/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/animatediff/model_injection.py", line 1081, in load_motion_module_gen2
mm_state_dict = comfy.utils.load_torch_file(model_path, safe_load=True)
File "/root/Dough/ComfyUI/comfy/utils.py", line 21, in load_torch_file
pl_sd = torch.load(ckpt, map_location=device, weights_only=True)
File "/root/Dough/dough-env/lib/python3.10/site-packages/torch/serialization.py", line 1004, in load
with _open_zipfile_reader(opened_file) as opened_zipfile:
File "/root/Dough/dough-env/lib/python3.10/site-packages/torch/serialization.py", line 456, in init
super().init(torch._C.PyTorchFileReader(name_or_buffer))
RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory

Prompt executed in 13.05 seconds
DEBUG:app_logger:output file list len: 0
DEBUG:app_logger:Process 12070 (Port 4333)
error occured: list index out of range
Traceback (most recent call last):
File "/root/Dough/banodoco_runner.py", line 373, in check_and_update_db
res_output = format_model_output(output, log.model_name)
File "/root/Dough/banodoco_runner.py", line 217, in format_model_output
return [output[-1]]
IndexError: list index out of range
FETCH DATA from: /root/Dough/ComfyUI/custom_nodes/ComfyUI-Manager/extension-node-map.json [DONE]

Webp as input, please

Just love dough, but it would be even greater if it could read webp as input, as I write my scripts and create my keyframes with chatgpt4. Of course not of vital necessity, but would be helpful. Furthermore, I would love so see a progress bar about the ongoing rendering process.

Steps

Can´t find where to edit the steps, default seems to be at 20, how do I increase it?
thanks

Can I link Dough to my already setup comfyui installation?

Hi! What the title says. Van Dough be linked to my existing Comfy UI installation? I already have all the models, ipadapters, etc etc, and I would like to avoid having everything duplicated as it can easily get to 50-100gb. I'm using Windows. thanks!!!

Multiple critical errors occurred

error log:

image


The following is the answer I gave the error log to ChatGPT, for reference only:

  1. ModuleNotFoundError: No module named 'numexpr': This indicates that the numexpr module is not installed. To solve this problem, the missing numexpr module needs to be installed.

  2. KeyError: 'PromptSchedule': This appears to be because a non-existent 'PromptSchedule' key was referenced somewhere. This could be in the configuration files or a part of the code where a non-existent class or key is referenced.

  3. KeyError: 'file_paths': This error usually occurs when the 'file_paths' key is expected to be found in a dictionary but is not present. This could be because the program expects a list of file paths as output but none was generated.

To address these issues, you can follow these steps:

  1. Install the numexpr module. This can be done using the command pip install numexpr.

  2. Check the code or configuration files to ensure the 'PromptSchedule' key is used correctly. Make sure that wherever this key is referenced, it is done accurately, and that the related configuration or data structure has this key defined properly.

  3. For the 'file_paths' error, examine the logic that generates the list of file paths to ensure that it can produce the list correctly when needed. It might be necessary to investigate why the expected output was not generated and ensure all necessary inputs are correctly provided.

You should start by addressing the installation issue of numexpr, then delve into the subsequent errors, adjusting according to the specific configuration and code structure.


According to the answer, I installed the "numexpr" module, but it still prompts that there is no "numexpr" module. I don't know the reason.

According to the installation method given by the author on two computers, there is no problem when generating pictures, but I encounter the same problem when generating animations. I also tried to install and run it in a virtual environment and a physical environment, and the same problem happened. I look forward to the author's help, thank you very much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.