adirik/syncdiffusion

Generate panoramic images with text prompts

Text-Guided Image Generation and Manipulation

PyTorch version of Lightweight OpenPose as introduced in "Real-time 2D Multi-Person Pose Estimation on CPU: Lightweight OpenPose"

Modify images using line art

Modify images using canny edges

Modify images using sketches

Modify images using human pose

Modify images using depth maps

Inst-Inpaint: Instructing to Remove Objects with Diffusion Models

Zero-shot / open vocabulary object detection

Generate videos from text prompts with Kandinsky-2.2

Detect everything with language!

Generates 3D assets from images

Generate 3D assets using text descriptions

Detects objects in an image

Performs speaker identity verification

Generates speech from text

Generate texture for your mesh with text prompts

Kosmos-G: Generating Images in Context with Multimodal Large Language Models

Edit real or generated images

Edit real or generated images
Prediction
adirik/syncdiffusion:a2c97d1c34b88c075e38899a38a371e2016917ed358f4b8618b32101f4897a1dIDzpkqvwtbaiz7imbdnasc43uodaStatusSucceededSourceWebHardwareA40Total durationCreatedInput
- seed
- 2
- width
- 2048
- height
- 512
- prompt
- natural landscape in anime style illustration
- stride
- 16
- sync_freq
- 1
- sync_weight
- 20
- loop_closure
- guidance_scale
- 7.5
- sync_threshold
- 5
- negative_prompt
- sync_decay_rate
- 0.99
- num_inference_steps
- 50
{ "seed": 2, "width": 2048, "height": 512, "prompt": "natural landscape in anime style illustration", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; import fs from "node:fs"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "adirik/syncdiffusion:a2c97d1c34b88c075e38899a38a371e2016917ed358f4b8618b32101f4897a1d", { input: { seed: 2, width: 2048, height: 512, prompt: "natural landscape in anime style illustration", stride: 16, sync_freq: 1, sync_weight: 20, loop_closure: false, guidance_scale: 7.5, sync_threshold: 5, negative_prompt: "", sync_decay_rate: 0.99, num_inference_steps: 50 } } ); // To access the file URL: console.log(output.url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "adirik/syncdiffusion:a2c97d1c34b88c075e38899a38a371e2016917ed358f4b8618b32101f4897a1d", input={ "seed": 2, "width": 2048, "height": 512, "prompt": "natural landscape in anime style illustration", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": False, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } ) # To access the file URL: print(output.url()) #=> "http://example.com" # To write the file to disk: with open("my-image.png", "wb") as file: file.write(output.read())
To learn more, take a look at the guide on getting started with Python.
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "version": "adirik/syncdiffusion:a2c97d1c34b88c075e38899a38a371e2016917ed358f4b8618b32101f4897a1d", "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "natural landscape in anime style illustration", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
You can run this model locally using Cog. First, install Cog:brew install cog
If you don’t have Homebrew, there are other installation options available.
Run this to download the model and run it in your local environment:
cog predict r8.im/adirik/syncdiffusion@sha256:a2c97d1c34b88c075e38899a38a371e2016917ed358f4b8618b32101f4897a1d \ -i 'seed=2' \ -i 'width=2048' \ -i 'height=512' \ -i 'prompt="natural landscape in anime style illustration"' \ -i 'stride=16' \ -i 'sync_freq=1' \ -i 'sync_weight=20' \ -i 'loop_closure=false' \ -i 'guidance_scale=7.5' \ -i 'sync_threshold=5' \ -i 'negative_prompt=""' \ -i 'sync_decay_rate=0.99' \ -i 'num_inference_steps=50'
To learn more, take a look at the Cog documentation.
Run this to download the model and run it in your local environment:
docker run -d -p 5000:5000 --gpus=all r8.im/adirik/syncdiffusion@sha256:a2c97d1c34b88c075e38899a38a371e2016917ed358f4b8618b32101f4897a1d
curl -s -X POST \ -H "Content-Type: application/json" \ -d $'{ "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "natural landscape in anime style illustration", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ http://localhost:5000/predictions
To learn more, take a look at the Cog documentation.
Output
{ "completed_at": "2024-01-29T10:12:49.546770Z", "created_at": "2024-01-29T10:09:30.073441Z", "data_removed": false, "error": null, "id": "zpkqvwtbaiz7imbdnasc43uoda", "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "natural landscape in anime style illustration", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }, "logs": "[INFO] number of views to process: 13\n/src/syncdiffusion/syncdiffusion_model.py:150: FutureWarning: Accessing config attribute `in_channels` directly via 'UNet2DConditionModel' object attribute is deprecated. Please access 'in_channels' over 'UNet2DConditionModel's config object instead, e.g. 'unet.config.in_channels'.\nlatent = torch.randn((1, self.unet.in_channels, height // 8, width // 8))\n[INFO] using exponential decay scheduler with decay rate 0.99\n 0%| | 0/50 [00:00<?, ?it/s]\n 2%|▏ | 1/50 [00:06<05:04, 6.21s/it]\n 4%|▍ | 2/50 [00:11<04:34, 5.72s/it]\n 6%|▌ | 3/50 [00:16<04:21, 5.56s/it]\n 8%|▊ | 4/50 [00:22<04:12, 5.48s/it]\n 10%|█ | 5/50 [00:27<04:04, 5.44s/it]\n 12%|█▏ | 6/50 [00:28<02:52, 3.91s/it]\n 14%|█▍ | 7/50 [00:29<02:06, 2.94s/it]\n 16%|█▌ | 8/50 [00:30<01:36, 2.30s/it]\n 18%|█▊ | 9/50 [00:31<01:16, 1.88s/it]\n 20%|██ | 10/50 [00:32<01:03, 1.59s/it]\n 22%|██▏ | 11/50 [00:33<00:54, 1.39s/it]\n 24%|██▍ | 12/50 [00:34<00:47, 1.25s/it]\n 26%|██▌ | 13/50 [00:35<00:42, 1.16s/it]\n 28%|██▊ | 14/50 [00:36<00:39, 1.09s/it]\n 30%|███ | 15/50 [00:37<00:36, 1.05s/it]\n 32%|███▏ | 16/50 [00:38<00:34, 1.02s/it]\n 34%|███▍ | 17/50 [00:38<00:32, 1.01it/s]\n 36%|███▌ | 18/50 [00:39<00:31, 1.02it/s]\n 38%|███▊ | 19/50 [00:40<00:29, 1.04it/s]\n 40%|████ | 20/50 [00:41<00:28, 1.04it/s]\n 42%|████▏ | 21/50 [00:42<00:27, 1.05it/s]\n 44%|████▍ | 22/50 [00:43<00:26, 1.05it/s]\n 46%|████▌ | 23/50 [00:44<00:25, 1.05it/s]\n 48%|████▊ | 24/50 [00:45<00:24, 1.06it/s]\n 50%|█████ | 25/50 [00:46<00:23, 1.06it/s]\n 52%|█████▏ | 26/50 [00:47<00:22, 1.06it/s]\n 54%|█████▍ | 27/50 [00:48<00:21, 1.06it/s]\n 56%|█████▌ | 28/50 [00:49<00:20, 1.06it/s]\n 58%|█████▊ | 29/50 [00:50<00:19, 1.06it/s]\n 60%|██████ | 30/50 [00:51<00:18, 1.06it/s]\n 62%|██████▏ | 31/50 [00:52<00:17, 1.06it/s]\n 64%|██████▍ | 32/50 [00:53<00:16, 1.06it/s]\n 66%|██████▌ | 33/50 [00:54<00:16, 1.06it/s]\n 68%|██████▊ | 34/50 [00:54<00:15, 1.06it/s]\n 70%|███████ | 35/50 [00:55<00:14, 1.06it/s]\n 72%|███████▏ | 36/50 [00:56<00:13, 1.06it/s]\n 74%|███████▍ | 37/50 [00:57<00:12, 1.06it/s]\n 76%|███████▌ | 38/50 [00:58<00:11, 1.06it/s]\n 78%|███████▊ | 39/50 [00:59<00:10, 1.06it/s]\n 80%|████████ | 40/50 [01:00<00:09, 1.06it/s]\n 82%|████████▏ | 41/50 [01:01<00:08, 1.06it/s]\n 84%|████████▍ | 42/50 [01:02<00:07, 1.06it/s]\n 86%|████████▌ | 43/50 [01:03<00:06, 1.06it/s]\n 88%|████████▊ | 44/50 [01:04<00:05, 1.06it/s]\n 90%|█████████ | 45/50 [01:05<00:04, 1.06it/s]\n 92%|█████████▏| 46/50 [01:06<00:03, 1.06it/s]\n 94%|█████████▍| 47/50 [01:07<00:02, 1.06it/s]\n 96%|█████████▌| 48/50 [01:08<00:01, 1.06it/s]\n 98%|█████████▊| 49/50 [01:09<00:00, 1.06it/s]\n100%|██████████| 50/50 [01:10<00:00, 1.06it/s]\n100%|██████████| 50/50 [01:10<00:00, 1.40s/it]\n[INFO] Done!", "metrics": { "predict_time": 72.613723, "total_time": 199.473329 }, "output": "https://replicate.delivery/pbxt/EArYhWvUBobJPtU3oHeRkx92iiSvH4iejFvZ1Nq55e5BhlikA/output.png", "started_at": "2024-01-29T10:11:36.933047Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/zpkqvwtbaiz7imbdnasc43uoda", "cancel": "https://api.replicate.com/v1/predictions/zpkqvwtbaiz7imbdnasc43uoda/cancel" }, "version": "a2c97d1c34b88c075e38899a38a371e2016917ed358f4b8618b32101f4897a1d" }
Generated in[INFO] number of views to process: 13 /src/syncdiffusion/syncdiffusion_model.py:150: FutureWarning: Accessing config attribute `in_channels` directly via 'UNet2DConditionModel' object attribute is deprecated. Please access 'in_channels' over 'UNet2DConditionModel's config object instead, e.g. 'unet.config.in_channels'. latent = torch.randn((1, self.unet.in_channels, height // 8, width // 8)) [INFO] using exponential decay scheduler with decay rate 0.99 0%| | 0/50 [00:00<?, ?it/s] 2%|▏ | 1/50 [00:06<05:04, 6.21s/it] 4%|▍ | 2/50 [00:11<04:34, 5.72s/it] 6%|▌ | 3/50 [00:16<04:21, 5.56s/it] 8%|▊ | 4/50 [00:22<04:12, 5.48s/it] 10%|█ | 5/50 [00:27<04:04, 5.44s/it] 12%|█▏ | 6/50 [00:28<02:52, 3.91s/it] 14%|█▍ | 7/50 [00:29<02:06, 2.94s/it] 16%|█▌ | 8/50 [00:30<01:36, 2.30s/it] 18%|█▊ | 9/50 [00:31<01:16, 1.88s/it] 20%|██ | 10/50 [00:32<01:03, 1.59s/it] 22%|██▏ | 11/50 [00:33<00:54, 1.39s/it] 24%|██▍ | 12/50 [00:34<00:47, 1.25s/it] 26%|██▌ | 13/50 [00:35<00:42, 1.16s/it] 28%|██▊ | 14/50 [00:36<00:39, 1.09s/it] 30%|███ | 15/50 [00:37<00:36, 1.05s/it] 32%|███▏ | 16/50 [00:38<00:34, 1.02s/it] 34%|███▍ | 17/50 [00:38<00:32, 1.01it/s] 36%|███▌ | 18/50 [00:39<00:31, 1.02it/s] 38%|███▊ | 19/50 [00:40<00:29, 1.04it/s] 40%|████ | 20/50 [00:41<00:28, 1.04it/s] 42%|████▏ | 21/50 [00:42<00:27, 1.05it/s] 44%|████▍ | 22/50 [00:43<00:26, 1.05it/s] 46%|████▌ | 23/50 [00:44<00:25, 1.05it/s] 48%|████▊ | 24/50 [00:45<00:24, 1.06it/s] 50%|█████ | 25/50 [00:46<00:23, 1.06it/s] 52%|█████▏ | 26/50 [00:47<00:22, 1.06it/s] 54%|█████▍ | 27/50 [00:48<00:21, 1.06it/s] 56%|█████▌ | 28/50 [00:49<00:20, 1.06it/s] 58%|█████▊ | 29/50 [00:50<00:19, 1.06it/s] 60%|██████ | 30/50 [00:51<00:18, 1.06it/s] 62%|██████▏ | 31/50 [00:52<00:17, 1.06it/s] 64%|██████▍ | 32/50 [00:53<00:16, 1.06it/s] 66%|██████▌ | 33/50 [00:54<00:16, 1.06it/s] 68%|██████▊ | 34/50 [00:54<00:15, 1.06it/s] 70%|███████ | 35/50 [00:55<00:14, 1.06it/s] 72%|███████▏ | 36/50 [00:56<00:13, 1.06it/s] 74%|███████▍ | 37/50 [00:57<00:12, 1.06it/s] 76%|███████▌ | 38/50 [00:58<00:11, 1.06it/s] 78%|███████▊ | 39/50 [00:59<00:10, 1.06it/s] 80%|████████ | 40/50 [01:00<00:09, 1.06it/s] 82%|████████▏ | 41/50 [01:01<00:08, 1.06it/s] 84%|████████▍ | 42/50 [01:02<00:07, 1.06it/s] 86%|████████▌ | 43/50 [01:03<00:06, 1.06it/s] 88%|████████▊ | 44/50 [01:04<00:05, 1.06it/s] 90%|█████████ | 45/50 [01:05<00:04, 1.06it/s] 92%|█████████▏| 46/50 [01:06<00:03, 1.06it/s] 94%|█████████▍| 47/50 [01:07<00:02, 1.06it/s] 96%|█████████▌| 48/50 [01:08<00:01, 1.06it/s] 98%|█████████▊| 49/50 [01:09<00:00, 1.06it/s] 100%|██████████| 50/50 [01:10<00:00, 1.06it/s] 100%|██████████| 50/50 [01:10<00:00, 1.40s/it] [INFO] Done!
Prediction
adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933IDmoytvpdbssmlz7yhymr5cvvhyaStatusSucceededSourceWebHardwareA40Total durationCreatedInput
- seed
- 2
- width
- 2048
- height
- 512
- prompt
- A photo of a rock concert
- stride
- 16
- sync_freq
- 1
- sync_weight
- 20
- loop_closure
- guidance_scale
- 7.5
- sync_threshold
- 5
- negative_prompt
- sync_decay_rate
- 0.99
- num_inference_steps
- 50
{ "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a rock concert", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; import fs from "node:fs"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", { input: { seed: 2, width: 2048, height: 512, prompt: "A photo of a rock concert", stride: 16, sync_freq: 1, sync_weight: 20, loop_closure: false, guidance_scale: 7.5, sync_threshold: 5, negative_prompt: "", sync_decay_rate: 0.99, num_inference_steps: 50 } } ); // To access the file URL: console.log(output.url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", input={ "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a rock concert", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": False, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } ) # To access the file URL: print(output.url()) #=> "http://example.com" # To write the file to disk: with open("my-image.png", "wb") as file: file.write(output.read())
To learn more, take a look at the guide on getting started with Python.
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "version": "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a rock concert", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
You can run this model locally using Cog. First, install Cog:brew install cog
If you don’t have Homebrew, there are other installation options available.
Run this to download the model and run it in your local environment:
cog predict r8.im/adirik/syncdiffusion@sha256:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933 \ -i 'seed=2' \ -i 'width=2048' \ -i 'height=512' \ -i 'prompt="A photo of a rock concert"' \ -i 'stride=16' \ -i 'sync_freq=1' \ -i 'sync_weight=20' \ -i 'loop_closure=false' \ -i 'guidance_scale=7.5' \ -i 'sync_threshold=5' \ -i 'negative_prompt=""' \ -i 'sync_decay_rate=0.99' \ -i 'num_inference_steps=50'
To learn more, take a look at the Cog documentation.
Run this to download the model and run it in your local environment:
docker run -d -p 5000:5000 --gpus=all r8.im/adirik/syncdiffusion@sha256:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933
curl -s -X POST \ -H "Content-Type: application/json" \ -d $'{ "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a rock concert", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ http://localhost:5000/predictions
To learn more, take a look at the Cog documentation.
Output
{ "completed_at": "2024-01-29T11:41:40.792455Z", "created_at": "2024-01-29T11:38:51.553891Z", "data_removed": false, "error": null, "id": "moytvpdbssmlz7yhymr5cvvhya", "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a rock concert", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }, "logs": "[INFO] number of views to process: 13\n/src/syncdiffusion/syncdiffusion_model.py:150: FutureWarning: Accessing config attribute `in_channels` directly via 'UNet2DConditionModel' object attribute is deprecated. Please access 'in_channels' over 'UNet2DConditionModel's config object instead, e.g. 'unet.config.in_channels'.\nlatent = torch.randn((1, self.unet.in_channels, height // 8, width // 8))\n[INFO] using exponential decay scheduler with decay rate 0.99\n 0%| | 0/50 [00:00<?, ?it/s]\n 2%|▏ | 1/50 [00:06<05:03, 6.20s/it]\n 4%|▍ | 2/50 [00:11<04:34, 5.72s/it]\n 6%|▌ | 3/50 [00:16<04:21, 5.57s/it]\n 8%|▊ | 4/50 [00:22<04:12, 5.49s/it]\n 10%|█ | 5/50 [00:27<04:05, 5.46s/it]\n 12%|█▏ | 6/50 [00:28<02:52, 3.92s/it]\n 14%|█▍ | 7/50 [00:29<02:06, 2.95s/it]\n 16%|█▌ | 8/50 [00:30<01:36, 2.31s/it]\n 18%|█▊ | 9/50 [00:31<01:17, 1.88s/it]\n 20%|██ | 10/50 [00:32<01:03, 1.59s/it]\n 22%|██▏ | 11/50 [00:33<00:54, 1.39s/it]\n 24%|██▍ | 12/50 [00:34<00:47, 1.26s/it]\n 26%|██▌ | 13/50 [00:35<00:42, 1.16s/it]\n 28%|██▊ | 14/50 [00:36<00:39, 1.10s/it]\n 30%|███ | 15/50 [00:37<00:36, 1.05s/it]\n 32%|███▏ | 16/50 [00:38<00:34, 1.02s/it]\n 34%|███▍ | 17/50 [00:39<00:32, 1.00it/s]\n 36%|███▌ | 18/50 [00:39<00:31, 1.02it/s]\n 38%|███▊ | 19/50 [00:40<00:30, 1.03it/s]\n 40%|████ | 20/50 [00:41<00:28, 1.04it/s]\n 42%|████▏ | 21/50 [00:42<00:27, 1.04it/s]\n 44%|████▍ | 22/50 [00:43<00:26, 1.05it/s]\n 46%|████▌ | 23/50 [00:44<00:25, 1.05it/s]\n 48%|████▊ | 24/50 [00:45<00:24, 1.05it/s]\n 50%|█████ | 25/50 [00:46<00:23, 1.05it/s]\n 52%|█████▏ | 26/50 [00:47<00:22, 1.06it/s]\n 54%|█████▍ | 27/50 [00:48<00:21, 1.06it/s]\n 56%|█████▌ | 28/50 [00:49<00:20, 1.06it/s]\n 58%|█████▊ | 29/50 [00:50<00:19, 1.06it/s]\n 60%|██████ | 30/50 [00:51<00:18, 1.06it/s]\n 62%|██████▏ | 31/50 [00:52<00:17, 1.06it/s]\n 64%|██████▍ | 32/50 [00:53<00:16, 1.06it/s]\n 66%|██████▌ | 33/50 [00:54<00:16, 1.06it/s]\n 68%|██████▊ | 34/50 [00:55<00:15, 1.06it/s]\n 70%|███████ | 35/50 [00:56<00:14, 1.06it/s]\n 72%|███████▏ | 36/50 [00:57<00:13, 1.06it/s]\n 74%|███████▍ | 37/50 [00:57<00:12, 1.06it/s]\n 76%|███████▌ | 38/50 [00:58<00:11, 1.06it/s]\n 78%|███████▊ | 39/50 [00:59<00:10, 1.06it/s]\n 80%|████████ | 40/50 [01:00<00:09, 1.06it/s]\n 82%|████████▏ | 41/50 [01:01<00:08, 1.06it/s]\n 84%|████████▍ | 42/50 [01:02<00:07, 1.06it/s]\n 86%|████████▌ | 43/50 [01:03<00:06, 1.06it/s]\n 88%|████████▊ | 44/50 [01:04<00:05, 1.06it/s]\n 90%|█████████ | 45/50 [01:05<00:04, 1.06it/s]\n 92%|█████████▏| 46/50 [01:06<00:03, 1.06it/s]\n 94%|█████████▍| 47/50 [01:07<00:02, 1.06it/s]\n 96%|█████████▌| 48/50 [01:08<00:01, 1.06it/s]\n 98%|█████████▊| 49/50 [01:09<00:00, 1.06it/s]\n100%|██████████| 50/50 [01:10<00:00, 1.06it/s]\n100%|██████████| 50/50 [01:10<00:00, 1.40s/it]\n[INFO] Done!", "metrics": { "predict_time": 72.801733, "total_time": 169.238564 }, "output": "https://replicate.delivery/pbxt/P91aAIXKfNVpcCgfoEtuotmcOZRAegzDGTHM5BVP296mHoikA/output.png", "started_at": "2024-01-29T11:40:27.990722Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/moytvpdbssmlz7yhymr5cvvhya", "cancel": "https://api.replicate.com/v1/predictions/moytvpdbssmlz7yhymr5cvvhya/cancel" }, "version": "5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933" }
Generated in[INFO] number of views to process: 13 /src/syncdiffusion/syncdiffusion_model.py:150: FutureWarning: Accessing config attribute `in_channels` directly via 'UNet2DConditionModel' object attribute is deprecated. Please access 'in_channels' over 'UNet2DConditionModel's config object instead, e.g. 'unet.config.in_channels'. latent = torch.randn((1, self.unet.in_channels, height // 8, width // 8)) [INFO] using exponential decay scheduler with decay rate 0.99 0%| | 0/50 [00:00<?, ?it/s] 2%|▏ | 1/50 [00:06<05:03, 6.20s/it] 4%|▍ | 2/50 [00:11<04:34, 5.72s/it] 6%|▌ | 3/50 [00:16<04:21, 5.57s/it] 8%|▊ | 4/50 [00:22<04:12, 5.49s/it] 10%|█ | 5/50 [00:27<04:05, 5.46s/it] 12%|█▏ | 6/50 [00:28<02:52, 3.92s/it] 14%|█▍ | 7/50 [00:29<02:06, 2.95s/it] 16%|█▌ | 8/50 [00:30<01:36, 2.31s/it] 18%|█▊ | 9/50 [00:31<01:17, 1.88s/it] 20%|██ | 10/50 [00:32<01:03, 1.59s/it] 22%|██▏ | 11/50 [00:33<00:54, 1.39s/it] 24%|██▍ | 12/50 [00:34<00:47, 1.26s/it] 26%|██▌ | 13/50 [00:35<00:42, 1.16s/it] 28%|██▊ | 14/50 [00:36<00:39, 1.10s/it] 30%|███ | 15/50 [00:37<00:36, 1.05s/it] 32%|███▏ | 16/50 [00:38<00:34, 1.02s/it] 34%|███▍ | 17/50 [00:39<00:32, 1.00it/s] 36%|███▌ | 18/50 [00:39<00:31, 1.02it/s] 38%|███▊ | 19/50 [00:40<00:30, 1.03it/s] 40%|████ | 20/50 [00:41<00:28, 1.04it/s] 42%|████▏ | 21/50 [00:42<00:27, 1.04it/s] 44%|████▍ | 22/50 [00:43<00:26, 1.05it/s] 46%|████▌ | 23/50 [00:44<00:25, 1.05it/s] 48%|████▊ | 24/50 [00:45<00:24, 1.05it/s] 50%|█████ | 25/50 [00:46<00:23, 1.05it/s] 52%|█████▏ | 26/50 [00:47<00:22, 1.06it/s] 54%|█████▍ | 27/50 [00:48<00:21, 1.06it/s] 56%|█████▌ | 28/50 [00:49<00:20, 1.06it/s] 58%|█████▊ | 29/50 [00:50<00:19, 1.06it/s] 60%|██████ | 30/50 [00:51<00:18, 1.06it/s] 62%|██████▏ | 31/50 [00:52<00:17, 1.06it/s] 64%|██████▍ | 32/50 [00:53<00:16, 1.06it/s] 66%|██████▌ | 33/50 [00:54<00:16, 1.06it/s] 68%|██████▊ | 34/50 [00:55<00:15, 1.06it/s] 70%|███████ | 35/50 [00:56<00:14, 1.06it/s] 72%|███████▏ | 36/50 [00:57<00:13, 1.06it/s] 74%|███████▍ | 37/50 [00:57<00:12, 1.06it/s] 76%|███████▌ | 38/50 [00:58<00:11, 1.06it/s] 78%|███████▊ | 39/50 [00:59<00:10, 1.06it/s] 80%|████████ | 40/50 [01:00<00:09, 1.06it/s] 82%|████████▏ | 41/50 [01:01<00:08, 1.06it/s] 84%|████████▍ | 42/50 [01:02<00:07, 1.06it/s] 86%|████████▌ | 43/50 [01:03<00:06, 1.06it/s] 88%|████████▊ | 44/50 [01:04<00:05, 1.06it/s] 90%|█████████ | 45/50 [01:05<00:04, 1.06it/s] 92%|█████████▏| 46/50 [01:06<00:03, 1.06it/s] 94%|█████████▍| 47/50 [01:07<00:02, 1.06it/s] 96%|█████████▌| 48/50 [01:08<00:01, 1.06it/s] 98%|█████████▊| 49/50 [01:09<00:00, 1.06it/s] 100%|██████████| 50/50 [01:10<00:00, 1.06it/s] 100%|██████████| 50/50 [01:10<00:00, 1.40s/it] [INFO] Done!
Prediction
adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933IDiaaxyx3barbejqm3slkiqiuby4StatusSucceededSourceWebHardwareA40Total durationCreatedInput
- seed
- 2
- width
- 2048
- height
- 512
- prompt
- A photo of a grassland with animals
- stride
- 16
- sync_freq
- 1
- sync_weight
- 20
- loop_closure
- guidance_scale
- 7.5
- sync_threshold
- 5
- negative_prompt
- sync_decay_rate
- 0.99
- num_inference_steps
- 50
{ "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a grassland with animals", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; import fs from "node:fs"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", { input: { seed: 2, width: 2048, height: 512, prompt: "A photo of a grassland with animals", stride: 16, sync_freq: 1, sync_weight: 20, loop_closure: false, guidance_scale: 7.5, sync_threshold: 5, negative_prompt: "", sync_decay_rate: 0.99, num_inference_steps: 50 } } ); // To access the file URL: console.log(output.url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", input={ "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a grassland with animals", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": False, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } ) # To access the file URL: print(output.url()) #=> "http://example.com" # To write the file to disk: with open("my-image.png", "wb") as file: file.write(output.read())
To learn more, take a look at the guide on getting started with Python.
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "version": "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a grassland with animals", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
You can run this model locally using Cog. First, install Cog:brew install cog
If you don’t have Homebrew, there are other installation options available.
Run this to download the model and run it in your local environment:
cog predict r8.im/adirik/syncdiffusion@sha256:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933 \ -i 'seed=2' \ -i 'width=2048' \ -i 'height=512' \ -i 'prompt="A photo of a grassland with animals"' \ -i 'stride=16' \ -i 'sync_freq=1' \ -i 'sync_weight=20' \ -i 'loop_closure=false' \ -i 'guidance_scale=7.5' \ -i 'sync_threshold=5' \ -i 'negative_prompt=""' \ -i 'sync_decay_rate=0.99' \ -i 'num_inference_steps=50'
To learn more, take a look at the Cog documentation.
Run this to download the model and run it in your local environment:
docker run -d -p 5000:5000 --gpus=all r8.im/adirik/syncdiffusion@sha256:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933
curl -s -X POST \ -H "Content-Type: application/json" \ -d $'{ "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a grassland with animals", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ http://localhost:5000/predictions
To learn more, take a look at the Cog documentation.
Output
{ "completed_at": "2024-01-29T11:42:52.731320Z", "created_at": "2024-01-29T11:39:09.915346Z", "data_removed": false, "error": null, "id": "iaaxyx3barbejqm3slkiqiuby4", "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "A photo of a grassland with animals", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }, "logs": "[INFO] number of views to process: 13\n[INFO] using exponential decay scheduler with decay rate 0.99\n 0%| | 0/50 [00:00<?, ?it/s]\n 2%|▏ | 1/50 [00:05<04:23, 5.38s/it]\n 4%|▍ | 2/50 [00:10<04:18, 5.39s/it]\n 6%|▌ | 3/50 [00:16<04:13, 5.40s/it]\n 8%|▊ | 4/50 [00:21<04:08, 5.40s/it]\n 10%|█ | 5/50 [00:27<04:03, 5.40s/it]\n 12%|█▏ | 6/50 [00:27<02:51, 3.89s/it]\n 14%|█▍ | 7/50 [00:28<02:05, 2.92s/it]\n 16%|█▌ | 8/50 [00:29<01:36, 2.29s/it]\n 18%|█▊ | 9/50 [00:30<01:16, 1.87s/it]\n 20%|██ | 10/50 [00:31<01:03, 1.59s/it]\n 22%|██▏ | 11/50 [00:32<00:54, 1.39s/it]\n 24%|██▍ | 12/50 [00:33<00:47, 1.26s/it]\n 26%|██▌ | 13/50 [00:34<00:42, 1.16s/it]\n 28%|██▊ | 14/50 [00:35<00:39, 1.10s/it]\n 30%|███ | 15/50 [00:36<00:36, 1.05s/it]\n 32%|███▏ | 16/50 [00:37<00:34, 1.02s/it]\n 34%|███▍ | 17/50 [00:38<00:32, 1.00it/s]\n 36%|███▌ | 18/50 [00:39<00:31, 1.02it/s]\n 38%|███▊ | 19/50 [00:40<00:30, 1.03it/s]\n 40%|████ | 20/50 [00:41<00:28, 1.04it/s]\n 42%|████▏ | 21/50 [00:42<00:27, 1.04it/s]\n 44%|████▍ | 22/50 [00:43<00:26, 1.05it/s]\n 46%|████▌ | 23/50 [00:44<00:25, 1.05it/s]\n 48%|████▊ | 24/50 [00:44<00:24, 1.05it/s]\n 50%|█████ | 25/50 [00:45<00:23, 1.05it/s]\n 52%|█████▏ | 26/50 [00:46<00:22, 1.06it/s]\n 54%|█████▍ | 27/50 [00:47<00:21, 1.06it/s]\n 56%|█████▌ | 28/50 [00:48<00:20, 1.06it/s]\n 58%|█████▊ | 29/50 [00:49<00:19, 1.06it/s]\n 60%|██████ | 30/50 [00:50<00:18, 1.06it/s]\n 62%|██████▏ | 31/50 [00:51<00:17, 1.06it/s]\n 64%|██████▍ | 32/50 [00:52<00:17, 1.06it/s]\n 66%|██████▌ | 33/50 [00:53<00:16, 1.06it/s]\n 68%|██████▊ | 34/50 [00:54<00:15, 1.06it/s]\n 70%|███████ | 35/50 [00:55<00:14, 1.06it/s]\n 72%|███████▏ | 36/50 [00:56<00:13, 1.06it/s]\n 74%|███████▍ | 37/50 [00:57<00:12, 1.06it/s]\n 76%|███████▌ | 38/50 [00:58<00:11, 1.06it/s]\n 78%|███████▊ | 39/50 [00:59<00:10, 1.06it/s]\n 80%|████████ | 40/50 [01:00<00:09, 1.06it/s]\n 82%|████████▏ | 41/50 [01:01<00:08, 1.06it/s]\n 84%|████████▍ | 42/50 [01:01<00:07, 1.06it/s]\n 86%|████████▌ | 43/50 [01:02<00:06, 1.05it/s]\n 88%|████████▊ | 44/50 [01:03<00:05, 1.06it/s]\n 90%|█████████ | 45/50 [01:04<00:04, 1.06it/s]\n 92%|█████████▏| 46/50 [01:05<00:03, 1.06it/s]\n 94%|█████████▍| 47/50 [01:06<00:02, 1.06it/s]\n 96%|█████████▌| 48/50 [01:07<00:01, 1.06it/s]\n 98%|█████████▊| 49/50 [01:08<00:00, 1.05it/s]\n100%|██████████| 50/50 [01:09<00:00, 1.05it/s]\n100%|██████████| 50/50 [01:09<00:00, 1.39s/it]\n[INFO] Done!", "metrics": { "predict_time": 71.464258, "total_time": 222.815974 }, "output": "https://replicate.delivery/pbxt/ag6X207wWm73CZ0wX3eWhqymBjotqUTcMfpXec1xwga2JoikA/output.png", "started_at": "2024-01-29T11:41:41.267062Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/iaaxyx3barbejqm3slkiqiuby4", "cancel": "https://api.replicate.com/v1/predictions/iaaxyx3barbejqm3slkiqiuby4/cancel" }, "version": "5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933" }
Generated in[INFO] number of views to process: 13 [INFO] using exponential decay scheduler with decay rate 0.99 0%| | 0/50 [00:00<?, ?it/s] 2%|▏ | 1/50 [00:05<04:23, 5.38s/it] 4%|▍ | 2/50 [00:10<04:18, 5.39s/it] 6%|▌ | 3/50 [00:16<04:13, 5.40s/it] 8%|▊ | 4/50 [00:21<04:08, 5.40s/it] 10%|█ | 5/50 [00:27<04:03, 5.40s/it] 12%|█▏ | 6/50 [00:27<02:51, 3.89s/it] 14%|█▍ | 7/50 [00:28<02:05, 2.92s/it] 16%|█▌ | 8/50 [00:29<01:36, 2.29s/it] 18%|█▊ | 9/50 [00:30<01:16, 1.87s/it] 20%|██ | 10/50 [00:31<01:03, 1.59s/it] 22%|██▏ | 11/50 [00:32<00:54, 1.39s/it] 24%|██▍ | 12/50 [00:33<00:47, 1.26s/it] 26%|██▌ | 13/50 [00:34<00:42, 1.16s/it] 28%|██▊ | 14/50 [00:35<00:39, 1.10s/it] 30%|███ | 15/50 [00:36<00:36, 1.05s/it] 32%|███▏ | 16/50 [00:37<00:34, 1.02s/it] 34%|███▍ | 17/50 [00:38<00:32, 1.00it/s] 36%|███▌ | 18/50 [00:39<00:31, 1.02it/s] 38%|███▊ | 19/50 [00:40<00:30, 1.03it/s] 40%|████ | 20/50 [00:41<00:28, 1.04it/s] 42%|████▏ | 21/50 [00:42<00:27, 1.04it/s] 44%|████▍ | 22/50 [00:43<00:26, 1.05it/s] 46%|████▌ | 23/50 [00:44<00:25, 1.05it/s] 48%|████▊ | 24/50 [00:44<00:24, 1.05it/s] 50%|█████ | 25/50 [00:45<00:23, 1.05it/s] 52%|█████▏ | 26/50 [00:46<00:22, 1.06it/s] 54%|█████▍ | 27/50 [00:47<00:21, 1.06it/s] 56%|█████▌ | 28/50 [00:48<00:20, 1.06it/s] 58%|█████▊ | 29/50 [00:49<00:19, 1.06it/s] 60%|██████ | 30/50 [00:50<00:18, 1.06it/s] 62%|██████▏ | 31/50 [00:51<00:17, 1.06it/s] 64%|██████▍ | 32/50 [00:52<00:17, 1.06it/s] 66%|██████▌ | 33/50 [00:53<00:16, 1.06it/s] 68%|██████▊ | 34/50 [00:54<00:15, 1.06it/s] 70%|███████ | 35/50 [00:55<00:14, 1.06it/s] 72%|███████▏ | 36/50 [00:56<00:13, 1.06it/s] 74%|███████▍ | 37/50 [00:57<00:12, 1.06it/s] 76%|███████▌ | 38/50 [00:58<00:11, 1.06it/s] 78%|███████▊ | 39/50 [00:59<00:10, 1.06it/s] 80%|████████ | 40/50 [01:00<00:09, 1.06it/s] 82%|████████▏ | 41/50 [01:01<00:08, 1.06it/s] 84%|████████▍ | 42/50 [01:01<00:07, 1.06it/s] 86%|████████▌ | 43/50 [01:02<00:06, 1.05it/s] 88%|████████▊ | 44/50 [01:03<00:05, 1.06it/s] 90%|█████████ | 45/50 [01:04<00:04, 1.06it/s] 92%|█████████▏| 46/50 [01:05<00:03, 1.06it/s] 94%|█████████▍| 47/50 [01:06<00:02, 1.06it/s] 96%|█████████▌| 48/50 [01:07<00:01, 1.06it/s] 98%|█████████▊| 49/50 [01:08<00:00, 1.05it/s] 100%|██████████| 50/50 [01:09<00:00, 1.05it/s] 100%|██████████| 50/50 [01:09<00:00, 1.39s/it] [INFO] Done!
Prediction
adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933IDu3yhuw3buzta577olxzep3ucr4StatusSucceededSourceWebHardwareA40Total durationCreatedInput
- seed
- 2
- width
- 2048
- height
- 512
- prompt
- A cinematic view of a castle in the sunset
- stride
- 16
- sync_freq
- 1
- sync_weight
- 20
- loop_closure
- guidance_scale
- 7.5
- sync_threshold
- 5
- negative_prompt
- sync_decay_rate
- 0.99
- num_inference_steps
- 50
{ "seed": 2, "width": 2048, "height": 512, "prompt": "A cinematic view of a castle in the sunset", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; import fs from "node:fs"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", { input: { seed: 2, width: 2048, height: 512, prompt: "A cinematic view of a castle in the sunset", stride: 16, sync_freq: 1, sync_weight: 20, loop_closure: false, guidance_scale: 7.5, sync_threshold: 5, negative_prompt: "", sync_decay_rate: 0.99, num_inference_steps: 50 } } ); // To access the file URL: console.log(output.url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", input={ "seed": 2, "width": 2048, "height": 512, "prompt": "A cinematic view of a castle in the sunset", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": False, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } ) # To access the file URL: print(output.url()) #=> "http://example.com" # To write the file to disk: with open("my-image.png", "wb") as file: file.write(output.read())
To learn more, take a look at the guide on getting started with Python.
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "version": "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "A cinematic view of a castle in the sunset", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
You can run this model locally using Cog. First, install Cog:brew install cog
If you don’t have Homebrew, there are other installation options available.
Run this to download the model and run it in your local environment:
cog predict r8.im/adirik/syncdiffusion@sha256:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933 \ -i 'seed=2' \ -i 'width=2048' \ -i 'height=512' \ -i 'prompt="A cinematic view of a castle in the sunset"' \ -i 'stride=16' \ -i 'sync_freq=1' \ -i 'sync_weight=20' \ -i 'loop_closure=false' \ -i 'guidance_scale=7.5' \ -i 'sync_threshold=5' \ -i 'negative_prompt=""' \ -i 'sync_decay_rate=0.99' \ -i 'num_inference_steps=50'
To learn more, take a look at the Cog documentation.
Run this to download the model and run it in your local environment:
docker run -d -p 5000:5000 --gpus=all r8.im/adirik/syncdiffusion@sha256:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933
curl -s -X POST \ -H "Content-Type: application/json" \ -d $'{ "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "A cinematic view of a castle in the sunset", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ http://localhost:5000/predictions
To learn more, take a look at the Cog documentation.
Output
{ "completed_at": "2024-01-29T11:43:01.058226Z", "created_at": "2024-01-29T11:39:30.559106Z", "data_removed": false, "error": null, "id": "u3yhuw3buzta577olxzep3ucr4", "input": { "seed": 2, "width": 2048, "height": 512, "prompt": "A cinematic view of a castle in the sunset", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }, "logs": "[INFO] number of views to process: 13\n[INFO] using exponential decay scheduler with decay rate 0.99\n/src/syncdiffusion/syncdiffusion_model.py:150: FutureWarning: Accessing config attribute `in_channels` directly via 'UNet2DConditionModel' object attribute is deprecated. Please access 'in_channels' over 'UNet2DConditionModel's config object instead, e.g. 'unet.config.in_channels'.\nlatent = torch.randn((1, self.unet.in_channels, height // 8, width // 8))\n 0%| | 0/50 [00:00<?, ?it/s]\n 2%|▏ | 1/50 [00:07<06:11, 7.58s/it]\n 4%|▍ | 2/50 [00:12<05:01, 6.28s/it]\n 6%|▌ | 3/50 [00:18<04:35, 5.86s/it]\n 8%|▊ | 4/50 [00:23<04:20, 5.67s/it]\n 10%|█ | 5/50 [00:29<04:10, 5.56s/it]\n 12%|█▏ | 6/50 [00:29<02:55, 3.99s/it]\n 14%|█▍ | 7/50 [00:30<02:08, 2.99s/it]\n 16%|█▌ | 8/50 [00:31<01:38, 2.34s/it]\n 18%|█▊ | 9/50 [00:32<01:17, 1.90s/it]\n 20%|██ | 10/50 [00:33<01:04, 1.60s/it]\n 22%|██▏ | 11/50 [00:34<00:54, 1.40s/it]\n 24%|██▍ | 12/50 [00:35<00:47, 1.26s/it]\n 26%|██▌ | 13/50 [00:36<00:43, 1.16s/it]\n 28%|██▊ | 14/50 [00:37<00:39, 1.10s/it]\n 30%|███ | 15/50 [00:38<00:36, 1.05s/it]\n 32%|███▏ | 16/50 [00:39<00:34, 1.02s/it]\n 34%|███▍ | 17/50 [00:40<00:32, 1.01it/s]\n 36%|███▌ | 18/50 [00:41<00:31, 1.02it/s]\n 38%|███▊ | 19/50 [00:42<00:29, 1.04it/s]\n 40%|████ | 20/50 [00:43<00:28, 1.04it/s]\n 42%|████▏ | 21/50 [00:44<00:27, 1.05it/s]\n 44%|████▍ | 22/50 [00:45<00:26, 1.05it/s]\n 46%|████▌ | 23/50 [00:45<00:25, 1.06it/s]\n 48%|████▊ | 24/50 [00:46<00:24, 1.06it/s]\n 50%|█████ | 25/50 [00:47<00:23, 1.06it/s]\n 52%|█████▏ | 26/50 [00:48<00:22, 1.06it/s]\n 54%|█████▍ | 27/50 [00:49<00:21, 1.06it/s]\n 56%|█████▌ | 28/50 [00:50<00:20, 1.06it/s]\n 58%|█████▊ | 29/50 [00:51<00:19, 1.06it/s]\n 60%|██████ | 30/50 [00:52<00:18, 1.06it/s]\n 62%|██████▏ | 31/50 [00:53<00:17, 1.06it/s]\n 64%|██████▍ | 32/50 [00:54<00:17, 1.06it/s]\n 66%|██████▌ | 33/50 [00:55<00:16, 1.06it/s]\n 68%|██████▊ | 34/50 [00:56<00:15, 1.06it/s]\n 70%|███████ | 35/50 [00:57<00:14, 1.06it/s]\n 72%|███████▏ | 36/50 [00:58<00:13, 1.06it/s]\n 74%|███████▍ | 37/50 [00:59<00:12, 1.06it/s]\n 76%|███████▌ | 38/50 [01:00<00:11, 1.06it/s]\n 78%|███████▊ | 39/50 [01:01<00:10, 1.06it/s]\n 80%|████████ | 40/50 [01:01<00:09, 1.06it/s]\n 82%|████████▏ | 41/50 [01:02<00:08, 1.06it/s]\n 84%|████████▍ | 42/50 [01:03<00:07, 1.06it/s]\n 86%|████████▌ | 43/50 [01:04<00:06, 1.06it/s]\n 88%|████████▊ | 44/50 [01:05<00:05, 1.06it/s]\n 90%|█████████ | 45/50 [01:06<00:04, 1.06it/s]\n 92%|█████████▏| 46/50 [01:07<00:03, 1.06it/s]\n 94%|█████████▍| 47/50 [01:08<00:02, 1.06it/s]\n 96%|█████████▌| 48/50 [01:09<00:01, 1.06it/s]\n 98%|█████████▊| 49/50 [01:10<00:00, 1.06it/s]\n100%|██████████| 50/50 [01:11<00:00, 1.06it/s]\n100%|██████████| 50/50 [01:11<00:00, 1.43s/it]\n[INFO] Done!", "metrics": { "predict_time": 73.898416, "total_time": 210.49912 }, "output": "https://replicate.delivery/pbxt/iIuWg5KXaAZiEd3loftSODcpPcqvYeFKaUSeJzCC9QAIKoikA/output.png", "started_at": "2024-01-29T11:41:47.159810Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/u3yhuw3buzta577olxzep3ucr4", "cancel": "https://api.replicate.com/v1/predictions/u3yhuw3buzta577olxzep3ucr4/cancel" }, "version": "5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933" }
Generated in[INFO] number of views to process: 13 [INFO] using exponential decay scheduler with decay rate 0.99 /src/syncdiffusion/syncdiffusion_model.py:150: FutureWarning: Accessing config attribute `in_channels` directly via 'UNet2DConditionModel' object attribute is deprecated. Please access 'in_channels' over 'UNet2DConditionModel's config object instead, e.g. 'unet.config.in_channels'. latent = torch.randn((1, self.unet.in_channels, height // 8, width // 8)) 0%| | 0/50 [00:00<?, ?it/s] 2%|▏ | 1/50 [00:07<06:11, 7.58s/it] 4%|▍ | 2/50 [00:12<05:01, 6.28s/it] 6%|▌ | 3/50 [00:18<04:35, 5.86s/it] 8%|▊ | 4/50 [00:23<04:20, 5.67s/it] 10%|█ | 5/50 [00:29<04:10, 5.56s/it] 12%|█▏ | 6/50 [00:29<02:55, 3.99s/it] 14%|█▍ | 7/50 [00:30<02:08, 2.99s/it] 16%|█▌ | 8/50 [00:31<01:38, 2.34s/it] 18%|█▊ | 9/50 [00:32<01:17, 1.90s/it] 20%|██ | 10/50 [00:33<01:04, 1.60s/it] 22%|██▏ | 11/50 [00:34<00:54, 1.40s/it] 24%|██▍ | 12/50 [00:35<00:47, 1.26s/it] 26%|██▌ | 13/50 [00:36<00:43, 1.16s/it] 28%|██▊ | 14/50 [00:37<00:39, 1.10s/it] 30%|███ | 15/50 [00:38<00:36, 1.05s/it] 32%|███▏ | 16/50 [00:39<00:34, 1.02s/it] 34%|███▍ | 17/50 [00:40<00:32, 1.01it/s] 36%|███▌ | 18/50 [00:41<00:31, 1.02it/s] 38%|███▊ | 19/50 [00:42<00:29, 1.04it/s] 40%|████ | 20/50 [00:43<00:28, 1.04it/s] 42%|████▏ | 21/50 [00:44<00:27, 1.05it/s] 44%|████▍ | 22/50 [00:45<00:26, 1.05it/s] 46%|████▌ | 23/50 [00:45<00:25, 1.06it/s] 48%|████▊ | 24/50 [00:46<00:24, 1.06it/s] 50%|█████ | 25/50 [00:47<00:23, 1.06it/s] 52%|█████▏ | 26/50 [00:48<00:22, 1.06it/s] 54%|█████▍ | 27/50 [00:49<00:21, 1.06it/s] 56%|█████▌ | 28/50 [00:50<00:20, 1.06it/s] 58%|█████▊ | 29/50 [00:51<00:19, 1.06it/s] 60%|██████ | 30/50 [00:52<00:18, 1.06it/s] 62%|██████▏ | 31/50 [00:53<00:17, 1.06it/s] 64%|██████▍ | 32/50 [00:54<00:17, 1.06it/s] 66%|██████▌ | 33/50 [00:55<00:16, 1.06it/s] 68%|██████▊ | 34/50 [00:56<00:15, 1.06it/s] 70%|███████ | 35/50 [00:57<00:14, 1.06it/s] 72%|███████▏ | 36/50 [00:58<00:13, 1.06it/s] 74%|███████▍ | 37/50 [00:59<00:12, 1.06it/s] 76%|███████▌ | 38/50 [01:00<00:11, 1.06it/s] 78%|███████▊ | 39/50 [01:01<00:10, 1.06it/s] 80%|████████ | 40/50 [01:01<00:09, 1.06it/s] 82%|████████▏ | 41/50 [01:02<00:08, 1.06it/s] 84%|████████▍ | 42/50 [01:03<00:07, 1.06it/s] 86%|████████▌ | 43/50 [01:04<00:06, 1.06it/s] 88%|████████▊ | 44/50 [01:05<00:05, 1.06it/s] 90%|█████████ | 45/50 [01:06<00:04, 1.06it/s] 92%|█████████▏| 46/50 [01:07<00:03, 1.06it/s] 94%|█████████▍| 47/50 [01:08<00:02, 1.06it/s] 96%|█████████▌| 48/50 [01:09<00:01, 1.06it/s] 98%|█████████▊| 49/50 [01:10<00:00, 1.06it/s] 100%|██████████| 50/50 [01:11<00:00, 1.06it/s] 100%|██████████| 50/50 [01:11<00:00, 1.43s/it] [INFO] Done!
Prediction
adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933IDdqfts6dbieut5axrxnfuqdmbo4StatusSucceededSourceWebHardwareA40Total durationCreatedInput
- seed
- 2
- width
- 512
- height
- 2048
- prompt
- A bird's eye view of an alley with shops
- stride
- 16
- sync_freq
- 1
- sync_weight
- 20
- loop_closure
- guidance_scale
- 7.5
- sync_threshold
- 5
- negative_prompt
- sync_decay_rate
- 0.99
- num_inference_steps
- 50
{ "seed": 2, "width": 512, "height": 2048, "prompt": "A bird's eye view of an alley with shops", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; import fs from "node:fs"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", { input: { seed: 2, width: 512, height: 2048, prompt: "A bird's eye view of an alley with shops", stride: 16, sync_freq: 1, sync_weight: 20, loop_closure: false, guidance_scale: 7.5, sync_threshold: 5, negative_prompt: "", sync_decay_rate: 0.99, num_inference_steps: 50 } } ); // To access the file URL: console.log(output.url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", input={ "seed": 2, "width": 512, "height": 2048, "prompt": "A bird's eye view of an alley with shops", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": False, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } ) # To access the file URL: print(output.url()) #=> "http://example.com" # To write the file to disk: with open("my-image.png", "wb") as file: file.write(output.read())
To learn more, take a look at the guide on getting started with Python.
Run adirik/syncdiffusion using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "version": "adirik/syncdiffusion:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933", "input": { "seed": 2, "width": 512, "height": 2048, "prompt": "A bird\'s eye view of an alley with shops", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
You can run this model locally using Cog. First, install Cog:brew install cog
If you don’t have Homebrew, there are other installation options available.
Run this to download the model and run it in your local environment:
cog predict r8.im/adirik/syncdiffusion@sha256:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933 \ -i 'seed=2' \ -i 'width=512' \ -i 'height=2048' \ -i $'prompt="A bird\'s eye view of an alley with shops"' \ -i 'stride=16' \ -i 'sync_freq=1' \ -i 'sync_weight=20' \ -i 'loop_closure=false' \ -i 'guidance_scale=7.5' \ -i 'sync_threshold=5' \ -i 'negative_prompt=""' \ -i 'sync_decay_rate=0.99' \ -i 'num_inference_steps=50'
To learn more, take a look at the Cog documentation.
Run this to download the model and run it in your local environment:
docker run -d -p 5000:5000 --gpus=all r8.im/adirik/syncdiffusion@sha256:5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933
curl -s -X POST \ -H "Content-Type: application/json" \ -d $'{ "input": { "seed": 2, "width": 512, "height": 2048, "prompt": "A bird\'s eye view of an alley with shops", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 } }' \ http://localhost:5000/predictions
To learn more, take a look at the Cog documentation.
Output
{ "completed_at": "2024-01-29T11:44:04.588744Z", "created_at": "2024-01-29T11:40:08.173621Z", "data_removed": false, "error": null, "id": "dqfts6dbieut5axrxnfuqdmbo4", "input": { "seed": 2, "width": 512, "height": 2048, "prompt": "A bird's eye view of an alley with shops", "stride": 16, "sync_freq": 1, "sync_weight": 20, "loop_closure": false, "guidance_scale": 7.5, "sync_threshold": 5, "negative_prompt": "", "sync_decay_rate": 0.99, "num_inference_steps": 50 }, "logs": "[INFO] number of views to process: 13\n[INFO] using exponential decay scheduler with decay rate 0.99\n 0%| | 0/50 [00:00<?, ?it/s]\n 2%|▏ | 1/50 [00:05<04:24, 5.39s/it]\n 4%|▍ | 2/50 [00:10<04:19, 5.40s/it]\n 6%|▌ | 3/50 [00:16<04:14, 5.41s/it]\n 8%|▊ | 4/50 [00:21<04:08, 5.41s/it]\n 10%|█ | 5/50 [00:27<04:03, 5.41s/it]\n 12%|█▏ | 6/50 [00:27<02:51, 3.89s/it]\n 14%|█▍ | 7/50 [00:28<02:05, 2.93s/it]\n 16%|█▌ | 8/50 [00:29<01:36, 2.30s/it]\n 18%|█▊ | 9/50 [00:30<01:16, 1.88s/it]\n 20%|██ | 10/50 [00:31<01:03, 1.59s/it]\n 22%|██▏ | 11/50 [00:32<00:54, 1.39s/it]\n 24%|██▍ | 12/50 [00:33<00:47, 1.26s/it]\n 26%|██▌ | 13/50 [00:34<00:43, 1.16s/it]\n 28%|██▊ | 14/50 [00:35<00:39, 1.10s/it]\n 30%|███ | 15/50 [00:36<00:36, 1.05s/it]\n 32%|███▏ | 16/50 [00:37<00:34, 1.02s/it]\n 34%|███▍ | 17/50 [00:38<00:32, 1.00it/s]\n 36%|███▌ | 18/50 [00:39<00:31, 1.02it/s]\n 38%|███▊ | 19/50 [00:40<00:30, 1.03it/s]\n 40%|████ | 20/50 [00:41<00:29, 1.03it/s]\n 42%|████▏ | 21/50 [00:42<00:27, 1.04it/s]\n 44%|████▍ | 22/50 [00:43<00:26, 1.05it/s]\n 46%|████▌ | 23/50 [00:44<00:25, 1.05it/s]\n 48%|████▊ | 24/50 [00:45<00:24, 1.05it/s]\n 50%|█████ | 25/50 [00:45<00:23, 1.05it/s]\n 52%|█████▏ | 26/50 [00:46<00:22, 1.05it/s]\n 54%|█████▍ | 27/50 [00:47<00:21, 1.05it/s]\n 56%|█████▌ | 28/50 [00:48<00:20, 1.05it/s]\n 58%|█████▊ | 29/50 [00:49<00:19, 1.05it/s]\n 60%|██████ | 30/50 [00:50<00:18, 1.05it/s]\n 62%|██████▏ | 31/50 [00:51<00:18, 1.05it/s]\n 64%|██████▍ | 32/50 [00:52<00:17, 1.05it/s]\n 66%|██████▌ | 33/50 [00:53<00:16, 1.05it/s]\n 68%|██████▊ | 34/50 [00:54<00:15, 1.05it/s]\n 70%|███████ | 35/50 [00:55<00:14, 1.05it/s]\n 72%|███████▏ | 36/50 [00:56<00:13, 1.05it/s]\n 74%|███████▍ | 37/50 [00:57<00:12, 1.05it/s]\n 76%|███████▌ | 38/50 [00:58<00:11, 1.05it/s]\n 78%|███████▊ | 39/50 [00:59<00:10, 1.05it/s]\n 80%|████████ | 40/50 [01:00<00:09, 1.05it/s]\n 82%|████████▏ | 41/50 [01:01<00:08, 1.05it/s]\n 84%|████████▍ | 42/50 [01:02<00:07, 1.05it/s]\n 86%|████████▌ | 43/50 [01:03<00:06, 1.05it/s]\n 88%|████████▊ | 44/50 [01:04<00:05, 1.06it/s]\n 90%|█████████ | 45/50 [01:04<00:04, 1.05it/s]\n 92%|█████████▏| 46/50 [01:05<00:03, 1.06it/s]\n 94%|█████████▍| 47/50 [01:06<00:02, 1.05it/s]\n 96%|█████████▌| 48/50 [01:07<00:01, 1.06it/s]\n 98%|█████████▊| 49/50 [01:08<00:00, 1.05it/s]\n100%|██████████| 50/50 [01:09<00:00, 1.05it/s]\n100%|██████████| 50/50 [01:09<00:00, 1.39s/it]\n[INFO] Done!", "metrics": { "predict_time": 71.581753, "total_time": 236.415123 }, "output": "https://replicate.delivery/pbxt/GU0UiJFzYKY3Ht3Wotv9HGqb9ypjKa7nv80tnewXDJ0BDqIJA/output.png", "started_at": "2024-01-29T11:42:53.006991Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/dqfts6dbieut5axrxnfuqdmbo4", "cancel": "https://api.replicate.com/v1/predictions/dqfts6dbieut5axrxnfuqdmbo4/cancel" }, "version": "5ea1d5f9fa17059c162571d5934ea8dcb754f5fcff6dd0db5533a7f314a8f933" }
Generated in[INFO] number of views to process: 13 [INFO] using exponential decay scheduler with decay rate 0.99 0%| | 0/50 [00:00<?, ?it/s] 2%|▏ | 1/50 [00:05<04:24, 5.39s/it] 4%|▍ | 2/50 [00:10<04:19, 5.40s/it] 6%|▌ | 3/50 [00:16<04:14, 5.41s/it] 8%|▊ | 4/50 [00:21<04:08, 5.41s/it] 10%|█ | 5/50 [00:27<04:03, 5.41s/it] 12%|█▏ | 6/50 [00:27<02:51, 3.89s/it] 14%|█▍ | 7/50 [00:28<02:05, 2.93s/it] 16%|█▌ | 8/50 [00:29<01:36, 2.30s/it] 18%|█▊ | 9/50 [00:30<01:16, 1.88s/it] 20%|██ | 10/50 [00:31<01:03, 1.59s/it] 22%|██▏ | 11/50 [00:32<00:54, 1.39s/it] 24%|██▍ | 12/50 [00:33<00:47, 1.26s/it] 26%|██▌ | 13/50 [00:34<00:43, 1.16s/it] 28%|██▊ | 14/50 [00:35<00:39, 1.10s/it] 30%|███ | 15/50 [00:36<00:36, 1.05s/it] 32%|███▏ | 16/50 [00:37<00:34, 1.02s/it] 34%|███▍ | 17/50 [00:38<00:32, 1.00it/s] 36%|███▌ | 18/50 [00:39<00:31, 1.02it/s] 38%|███▊ | 19/50 [00:40<00:30, 1.03it/s] 40%|████ | 20/50 [00:41<00:29, 1.03it/s] 42%|████▏ | 21/50 [00:42<00:27, 1.04it/s] 44%|████▍ | 22/50 [00:43<00:26, 1.05it/s] 46%|████▌ | 23/50 [00:44<00:25, 1.05it/s] 48%|████▊ | 24/50 [00:45<00:24, 1.05it/s] 50%|█████ | 25/50 [00:45<00:23, 1.05it/s] 52%|█████▏ | 26/50 [00:46<00:22, 1.05it/s] 54%|█████▍ | 27/50 [00:47<00:21, 1.05it/s] 56%|█████▌ | 28/50 [00:48<00:20, 1.05it/s] 58%|█████▊ | 29/50 [00:49<00:19, 1.05it/s] 60%|██████ | 30/50 [00:50<00:18, 1.05it/s] 62%|██████▏ | 31/50 [00:51<00:18, 1.05it/s] 64%|██████▍ | 32/50 [00:52<00:17, 1.05it/s] 66%|██████▌ | 33/50 [00:53<00:16, 1.05it/s] 68%|██████▊ | 34/50 [00:54<00:15, 1.05it/s] 70%|███████ | 35/50 [00:55<00:14, 1.05it/s] 72%|███████▏ | 36/50 [00:56<00:13, 1.05it/s] 74%|███████▍ | 37/50 [00:57<00:12, 1.05it/s] 76%|███████▌ | 38/50 [00:58<00:11, 1.05it/s] 78%|███████▊ | 39/50 [00:59<00:10, 1.05it/s] 80%|████████ | 40/50 [01:00<00:09, 1.05it/s] 82%|████████▏ | 41/50 [01:01<00:08, 1.05it/s] 84%|████████▍ | 42/50 [01:02<00:07, 1.05it/s] 86%|████████▌ | 43/50 [01:03<00:06, 1.05it/s] 88%|████████▊ | 44/50 [01:04<00:05, 1.06it/s] 90%|█████████ | 45/50 [01:04<00:04, 1.05it/s] 92%|█████████▏| 46/50 [01:05<00:03, 1.06it/s] 94%|█████████▍| 47/50 [01:06<00:02, 1.05it/s] 96%|█████████▌| 48/50 [01:07<00:01, 1.06it/s] 98%|█████████▊| 49/50 [01:08<00:00, 1.05it/s] 100%|██████████| 50/50 [01:09<00:00, 1.05it/s] 100%|██████████| 50/50 [01:09<00:00, 1.39s/it] [INFO] Done!
Want to make some of these yourself?
Run this model