GithubHelp home page GithubHelp logo

jina-ai / discoart Goto Github PK

View Code? Open in Web Editor NEW
3.8K 34.0 246.0 29.68 MB

๐Ÿชฉ Create Disco Diffusion artworks in one line

License: Other

Python 89.05% Shell 3.55% Jupyter Notebook 6.81% Dockerfile 0.59%
creative-ai disco-diffusion cross-modal dalle generative-art multimodal diffusion prompts midjourney imgen

discoart's People

Contributors

hanxiao avatar hugo-dz avatar jina-bot avatar joanfm avatar nan-wang avatar nick17t avatar thegenerativegeneration 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  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

discoart's Issues

The size of tensor a (50) must match the size of tensor b (82) at non-singleton dimension 0

Description

Pulling latest jinai/discoart image and running the following query results in the error displayed in the title.

Query

import requests
data = {
        "execEndpoint":"/create",
        "parameters":{
        'text_prompts': ['A bunny rabbit','4k resolution, cinematic lighting'],
        'init_image': None,
        'width_height': [512, 512],
        'skip_steps': 10,
        'steps': 1000,
        'cut_ic_pow': 1,
        'init_scale': 1000,
        'clip_guidance_scale': 80000,
        'tv_scale': 0,
        'range_scale': 150,
        'sat_scale': 0,
        'cutn_batches': 4,
        'diffusion_model': '512x512_diffusion_uncond_finetune_008100',
        'use_secondary_model': True,
        'diffusion_sampling_mode': 'ddim',
        'perlin_init': False,
        'perlin_mode': 'mixed',
        'seed': 3012672161,
        'eta': 0.8,
        'clamp_grad': True,
        'clamp_max': 0.05,
        'randomize_class': True,
        'clip_denoised': False,
        'fuzzy_prompt': False,
        'rand_mag': 0.05,
        'cut_overview': '[12]*400+[4]*600',
        'cut_innercut': '[4]*400+[12]*600',
        'cut_icgray_p': '[0.2]*400+[0]*600',
        'display_rate': 10,
        'n_batches': 1,
        'batch_size': 1,
        'batch_name': 'bunny_rabbit',
        'clip_models': ['ViT-B-32::openai', 'RN50x4::openai'],
        'name_docarray': 'test'
    }
}
res = requests.post("http://0.0.0.0:51001/post",json=data)

The stacktrace on the console:

  0%|          | 0/990 [00:02<?, ?it/s]
2022-07-18 19:02:44,146 - discoart - ERROR - The size of tensor a (50) must match the size of tensor b (82) at non-singleton dimension 0
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/discoart/create.py", line 176, in create
    do_run(_args, (model, diffusion, clip_models, secondary_model), device=device)
  File "/usr/local/lib/python3.8/dist-packages/discoart/runner.py", line 338, in do_run
    for j, sample in enumerate(samples):
  File "/usr/local/lib/python3.8/dist-packages/guided_diffusion/gaussian_diffusion.py", line 897, in ddim_sample_loop_progressive
    out = sample_fn(
  File "/usr/local/lib/python3.8/dist-packages/guided_diffusion/gaussian_diffusion.py", line 674, in ddim_sample
    out = self.condition_score(cond_fn, out_orig, x, t, model_kwargs=model_kwargs)
  File "/usr/local/lib/python3.8/dist-packages/guided_diffusion/respace.py", line 102, in condition_score
    return super().condition_score(self._wrap_model(cond_fn), *args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/guided_diffusion/gaussian_diffusion.py", line 399, in condition_score
    eps = eps - (1 - alpha_bar).sqrt() * cond_fn(
  File "/usr/local/lib/python3.8/dist-packages/guided_diffusion/respace.py", line 128, in __call__
    return self.model(x, new_ts, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/discoart/runner.py", line 216, in cond_fn
    model_stat['clip_model'].encode_image(clip_in).unsqueeze(1)
  File "/usr/local/lib/python3.8/dist-packages/open_clip/model.py", line 435, in encode_image
    return self.visual(image)
  File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/open_clip/model.py", line 189, in forward
    x = self.attnpool(x)
  File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/open_clip/model.py", line 81, in forward
    x = x + self.positional_embedding[:, None, :].to(x.dtype)  # (HW+1)NC
RuntimeError: The size of tensor a (50) must match the size of tensor b (82) at non-singleton dimension 0

Steps to reproduce

  1. Pull Latest Docker Image
docker pull jinaai/discoart:latest
  1. Run Container as Service
docker run --entrypoint "python" -p 51001:51001 -v $(pwd):/home/jovyan/ -v /data/home/jwelch/.cache:/root/.cache --gpus all jinaai/discoart -m discoart serv
  1. Execute the script shown in the above query from the local machine running the container.

System Specs

OS: Ubuntu 20.04
Linux picard 5.4.0-122-generic #138-Ubuntu SMP Wed Jun 22 15:00:31 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
GPU: Nvidia RTX Titan - 24GB
Python Version (outside of container): 3.10.4

Feature Request: Expose GPU device ID

I saw that the code currently does not allow one to select the torch device. Would it be possible to get this as a command line option? I wish to be able to call discoart using python -m discoart --cuda_device=2 or something like that.

Thanks!

Option to not not save GIF/Intermediates

I found the gif_fps option which I was hoping if I set to 0, would not render a GIF, however it just causes a divide by zero error :)

Is there a way we can expose a parameter to not save a GIF or progress PNGs to the filesystem and/or DocumentArray? They are quite large in size. If there's already this option, I may have overlooked it. I can delete the files manually afterwards on my end I suppose, but figured I'd check.

add web demo/model to Huggingface

Hi, would you be interested in adding discoart to Hugging Face? The Hub offers free hosting, and it would make your work more accessible and visible to the rest of the ML community. Models/datasets/spaces(web demos) can be added to a user account or organization similar to github. So a organization for jina-ai can be made for easy team collaboration and the repo called discoart would be under it.

Example from other organizations:
Keras: https://huggingface.co/keras-io
Microsoft: https://huggingface.co/microsoft
Facebook: https://huggingface.co/facebook

Example spaces with repos:
github: https://github.com/salesforce/BLIP
Spaces: https://huggingface.co/spaces/salesforce/BLIP

github: https://github.com/facebookresearch/omnivore
Spaces: https://huggingface.co/spaces/akhaliq/omnivore

and here are guides for adding spaces/models/datasets to your org

How to add a Space: https://huggingface.co/blog/gradio-spaces
how to add models: https://huggingface.co/docs/hub/adding-a-model
uploading a dataset: https://huggingface.co/docs/datasets/upload_dataset.html

Please let us know if you would be interested and if you have any questions, we can also help with the technical implementation.

FEAT: Save generation parameters in PNG metadata

This is something I added to my (heavily modified) 'CLIP_Guided_Diffusion_HQ_256x256' notebook last year.

Basically, just as $topic - store all of the parameters used to generate an image in the metadata of the image itself.

Example:
a beautiful painting of a flamingo zombie in the style of Kandinsky 0 7, the color from Accent in Rose 0 1, the pose from Lawrence's Pinkie 0 2

AFAICT, GitHub doesn't munge the image in any way, so opening it with something like TweakPNG (no affiliation) will let you easily read all of the metadata.

The code is pretty straightforward, something like this should suffice

# Required
from PIL.PngImagePlugin import PngInfo

# For example (not necessary)
from torchvision.transforms import functional as TF

# For e.g.
global_config = {
    'clip_guidance_scale': 1000,
    'perlin_init': True,
    'perlin_mode': 'gray',
    # etc.
}


# This stores each param as a separate metadata entry, but dumping the
# whole thing into one field would work just as well
def create_png_metadata(cfg):
    metadata = PngInfo()
    for key, value in cfg.items():
        try:
            metadata.add_text(f'AI_{key}', str(value))
        except UnicodeEncodeError:
            pass
    return metadata


this_metadata = create_png_metadata(global_config)
this_metadata.add_text('AI_this_filename', filename)

# Obviously this relies on tensorflow's image writing...
TF.to_pil_image(image).save(str(filename), pnginfo=this_metadata)

My first thought was to open a PR, but for the life of me, I can't find the image writing code... ๐Ÿ˜†

BUG: Attempting to use newly added diffusion model causes `UnpicklingError: invalid load key, 'v'`

Custom Colab notebook (same one I usually use without issues) running on a fresh instance (first generation attempt)

DiscoArt latest (0.7.12)

Trying to run

da = create(
    diffusion_model='Ukiyo-e_Diffusion_All_V1.by_thegenerativegeneration'
)

yields

---------------------------------------------------------------------------

UnpicklingError                           Traceback (most recent call last)

[<ipython-input-18-35d6c08ce68b>](https://localhost:8080/#) in <module>()
      1 da = create(
----> 2     diffusion_model='Ukiyo-e_Diffusion_All_V1.by_thegenerativegeneration'
      3 )

3 frames

[/usr/local/lib/python3.7/dist-packages/discoart/create.py](https://localhost:8080/#) in create(**kwargs)
    184 
    185     device = get_device()
--> 186     model, diffusion = load_diffusion_model(_args, device=device)
    187 
    188     clip_models = load_clip_models(

[/usr/local/lib/python3.7/dist-packages/discoart/helper.py](https://localhost:8080/#) in load_diffusion_model(user_args, device)
    408         model_filename = os.path.basename(models_list[_diff_model_name]['sources'][0])
    409         _model_path = os.path.join(cache_dir, model_filename)
--> 410     model.load_state_dict(torch.load(_model_path, map_location='cpu'))
    411     model.requires_grad_(False).eval().to(device)
    412 

[/usr/local/lib/python3.7/dist-packages/torch/serialization.py](https://localhost:8080/#) in load(f, map_location, pickle_module, **pickle_load_args)
    711                     return torch.jit.load(opened_file)
    712                 return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
--> 713         return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
    714 
    715 

[/usr/local/lib/python3.7/dist-packages/torch/serialization.py](https://localhost:8080/#) in _legacy_load(f, map_location, pickle_module, **pickle_load_args)
    918             "functionality.")
    919 
--> 920     magic_number = pickle_module.load(f, **pickle_load_args)
    921     if magic_number != MAGIC_NUMBER:
    922         raise RuntimeError("Invalid magic number; corrupt file?")

UnpicklingError: invalid load key, 'v'.
!nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv
!nvidia-smi

says

name, pci.bus_id, vbios_version
Tesla P100-PCIE-16GB, 00000000:00:04.0, 86.00.52.00.02
Sat Jul 23 23:44:24 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla P100-PCIE...  Off  | 00000000:00:04.0 Off |                    0 |
| N/A   43C    P0    28W / 250W |      2MiB / 16280MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

create is broken in 0.6.9

NameError Traceback (most recent call last)
Input In [6], in <cell line: 3>()
1 from discoart import create
----> 3 create()

File /usr/local/lib/python3.9/dist-packages/discoart/create.py:164, in create(**kwargs)
153 from .helper import (
154 load_diffusion_model,
155 load_clip_models,
(...)
160 logger,
161 )
163 device = get_device()
--> 164 model, diffusion = load_diffusion_model(_args, device=device)
166 clip_models = load_clip_models(
167 device, enabled=_args.clip_models, clip_models=_clip_models_cache
168 )
169 secondary_model = load_secondary_model(_args, device=device)

File /usr/local/lib/python3.9/dist-packages/discoart/helper.py:353, in load_diffusion_model(user_args, device)
350 def load_diffusion_model(user_args, device):
351 diffusion_model = user_args.diffusion_model
--> 353 _diff_model_name = _get_model_name(diffusion_model)
354 if _diff_model_name:
355 rec_size = models_list[_diff_model_name].get('recommended_size', None)

File /usr/local/lib/python3.9/dist-packages/discoart/helper.py:245, in _get_model_name(name)
244 def _get_model_name(name: str) -> str:
--> 245 for k in models_list.keys():
246 if k.startswith(name):
247 return k

NameError: name 'models_list' is not defined

How long does it take your GPU to run the demo?

Good evening,

Cool project, thank you!

How long should the demo take to process? It's currently running at ~2.00/it for me with a 3080.

from discoart import create

da = create()

After first running it, I received:

RuntimeError: CUDA out of memory. Tried to allocate 960.00 MiB (GPU 0; 9.78 GiB total capacity; 5.08 GiB already allocated; 785.88 MiB free; 6.73 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

So, I followed the instructions and ran the following (and it worked):

PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:793MiB python main.py

NVidia GTX 3080
Driver Version: 515.48.07
CUDA Version: 11.7

ViT-B-32::laion2b_e16 not working in 0.7.7

from discoart import create
da = create(clip_models=["ViT-B-32::laion2b_e16"])

2022-07-21 16:42:34,092 - discoart - ERROR - Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument index in method wrapper__index_select)
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/discoart/create.py", line 197, in create
    do_run(
  File "/usr/local/lib/python3.9/dist-packages/discoart/runner.py", line 94, in do_run
    txt = clip_model.encode_text(clip.tokenize(txt))
  File "/usr/local/lib/python3.9/dist-packages/open_clip/model.py", line 438, in encode_text
    x = self.token_embedding(text)  # [batch_size, n_ctx, d_model]
  File "/usr/local/lib/python3.9/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/torch/nn/modules/sparse.py", line 158, in forward
    return F.embedding(
  File "/usr/local/lib/python3.9/dist-packages/torch/nn/functional.py", line 2199, in embedding
    return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument index in method wrapper__index_select)

!nvidia-smi

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  RTX A4000           Off  | 00000000:00:05.0 Off |                  Off |
| 41%   48C    P8    17W / 140W |   3801MiB / 16117MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

0.9.0 bug

image
After I upgraded, the service failed to start. Trying to reinstall doesn't work either

0.7.3 create bug

1, 0.7.3 version seems to have errors using serve, the reason should be stop_event and skip_event. Fallback to 0.7.2 version is normal
2,I tried to modify /create api to return state synchronously and execute create asynchronously. Sorry I'm not familiar with Python and jina

Large Memory Usage During Diffusion

During a diffusion with the following parameters I am getting what I think is a very high memory usage (though maybe not? I am honestly not sure)

Diffusion parameters

{
    "text_prompts": ["a magical realism painting of a rainbow colored kiwi bird surrounded by fractal mist, standing on a forest floor:3.5","forest:1.2","4k resolution, cinematic lighting:3.5"],
    "init_image": null,
    "width_height": [1536, 768],
    "skip_steps": 10,
    "steps": 1000,
    "cut_ic_pow": 1,
    "init_scale": 1000,
    "clip_guidance_scale": 80000,
    "tv_scale": 0,
    "range_scale": 150,
    "sat_scale": 0,
    "cutn_batches": 4,
    "diffusion_model": "512x512_diffusion_uncond_finetune_008100",
    "use_secondary_model": true,
    "diffusion_sampling_mode": "ddim",
    "perlin_init": false,
    "perlin_mode": "mixed",
    "seed": 3012672161,
    "eta": 0.8,
    "clamp_grad": true,
    "clamp_max": 0.05,
    "randomize_class": true,
    "clip_denoised": false,
    "fuzzy_prompt": false,
    "rand_mag": 0.05,
    "cut_overview": "[12]*400+[4]*600",
    "cut_innercut": "[4]*400+[12]*600",
    "cut_icgray_p": "[0.2]*400+[0]*600",
    "display_rate": 10,
    "n_batches": 1,
    "batch_size": 1,
    "batch_name": "kiwi_test",
    "clip_models": ["ViT-B-32::openai","ViT-B-16::openai","RN50x4::openai"],
    "name_docarray": "test"
}

Output of htop
image

my flow yaml (only change is floating=true)

jtype: Flow
with:
  protocol: http
  monitoring: true
  cors: true
  port: 51001
  port_monitoring: 51002  # prometheus monitoring port
  env:
    JINA_LOG_LEVEL: debug
    DISCOART_DISABLE_IPYTHON: 1
    DISCOART_DISABLE_RESULT_SUMMARY: 1
executors:
  - name: discoart
    uses: DiscoArtExecutor
    env:
      CUDA_VISIBLE_DEVICES: RR0:2  # change this if you have multiple GPU
    replicas: 1  # change this if you have larger VRAM
    floating: true  # new feature in Jina 3.7, set this to true allows `create` to be immediately returned without waiting the response on the client
  - name: poller
    uses: ResultPoller

System Specs

OS: Ubuntu Server 20.04
 -- Linux 5.4.0-122-generic #138-Ubuntu SMP Wed Jun 22 15:00:31 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Memory: 32GB
GPU: NVidia RTX Titan - 24GB

The memory usage does appear to increase as the session progresses -- here is the output from htop at iteration 660/1000
image

It is hard to tell if this is a memory leak, or if it is simply the in memory cache of the docArray growing as more frames are rendered?

Suggestion: Remove text_prompts from default arguments

I understand your rationale for permitting a beginner user to run create() without arguments, but adding a default prompt might be a little surprising to new users. I think the affordance of requiring the prompt by default seems more reasonable. New users understand the need to input text but it might be confusing to be confronted by a simple function call without any arguments.

problems with serving over grpc

environment: docker container on vast.ai
config:

jtype: Flow
with:
  protocol: grpc
  monitoring: true
  cors: true
  port: 51001
  port_monitoring: 51002  # prometheus monitoring port
  env:
    JINA_LOG_LEVEL: debug
    DISCOART_DISABLE_IPYTHON: 1
    DISCOART_DISABLE_RESULT_SUMMARY: 1
executors:
  - name: discoart
    uses: DiscoArtExecutor
    env:
      CUDA_VISIBLE_DEVICES: RR0:2  # change this if you have multiple GPU
    replicas: 1  # change this if you have larger VRAM
    floating: true  # new feature in Jina 3.7, set this to true allows `create` to be immediately returned without waiting the response on the client
  - name: poller
    uses: ResultPoller

I can send requests to the server and they are received, but the server apparently has problems with the request

DEBUG  poller/rep-0@628 recv DataRequest at /create with id: 252ad77800c84b47a08503eea7c661ce                                                                                                                                                       [07/24/22 22:56:11]
DEBUG  poller/rep-0@628 skip executor: mismatch request, exec_endpoint: /create, requests: {'/result': <function ResultPoller.poll_results at 0x7f891edb0040>, '_jina_dry_run_': <bound method BaseExecutor._dry_run_func of                                           
       <discoart.executors.ResultPoller object at 0x7f891a633220>>}                                                                                                                                                                                                    
DEBUG  discoart/rep-0@627 recv DataRequest at /create with id: 252ad77800c84b47a08503eea7c661ce                                                                                                                                                     [07/24/22 22:56:11]
DEBUG  poller/rep-0@628 got an endpoint discovery request                                                                                                                                                                                                              
DEBUG  discoart/rep-0@627 got an endpoint discovery request            

the create command is then executed with default parameters instead of throwing an error.

RuntimeError: CUDA out of memory.

Hello, boss, I use the CPU version of pytorch. I can run normally. Set n_ Batches=1, I have been running on my computer for 6 hours.....
I feel that the CPU version of pytorch runs too slowly, and then I switch to its GPU version, and then this error occurs. Is it because my 4096mib GPU memory cannot play with it.
How much GPU memory does the project need to run???

nvidia-smi
image

default.yml
image

error message
RuntimeError: CUDA out of memory. Tried to allocate 240.00 MiB (GPU 0; 4.00 GiB total capacity; 2.79 GiB already allocated; 0 bytes free; 2.82 GiB reserved in total by PyTorch)

Program code
image

Pytorch CPU version works normally. I just wonder if there is a way to use CPU and GPU at the same time, so my machine may run very fast.
image
image

CUDA memory error since last update

Since pulling the latest jinaai/discoart docker image -- my parameter set which worked without issue before is now causing CUDA OOM errors.

The parameter set being used is as follows:

params = {
        'text_prompts': ['A bunny rabbit','4k resolution, cinematic lighting'],
        'init_image': None,
        'width_height': [512, 512],
        'skip_steps': 10,
        'steps': 1000,
        'cut_ic_pow': 1,
        'init_scale': 1000,
        'clip_guidance_scale': 80000,
        'tv_scale': 0,
        'range_scale': 150,
        'sat_scale': 0,
        'cutn_batches': 4,
        'diffusion_model': '512x512_diffusion_uncond_finetune_008100',
        'use_secondary_model': True,
        'diffusion_sampling_mode': 'ddim',
        'perlin_init': False,
        'perlin_mode': 'mixed',
        'seed': 3012672161,
        'eta': 0.8,
        'clamp_grad': True,
        'clamp_max': 0.05,
        'randomize_class': True,
        'clip_denoised': False,
        'fuzzy_prompt': False,
        'rand_mag': 0.05,
        'cut_overview': '[12]*400+[4]*600',
        'cut_innercut': '[4]*400+[12]*600',
        'cut_icgray_p': '[0.2]*400+[0]*600',
        'display_rate': 10,
        'n_batches': 1,
        'batch_size': 1,
        'batch_name': 'bunny_rabbit',
        'clip_models': ['ViT-B-32::openai', 'RN50x4::openai'],
        'name_docarray': 'test'
    }

This is running on a small 1060 -- but this worked without issue prior to pulling this new image -- is there a setting that has changed which may have increased the memory footprint?

The digest of the image that worked is

REPOSITORY          TAG                               DIGEST                                                                    IMAGE ID       CREATED       SIZE
jinaai/discoart     latest                            sha256:aad5c0e51b601897c035e615e15a90e7263270c6da22fd294ff07f32e964dce0   60d78ef5ab4a   2 weeks ago   14.1GB

but oddly I cannot find the tag of an image on dockerhub that has this hash anymore.

EDIT: I pulled jinaai/discoart:0.0.18 and the above params work again -- i'll test other versions and see if I can find where the change occurred.

Very slow generation on V100 and ViT-B-32::laion2b_e16

Version 0.7.0

I haven't tested other weights but ViT-B-32::laion2b_e16 is running extremely slowly on 0.7.0

Here is a minimal test:

create(clip_models=[ "ViT-B-32::laion2b_e16"])

I am getting around 32 seconds per iterations whereas with previous versions it would be less than 2 seconds.

GPU available, but not found by discoart

System is NVIDIA Jetson Orin

GPU is enabled, and OpenCV finds it with a trivial Python example which I can provide if needed:

['NVIDIA CUDA: YES (ver 11.4, CUFFT CUBLAS FAST_MATH)', 'NVIDIA GPU arch: 53 62 72 87', 'NVIDIA PTX archs:', 'cuDNN: YES (ver 8.0)']

However, discoart does not?

RuntimeError: CUDA is not available. DiscoArt is unbearably slow on CPU. Please switch to GPU device, if you are using Google Colab, then free tier would work.

Suspect this is possibly Pytorch not happy about the driver v. cuda version?

Error on serve

ConstructorError: could not determine a constructor for the tag '!ResultPoller'                       
         in "<unicode string>", line 1, column 1:                                                            
           !ResultPoller                                                                                     
             

Sadly I don't have the full error. Environment is docker. Probably 0.8.1 or 0.8.2. python -m discoart serve crashes.

Configurable models

First of all, thank you so much for creating discoart! I use it now instead of the original Disco Diffusion notebook as I don't need animation, and my notebook looks much tidier now.

IIUC models are hardcoded there

ViTB32 = True # @param{type:"boolean"}
Are there any plans to make them configurable?

RuntimeError: CUDA out of memory

from discoart import create
da = create()

RuntimeError: CUDA out of memory. Tried to allocate 960.00 MiB (GPU 0; 7.43 GiB total capacity; 5.67 GiB already allocated; 934.44 MiB free; 5.91 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

0 Tesla P4 Off | 00000000:3B:00.0 Off | 0 |
| N/A 42C P0 24W / 75W | 10MiB / 7611MiB | 0% Default

Running create() in Colab Notebook results in the following error

The error doesn't stop the image processing or the image preview

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 501, in plot_image_sprites
    ] = _d.tensor
ValueError: could not broadcast input array from shape (63,51,3) into shape (0,51,3)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.7/dist-packages/discoart/runner.py", line 447, in _plot_sample
    keep_aspect_ratio=True,
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 506, in plot_image_sprites
    ) from ex
ValueError: Bad image tensor. Try different `image_source` or `channel_axis`

Exception in thread Thread-2799:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 501, in plot_image_sprites
    ] = _d.tensor
ValueError: could not broadcast input array from shape (57,46,3) into shape (0,46,3)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.7/dist-packages/discoart/runner.py", line 447, in _plot_sample
    keep_aspect_ratio=True,
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 506, in plot_image_sprites
    ) from ex
ValueError: Bad image tensor. Try different `image_source` or `channel_axis`

Exception in thread Thread-2855:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 501, in plot_image_sprites
    ] = _d.tensor
ValueError: could not broadcast input array from shape (57,46,3) into shape (0,46,3)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.7/dist-packages/discoart/runner.py", line 447, in _plot_sample
    keep_aspect_ratio=True,
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 506, in plot_image_sprites
    ) from ex
ValueError: Bad image tensor. Try different `image_source` or `channel_axis`

Exception in thread Thread-2907:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 501, in plot_image_sprites
    ] = _d.tensor
ValueError: could not broadcast input array from shape (52,42,3) into shape (0,42,3)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.7/dist-packages/discoart/runner.py", line 447, in _plot_sample
    keep_aspect_ratio=True,
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 506, in plot_image_sprites
    ) from ex
ValueError: Bad image tensor. Try different `image_source` or `channel_axis`

Exception in thread Thread-2917:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 501, in plot_image_sprites
    ] = _d.tensor
ValueError: could not broadcast input array from shape (52,42,3) into shape (0,42,3)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.7/dist-packages/discoart/runner.py", line 447, in _plot_sample
    keep_aspect_ratio=True,
  File "/usr/local/lib/python3.7/dist-packages/docarray/array/mixins/plot.py", line 506, in plot_image_sprites
    ) from ex
ValueError: Bad image tensor. Try different `image_source` or `channel_axis````

Quick Question

Why does the 336 model completely deep fry the colors in the generated image?

The colors look super bright and clipping.

discoart - ERROR - no valid convolution algorithms available in CuDNN

I get this error when running at default settings but at a lower res it works. I have a 3060 laptop GPU. Is there any way to either fix this or changes in the config/model to get it to run?

erorr code:

2022-07-24 08:34:25,235 - discoart - ERROR - no valid convolution algorithms available in CuDNN
Traceback (most recent call last):
  File "C:\Users\maxro\AppData\Local\Programs\Python\Python310\lib\site-packages\discoart\create.py", line 205, in create
    do_run(
  File "C:\Users\maxro\AppData\Local\Programs\Python\Python310\lib\site-packages\discoart\runner.py", line 357, in do_run
    for j, sample in enumerate(samples):
  File "C:\Users\maxro\AppData\Local\Programs\Python\Python310\lib\site-packages\guided_diffusion\gaussian_diffusion.py", line 897, in ddim_sample_loop_progressive
    out = sample_fn(
  File "C:\Users\maxro\AppData\Local\Programs\Python\Python310\lib\site-packages\guided_diffusion\gaussian_diffusion.py", line 674, in ddim_sample
    out = self.condition_score(cond_fn, out_orig, x, t, model_kwargs=model_kwargs)
  File "C:\Users\maxro\AppData\Local\Programs\Python\Python310\lib\site-packages\guided_diffusion\respace.py", line 102, in condition_score
    return super().condition_score(self._wrap_model(cond_fn), *args, **kwargs)
  File "C:\Users\maxro\AppData\Local\Programs\Python\Python310\lib\site-packages\guided_diffusion\gaussian_diffusion.py", line 399, in condition_score
    eps = eps - (1 - alpha_bar).sqrt() * cond_fn(
  File "C:\Users\maxro\AppData\Local\Programs\Python\Python310\lib\site-packages\guided_diffusion\respace.py", line 128, in __call__
    return self.model(x, new_ts, **kwargs)
  File "C:\Users\maxro\AppData\Local\Programs\Python\Python310\lib\site-packages\discoart\runner.py", line 250, in cond_fn
    torch.autograd.grad(
  File "C:\Users\maxro\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\autograd\__init__.py", line 276, in grad
    return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
RuntimeError: no valid convolution algorithms available in CuDNN

Configurable model cache directory

Hi,

At the moment, it looks like the model cache directory is hard coded:

cache_dir = f'{expanduser("~")}/.cache/{__package__}'

As I already have various model files downloaded to a central, shared directory, I was wondering if it would be possible to make this configurable also?

Thanks!

weird error

Running on CPU or GPU does not work on local machine. Installed via Github desktop. Error message appeared after model is cached. Tried to install cuda which runs disco diffusion, but not discoart?

discoart_test.py
from discoart import create
da = create()

Traceback (most recent call last): File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 790, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "D:\sites\discoart\discoart\helper.py", line 15, in <module> from open_clip import SimpleTokenizer File "D:\sites\discoart\venv\lib\site-packages\open_clip\__init__.py", line 2, in <module> from .loss import ClipLoss File "D:\sites\discoart\venv\lib\site-packages\open_clip\loss.py", line 2, in <module> import torch.distributed.nn File "D:\sites\discoart\venv\lib\site-packages\torch\distributed\nn\__init__.py", line 1, in <module> from .api.remote_module import RemoteModule File "D:\sites\discoart\venv\lib\site-packages\torch\distributed\nn\api\remote_module.py", line 25, in <module> from torch.distributed.rpc.internal import _internal_rpc_pickler File "D:\sites\discoart\venv\lib\site-packages\torch\distributed\rpc\internal.py", line 12, in <module> from torch._C._distributed_rpc import _get_current_rpc_agent ModuleNotFoundError: No module named 'torch._C._distributed_rpc'; 'torch._C' is not a package python-BaseException

TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

When running with default values i'm getting an int error, it seems to be related with the new commits today

from discoart import create

da = create()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
[<ipython-input-2-1e3f89937ed5>](https://localhost:8080/#) in <module>()
----> 1 da = create()

1 frames
[/usr/local/lib/python3.7/dist-packages/discoart/config.py](https://localhost:8080/#) in load_config(user_config)
     28     for k, v in cfg.items():
     29         if k in ('batch_size', 'display_rate', 'seed', 'skip_steps', 'steps', 'n_batches', 'cutn_batches'):
---> 30             cfg[k] = int(v)
     31         if k == 'width_height':
     32             cfg[k] = [int(vv) for vv in v]

TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

thanks

loading custom diffusion model does not work

Environment is colab with P100.

When I add a custom model config

 {
      'attention_resolutions': '16',
      'class_cond': False,
      'diffusion_steps': 1000,
      'rescale_timesteps': True,
      'timestep_respacing': 'ddim100',
      'image_size': 256,
      'learn_sigma': True,
      'noise_schedule': 'linear',
      'num_channels': 128,
      'num_heads': 1,
      'num_res_blocks': 2,
      'use_checkpoint': True,
      'use_scale_shift_norm': False,
      'use_fp16': True
  }

(which worked for me in other disco forks and is actually identical with the one in discoart/helper.py:336-353) I get:

RuntimeError: Error(s) in loading state_dict for UNetModel: Missing key(s) in state_dict: "input_blocks.3.0.in_layers.0.weight", "input_blocks.3.0.in_layers.0.bias", "input_blocks.3.0.in_layers.2.weight", "input_blocks.3.0.in_layers.2.bias", "input_blocks.3.0.emb_layers.1.weight", "input_blocks.3.0.emb_layers.1.bias", "input_blocks.3.0.out_layers.0.weight", "input_blocks.3.0.out_layers.0.bias", "input_blocks.3.0.out_layers.3.weight", "input_blocks.3.0.out_layers.3.bias", "input_blocks.6.0.in_layers.0.weight", "input_blocks.6.0.in_layers.0.bias", "input_blocks.6.0.in_layers.2.weight", "input_blocks.6.0.in_layers.2.bias", "input_blocks.6.0.emb_layers.1.weight", "input_blocks.6.0.emb_layers.1.bias", "input_blocks.6.0.out_layers.0.weight", "input_blocks.6.0.out_layers.0.bias", "input_blocks.6.0.out_layers.3.weight", "input_blocks.6.0.out_layers.3.bias", "input_blocks.9.0.in_layers.0.weight", "input_blocks.9.0.in_layers.0.bias", "input_blocks.9.0.in_layers.2.weight", "input_blocks.9.0.in_layers.2.bias", "input_blocks.9.0.emb_layers.1.weight", "input_blocks.9.0.emb_layers.1.bias", "input_blocks.9.0.out_layers.0.weight", "input_blocks.9.0.out_layers.0.bias", "input_blocks.9.0.out_layers.3.weight", "input_blocks.9.0.out_layers.3.bias", "input_blocks.12.0.in_layers.0.weight", "input_blocks.12.0.in_layers.0.bias", "input_blocks.12.0.in_layers.2.weight", "input_blocks.12.0.in_layers.2.bias", "input_blocks.12.0.emb_layers.1.weight", "input_blocks.12.0.emb_layers.1.bias", "input_blocks.12.0.out_layers.0.weight", "input_blocks.12.0.out_layers.0... Unexpected key(s) in state_dict: "input_blocks.3.0.op.weight", "input_blocks.3.0.op.bias", "input_blocks.6.0.op.weight", "input_blocks.6.0.op.bias", "input_blocks.9.0.op.weight", "input_blocks.9.0.op.bias", "input_blocks.12.0.op.weight", "input_blocks.12.0.op.bias", "input_blocks.15.0.op.weight", "input_blocks.15.0.op.bias", "output_blocks.2.1.conv.weight", "output_blocks.2.1.conv.bias", "output_blocks.5.2.conv.weight", "output_blocks.5.2.conv.bias", "output_blocks.8.1.conv.weight", "output_blocks.8.1.conv.bias", "output_blocks.11.1.conv.weight", "output_blocks.11.1.conv.bias", "output_blocks.14.1.conv.weight", "output_blocks.14.1.conv.bias".

when I instead don't give an additional config, the error is different. That should not be the case, right? If the model name points to a file, the custom model config should be loaded.

RuntimeError: Error(s) in loading state_dict for UNetModel:
	Missing key(s) in state_dict: "input_blocks.3.0.in_layers.0.weight", "input_blocks.3.0.in_layers.0.bias", "input_blocks.3.0.in_layers.2.weight", "input_blocks.3.0.in_layers.2.bias", "input_blocks.3.0.emb_layers.1.weight", "input_blocks.3.0.emb_layers.1.bias", "input_blocks.3.0.out_layers.0.weight", "input_blocks.3.0.out_layers.0.bias", "input_blocks.3.0.out_layers.3.weight", "input_blocks.3.0.out_layers.3.bias", "input_blocks.4.0.skip_connection.weight", "input_blocks.4.0.skip_connection.bias", "input_blocks.6.0.in_layers.0.weight", "input_blocks.6.0.in_layers.0.bias", "input_blocks.6.0.in_layers.2.weight", "input_blocks.6.0.in_layers.2.bias", "input_blocks.6.0.emb_layers.1.weight", "input_blocks.6.0.emb_layers.1.bias", "input_blocks.6.0.out_layers.0.weight", "input_blocks.6.0.out_layers.0.bias", "input_blocks.6.0.out_layers.3.weight", "input_blocks.6.0.out_layers.3.bias", "input_blocks.9.0.in_layers.0.weight", "input_blocks.9.0.in_layers.0.bias", "input_blocks.9.0.in_layers.2.weight", "input_blocks.9.0.in_layers.2.bias", "input_blocks.9.0.emb_layers.1.weight", "input_blocks.9.0.emb_layers.1.bias", "input_blocks.9.0.out_layers.0.weight", "input_blocks.9.0.out_layers.0.bias", "input_blocks.9.0.out_layers.3.weight", "input_blocks.9.0.out_layers.3.bias", "input_blocks.10.0.skip_connection.weight", "input_blocks.10.0.skip_connection.bias", "input_blocks.12.0.in_layers.0.weight", "input_blocks.12.0.in_layers.0.bias", "input_blocks.12.0.in_layers.2.weight", "input_blocks.12.0.i...
	Unexpected key(s) in state_dict: "input_blocks.3.0.op.weight", "input_blocks.3.0.op.bias", "input_blocks.6.0.op.weight", "input_blocks.6.0.op.bias", "input_blocks.7.0.skip_connection.weight", "input_blocks.7.0.skip_connection.bias", "input_blocks.9.0.op.weight", "input_blocks.9.0.op.bias", "input_blocks.12.0.op.weight", "input_blocks.12.0.op.bias", "input_blocks.13.0.skip_connection.weight", "input_blocks.13.0.skip_connection.bias", "input_blocks.15.0.op.weight", "input_blocks.15.0.op.bias", "output_blocks.2.1.conv.weight", "output_blocks.2.1.conv.bias", "output_blocks.5.2.conv.weight", "output_blocks.5.2.conv.bias", "output_blocks.8.1.conv.weight", "output_blocks.8.1.conv.bias", "output_blocks.11.1.conv.weight", "output_blocks.11.1.conv.bias", "output_blocks.14.1.conv.weight", "output_blocks.14.1.conv.bias". 
	size mismatch for time_embed.0.weight: copying a param with shape torch.Size([512, 128]) from checkpoint, the shape in current model is torch.Size([1024, 256]).
	size mismatch for time_embed.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for time_embed.2.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for time_embed.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.1.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([256, 1024]).
	size mismatch for input_blocks.1.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.2.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([256, 1024]).
	size mismatch for input_blocks.2.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.4.0.in_layers.2.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 128, 3, 3]).
	size mismatch for input_blocks.4.0.in_layers.2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.4.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for input_blocks.4.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.4.0.out_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.4.0.out_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.4.0.out_layers.3.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for input_blocks.4.0.out_layers.3.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.5.0.in_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.5.0.in_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.5.0.in_layers.2.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for input_blocks.5.0.in_layers.2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.5.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for input_blocks.5.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.5.0.out_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.5.0.out_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.5.0.out_layers.3.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for input_blocks.5.0.out_layers.3.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.7.0.in_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.7.0.in_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for input_blocks.7.0.in_layers.2.weight: copying a param with shape torch.Size([256, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for input_blocks.7.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for input_blocks.7.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.8.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for input_blocks.8.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.10.0.in_layers.2.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 256, 3, 3]).
	size mismatch for input_blocks.10.0.in_layers.2.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.10.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for input_blocks.10.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.10.0.out_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.10.0.out_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.10.0.out_layers.3.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for input_blocks.10.0.out_layers.3.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.11.0.in_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.11.0.in_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.11.0.in_layers.2.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for input_blocks.11.0.in_layers.2.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.11.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for input_blocks.11.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.11.0.out_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.11.0.out_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.11.0.out_layers.3.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for input_blocks.11.0.out_layers.3.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.13.0.in_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.13.0.in_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for input_blocks.13.0.in_layers.2.weight: copying a param with shape torch.Size([512, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for input_blocks.13.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for input_blocks.13.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.14.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for input_blocks.14.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.16.0.in_layers.2.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 512, 3, 3]).
	size mismatch for input_blocks.16.0.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.16.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for input_blocks.16.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for input_blocks.16.0.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.16.0.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.16.0.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for input_blocks.16.0.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.17.0.in_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.17.0.in_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.17.0.in_layers.2.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for input_blocks.17.0.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.17.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for input_blocks.17.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for input_blocks.17.0.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.17.0.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for input_blocks.17.0.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for input_blocks.17.0.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.0.in_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.0.in_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.0.in_layers.2.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for middle_block.0.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for middle_block.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for middle_block.0.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.0.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.0.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for middle_block.0.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.1.norm.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.1.norm.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.1.qkv.weight: copying a param with shape torch.Size([1536, 512, 1]) from checkpoint, the shape in current model is torch.Size([3072, 1024, 1]).
	size mismatch for middle_block.1.qkv.bias: copying a param with shape torch.Size([1536]) from checkpoint, the shape in current model is torch.Size([3072]).
	size mismatch for middle_block.1.proj_out.weight: copying a param with shape torch.Size([512, 512, 1]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 1]).
	size mismatch for middle_block.1.proj_out.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.2.in_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.2.in_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.2.in_layers.2.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for middle_block.2.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.2.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for middle_block.2.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for middle_block.2.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.2.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for middle_block.2.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for middle_block.2.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.0.0.in_layers.0.weight: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.0.0.in_layers.0.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.0.0.in_layers.2.weight: copying a param with shape torch.Size([512, 1024, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 3, 3]).
	size mismatch for output_blocks.0.0.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.0.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for output_blocks.0.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.0.0.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.0.0.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.0.0.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for output_blocks.0.0.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.0.0.skip_connection.weight: copying a param with shape torch.Size([512, 1024, 1, 1]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 1, 1]).
	size mismatch for output_blocks.0.0.skip_connection.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.1.0.in_layers.0.weight: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.1.0.in_layers.0.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.1.0.in_layers.2.weight: copying a param with shape torch.Size([512, 1024, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 3, 3]).
	size mismatch for output_blocks.1.0.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.1.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for output_blocks.1.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.1.0.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.1.0.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.1.0.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for output_blocks.1.0.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.1.0.skip_connection.weight: copying a param with shape torch.Size([512, 1024, 1, 1]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 1, 1]).
	size mismatch for output_blocks.1.0.skip_connection.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.2.0.in_layers.0.weight: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.2.0.in_layers.0.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.2.0.in_layers.2.weight: copying a param with shape torch.Size([512, 1024, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 3, 3]).
	size mismatch for output_blocks.2.0.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.2.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for output_blocks.2.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.2.0.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.2.0.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.2.0.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for output_blocks.2.0.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.2.0.skip_connection.weight: copying a param with shape torch.Size([512, 1024, 1, 1]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 1, 1]).
	size mismatch for output_blocks.2.0.skip_connection.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.3.0.in_layers.0.weight: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.3.0.in_layers.0.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.3.0.in_layers.2.weight: copying a param with shape torch.Size([512, 1024, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 3, 3]).
	size mismatch for output_blocks.3.0.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.3.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for output_blocks.3.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.3.0.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.3.0.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.3.0.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for output_blocks.3.0.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.3.0.skip_connection.weight: copying a param with shape torch.Size([512, 1024, 1, 1]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 1, 1]).
	size mismatch for output_blocks.3.0.skip_connection.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.3.1.norm.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.3.1.norm.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.3.1.qkv.weight: copying a param with shape torch.Size([1536, 512, 1]) from checkpoint, the shape in current model is torch.Size([3072, 1024, 1]).
	size mismatch for output_blocks.3.1.qkv.bias: copying a param with shape torch.Size([1536]) from checkpoint, the shape in current model is torch.Size([3072]).
	size mismatch for output_blocks.3.1.proj_out.weight: copying a param with shape torch.Size([512, 512, 1]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 1]).
	size mismatch for output_blocks.3.1.proj_out.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.4.0.in_layers.0.weight: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.4.0.in_layers.0.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.4.0.in_layers.2.weight: copying a param with shape torch.Size([512, 1024, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 3, 3]).
	size mismatch for output_blocks.4.0.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.4.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for output_blocks.4.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.4.0.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.4.0.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.4.0.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for output_blocks.4.0.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.4.0.skip_connection.weight: copying a param with shape torch.Size([512, 1024, 1, 1]) from checkpoint, the shape in current model is torch.Size([1024, 2048, 1, 1]).
	size mismatch for output_blocks.4.0.skip_connection.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.4.1.norm.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.4.1.norm.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.4.1.qkv.weight: copying a param with shape torch.Size([1536, 512, 1]) from checkpoint, the shape in current model is torch.Size([3072, 1024, 1]).
	size mismatch for output_blocks.4.1.qkv.bias: copying a param with shape torch.Size([1536]) from checkpoint, the shape in current model is torch.Size([3072]).
	size mismatch for output_blocks.4.1.proj_out.weight: copying a param with shape torch.Size([512, 512, 1]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 1]).
	size mismatch for output_blocks.4.1.proj_out.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.5.0.in_layers.0.weight: copying a param with shape torch.Size([768]) from checkpoint, the shape in current model is torch.Size([1536]).
	size mismatch for output_blocks.5.0.in_layers.0.bias: copying a param with shape torch.Size([768]) from checkpoint, the shape in current model is torch.Size([1536]).
	size mismatch for output_blocks.5.0.in_layers.2.weight: copying a param with shape torch.Size([512, 768, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1536, 3, 3]).
	size mismatch for output_blocks.5.0.in_layers.2.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.5.0.emb_layers.1.weight: copying a param with shape torch.Size([512, 512]) from checkpoint, the shape in current model is torch.Size([2048, 1024]).
	size mismatch for output_blocks.5.0.emb_layers.1.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([2048]).
	size mismatch for output_blocks.5.0.out_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.5.0.out_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.5.0.out_layers.3.weight: copying a param with shape torch.Size([512, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3]).
	size mismatch for output_blocks.5.0.out_layers.3.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.5.0.skip_connection.weight: copying a param with shape torch.Size([512, 768, 1, 1]) from checkpoint, the shape in current model is torch.Size([1024, 1536, 1, 1]).
	size mismatch for output_blocks.5.0.skip_connection.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.5.1.norm.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.5.1.norm.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.5.1.qkv.weight: copying a param with shape torch.Size([1536, 512, 1]) from checkpoint, the shape in current model is torch.Size([3072, 1024, 1]).
	size mismatch for output_blocks.5.1.qkv.bias: copying a param with shape torch.Size([1536]) from checkpoint, the shape in current model is torch.Size([3072]).
	size mismatch for output_blocks.5.1.proj_out.weight: copying a param with shape torch.Size([512, 512, 1]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 1]).
	size mismatch for output_blocks.5.1.proj_out.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.6.0.in_layers.0.weight: copying a param with shape torch.Size([768]) from checkpoint, the shape in current model is torch.Size([1536]).
	size mismatch for output_blocks.6.0.in_layers.0.bias: copying a param with shape torch.Size([768]) from checkpoint, the shape in current model is torch.Size([1536]).
	size mismatch for output_blocks.6.0.in_layers.2.weight: copying a param with shape torch.Size([256, 768, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 1536, 3, 3]).
	size mismatch for output_blocks.6.0.in_layers.2.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.6.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for output_blocks.6.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.6.0.out_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.6.0.out_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.6.0.out_layers.3.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for output_blocks.6.0.out_layers.3.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.6.0.skip_connection.weight: copying a param with shape torch.Size([256, 768, 1, 1]) from checkpoint, the shape in current model is torch.Size([512, 1536, 1, 1]).
	size mismatch for output_blocks.6.0.skip_connection.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.7.0.in_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.7.0.in_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.7.0.in_layers.2.weight: copying a param with shape torch.Size([256, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 1024, 3, 3]).
	size mismatch for output_blocks.7.0.in_layers.2.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.7.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for output_blocks.7.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.7.0.out_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.7.0.out_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.7.0.out_layers.3.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for output_blocks.7.0.out_layers.3.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.7.0.skip_connection.weight: copying a param with shape torch.Size([256, 512, 1, 1]) from checkpoint, the shape in current model is torch.Size([512, 1024, 1, 1]).
	size mismatch for output_blocks.7.0.skip_connection.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.8.0.in_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.8.0.in_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.8.0.in_layers.2.weight: copying a param with shape torch.Size([256, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 1024, 3, 3]).
	size mismatch for output_blocks.8.0.in_layers.2.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.8.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for output_blocks.8.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.8.0.out_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.8.0.out_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.8.0.out_layers.3.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for output_blocks.8.0.out_layers.3.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.8.0.skip_connection.weight: copying a param with shape torch.Size([256, 512, 1, 1]) from checkpoint, the shape in current model is torch.Size([512, 1024, 1, 1]).
	size mismatch for output_blocks.8.0.skip_connection.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.9.0.in_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.9.0.in_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.9.0.in_layers.2.weight: copying a param with shape torch.Size([256, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 1024, 3, 3]).
	size mismatch for output_blocks.9.0.in_layers.2.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.9.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for output_blocks.9.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.9.0.out_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.9.0.out_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.9.0.out_layers.3.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for output_blocks.9.0.out_layers.3.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.9.0.skip_connection.weight: copying a param with shape torch.Size([256, 512, 1, 1]) from checkpoint, the shape in current model is torch.Size([512, 1024, 1, 1]).
	size mismatch for output_blocks.9.0.skip_connection.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.10.0.in_layers.0.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.10.0.in_layers.0.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.10.0.in_layers.2.weight: copying a param with shape torch.Size([256, 512, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 1024, 3, 3]).
	size mismatch for output_blocks.10.0.in_layers.2.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.10.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for output_blocks.10.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.10.0.out_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.10.0.out_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.10.0.out_layers.3.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for output_blocks.10.0.out_layers.3.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.10.0.skip_connection.weight: copying a param with shape torch.Size([256, 512, 1, 1]) from checkpoint, the shape in current model is torch.Size([512, 1024, 1, 1]).
	size mismatch for output_blocks.10.0.skip_connection.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.11.0.in_layers.0.weight: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([768]).
	size mismatch for output_blocks.11.0.in_layers.0.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([768]).
	size mismatch for output_blocks.11.0.in_layers.2.weight: copying a param with shape torch.Size([256, 384, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 768, 3, 3]).
	size mismatch for output_blocks.11.0.in_layers.2.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.11.0.emb_layers.1.weight: copying a param with shape torch.Size([256, 512]) from checkpoint, the shape in current model is torch.Size([1024, 1024]).
	size mismatch for output_blocks.11.0.emb_layers.1.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([1024]).
	size mismatch for output_blocks.11.0.out_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.11.0.out_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.11.0.out_layers.3.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3]).
	size mismatch for output_blocks.11.0.out_layers.3.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.11.0.skip_connection.weight: copying a param with shape torch.Size([256, 384, 1, 1]) from checkpoint, the shape in current model is torch.Size([512, 768, 1, 1]).
	size mismatch for output_blocks.11.0.skip_connection.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.12.0.in_layers.0.weight: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([768]).
	size mismatch for output_blocks.12.0.in_layers.0.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([768]).
	size mismatch for output_blocks.12.0.in_layers.2.weight: copying a param with shape torch.Size([128, 384, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 768, 3, 3]).
	size mismatch for output_blocks.12.0.in_layers.2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.12.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for output_blocks.12.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.12.0.out_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.12.0.out_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.12.0.out_layers.3.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for output_blocks.12.0.out_layers.3.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.12.0.skip_connection.weight: copying a param with shape torch.Size([128, 384, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 768, 1, 1]).
	size mismatch for output_blocks.12.0.skip_connection.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.13.0.in_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.13.0.in_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.13.0.in_layers.2.weight: copying a param with shape torch.Size([128, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 512, 3, 3]).
	size mismatch for output_blocks.13.0.in_layers.2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.13.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for output_blocks.13.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.13.0.out_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.13.0.out_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.13.0.out_layers.3.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for output_blocks.13.0.out_layers.3.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.13.0.skip_connection.weight: copying a param with shape torch.Size([128, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 512, 1, 1]).
	size mismatch for output_blocks.13.0.skip_connection.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.14.0.in_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.14.0.in_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.14.0.in_layers.2.weight: copying a param with shape torch.Size([128, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 512, 3, 3]).
	size mismatch for output_blocks.14.0.in_layers.2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.14.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for output_blocks.14.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.14.0.out_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.14.0.out_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.14.0.out_layers.3.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for output_blocks.14.0.out_layers.3.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.14.0.skip_connection.weight: copying a param with shape torch.Size([128, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 512, 1, 1]).
	size mismatch for output_blocks.14.0.skip_connection.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.15.0.in_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.15.0.in_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.15.0.in_layers.2.weight: copying a param with shape torch.Size([128, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 512, 3, 3]).
	size mismatch for output_blocks.15.0.in_layers.2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.15.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for output_blocks.15.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.15.0.out_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.15.0.out_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.15.0.out_layers.3.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for output_blocks.15.0.out_layers.3.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.15.0.skip_connection.weight: copying a param with shape torch.Size([128, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 512, 1, 1]).
	size mismatch for output_blocks.15.0.skip_connection.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.16.0.in_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.16.0.in_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.16.0.in_layers.2.weight: copying a param with shape torch.Size([128, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 512, 3, 3]).
	size mismatch for output_blocks.16.0.in_layers.2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.16.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for output_blocks.16.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.16.0.out_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.16.0.out_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.16.0.out_layers.3.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for output_blocks.16.0.out_layers.3.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.16.0.skip_connection.weight: copying a param with shape torch.Size([128, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 512, 1, 1]).
	size mismatch for output_blocks.16.0.skip_connection.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.17.0.in_layers.0.weight: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for output_blocks.17.0.in_layers.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for output_blocks.17.0.in_layers.2.weight: copying a param with shape torch.Size([128, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 384, 3, 3]).
	size mismatch for output_blocks.17.0.in_layers.2.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.17.0.emb_layers.1.weight: copying a param with shape torch.Size([128, 512]) from checkpoint, the shape in current model is torch.Size([512, 1024]).
	size mismatch for output_blocks.17.0.emb_layers.1.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([512]).
	size mismatch for output_blocks.17.0.out_layers.0.weight: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.17.0.out_layers.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.17.0.out_layers.3.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 256, 3, 3]).
	size mismatch for output_blocks.17.0.out_layers.3.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).
	size mismatch for output_blocks.17.0.skip_connection.weight: copying a param with shape torch.Size([128, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 384, 1, 1]).
	size mismatch for output_blocks.17.0.skip_connection.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([256]).

server discoart inside Docker error args: "unknown argument `__results__`, misspelled?"

Hi, i'm having problems server Discoart with this error:
on client:

Exception in thread Thread-20:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.7/dist-packages/jina/helper.py", line 1292, in run
    self.result = asyncio.run(func(*args, **kwargs))
  File "/usr/lib/python3.7/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.7/asyncio/base_events.py", line 587, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.7/dist-packages/jina/clients/mixin.py", line 176, in _get_results
    async for resp in c._get_results(*args, **kwargs):
  File "/usr/local/lib/python3.7/dist-packages/jina/clients/base/grpc.py", line 96, in _get_results
    logger=self.logger,
  File "/usr/local/lib/python3.7/dist-packages/jina/clients/helper.py", line 81, in callback_exec
    raise BadServer(response.header)
jina.excepts.BadServer: request_id: "bdf9ac7a4f164f06ae1e4adac3d2ab9d"
status {
  code: ERROR
  description: "AttributeError(\'unknown argument `__results__`, misspelled?\')"
  exception {
    name: "AttributeError"
    args: "unknown argument `__results__`, misspelled?"
    stacks: "Traceback (most recent call last):\n"
    stacks: "  File \"/usr/local/lib/python3.8/dist-packages/jina/serve/runtimes/worker/__init__.py\", line 165, in process_data\n    return await self._data_request_handler.handle(requests=requests)\n"
    stacks: "  File \"/usr/local/lib/python3.8/dist-packages/jina/serve/runtimes/request_handlers/data_request_handler.py\", line 155, in handle\n    return_data = await self._executor.__acall__(\n"
    stacks: "  File \"/usr/local/lib/python3.8/dist-packages/jina/serve/executors/__init__.py\", line 289, in __acall__\n    return await self.__acall_endpoint__(req_endpoint, **kwargs)\n"
    stacks: "  File \"/usr/local/lib/python3.8/dist-packages/jina/serve/executors/__init__.py\", line 310, in __acall_endpoint__\n    return await func(self, **kwargs)\n"
    stacks: "  File \"/usr/local/lib/python3.8/dist-packages/jina/serve/executors/decorators.py\", line 207, in arg_wrapper\n    return await fn(executor_instance, *args, **kwargs)\n"
    stacks: "  File \"/usr/local/lib/python3.8/dist-packages/discoart/executors.py\", line 14, in create_artworks\n    await asyncio.get_event_loop().run_in_executor(None, self._create, parameters)\n"
    stacks: "  File \"/usr/lib/python3.8/concurrent/futures/thread.py\", line 57, in run\n    result = self.fn(*self.args, **self.kwargs)\n"
    stacks: "  File \"/usr/local/lib/python3.8/dist-packages/discoart/executors.py\", line 19, in _create\n    return create(\n"
    stacks: "  File \"/usr/local/lib/python3.8/dist-packages/discoart/create.py\", line 166, in create\n    _args = load_config(user_config=kwargs)\n"
    stacks: "  File \"/usr/local/lib/python3.8/dist-packages/discoart/config.py\", line 36, in load_config\n    raise AttributeError(f\'unknown argument `{k}`, misspelled?\')\n"
    stacks: "AttributeError: unknown argument `__results__`, misspelled?\n"
    executor: "DiscoArtExecutor"
  }
}
exec_endpoint: "/create"


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
[/usr/local/lib/python3.7/dist-packages/jina/helper.py](https://localhost:8080/#) in run_async(func, *args, **kwargs)
   1306             try:
-> 1307                 return thread.result
   1308             except AttributeError:

AttributeError: '_RunThread' object has no attribute 'result'

During handling of the above exception, another exception occurred:

BadClient                                 Traceback (most recent call last)
2 frames
[/usr/local/lib/python3.7/dist-packages/jina/helper.py](https://localhost:8080/#) in run_async(func, *args, **kwargs)
   1310 
   1311                 raise BadClient(
-> 1312                     'something wrong when running the eventloop, result can not be retrieved'
   1313                 )
   1314         else:

BadClient: something wrong when running the eventloop, result can not be retrieved

on server:

DEBUG  discoart/rep-0@17 recv DataRequest at /create with    [07/21/22 21:47:49]
       id: bdf9ac7a4f164f06ae1e4adac3d2ab9d
ERROR  discoart/rep-0@17 AttributeError('unknown argument
       `__results__`, misspelled?')
        add "--quiet-error" to suppress the exception
       details
       โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
       โ”‚ /usr/local/lib/python3.8/dist-packages/jina/servโ€ฆ โ”‚
       โ”‚ in process_data                                   โ”‚
       โ”‚                                                   โ”‚
       โ”‚   162 โ”‚   โ”‚   โ”‚   โ”‚   if self.logger.debug_enable โ”‚
       โ”‚   163 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   self._log_data_request( โ”‚
       โ”‚   164 โ”‚   โ”‚   โ”‚   โ”‚                               โ”‚
       โ”‚ โฑ 165 โ”‚   โ”‚   โ”‚   โ”‚   return await self._data_req โ”‚
       โ”‚   166 โ”‚   โ”‚   โ”‚   except (RuntimeError, Exception โ”‚
       โ”‚   167 โ”‚   โ”‚   โ”‚   โ”‚   self.logger.error(          โ”‚
       โ”‚   168 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   f'{ex!r}'               โ”‚
       โ”‚                                                   โ”‚
       โ”‚ /usr/local/lib/python3.8/dist-packages/jina/servโ€ฆ โ”‚
       โ”‚ in handle                                         โ”‚
       โ”‚                                                   โ”‚
       โ”‚   152 โ”‚   โ”‚   )                                   โ”‚
       โ”‚   153 โ”‚   โ”‚                                       โ”‚
       โ”‚   154 โ”‚   โ”‚   # executor logic                    โ”‚
       โ”‚ โฑ 155 โ”‚   โ”‚   return_data = await self._executor. โ”‚
       โ”‚   156 โ”‚   โ”‚   โ”‚   req_endpoint=requests[0].header โ”‚
       โ”‚   157 โ”‚   โ”‚   โ”‚   docs=docs,                      โ”‚
       โ”‚   158 โ”‚   โ”‚   โ”‚   parameters=params,              โ”‚
       โ”‚                                                   โ”‚
       โ”‚ /usr/local/lib/python3.8/dist-packages/jina/servโ€ฆ โ”‚
       โ”‚ in __acall__                                      โ”‚
       โ”‚                                                   โ”‚
       โ”‚   286 โ”‚   โ”‚   # noqa: DAR201                      โ”‚
       โ”‚   287 โ”‚   โ”‚   """                                 โ”‚
       โ”‚   288 โ”‚   โ”‚   if req_endpoint in self.requests:   โ”‚
       โ”‚ โฑ 289 โ”‚   โ”‚   โ”‚   return await self.__acall_endpo โ”‚
       โ”‚   290 โ”‚   โ”‚   elif __default_endpoint__ in self.r โ”‚
       โ”‚   291 โ”‚   โ”‚   โ”‚   return await self.__acall_endpo โ”‚
       โ”‚   292                                             โ”‚
       โ”‚                                                   โ”‚
       โ”‚ /usr/local/lib/python3.8/dist-packages/jina/servโ€ฆ โ”‚
       โ”‚ in __acall_endpoint__                             โ”‚
       โ”‚                                                   โ”‚
       โ”‚   307 โ”‚   โ”‚                                       โ”‚
       โ”‚   308 โ”‚   โ”‚   with _summary:                      โ”‚
       โ”‚   309 โ”‚   โ”‚   โ”‚   if iscoroutinefunction(func):   โ”‚
       โ”‚ โฑ 310 โ”‚   โ”‚   โ”‚   โ”‚   return await func(self, **k โ”‚
       โ”‚   311 โ”‚   โ”‚   โ”‚   else:                           โ”‚
       โ”‚   312 โ”‚   โ”‚   โ”‚   โ”‚   return func(self, **kwargs) โ”‚
       โ”‚   313                                             โ”‚
       โ”‚                                                   โ”‚
       โ”‚ /usr/local/lib/python3.8/dist-packages/jina/servโ€ฆ โ”‚
       โ”‚ in arg_wrapper                                    โ”‚
       โ”‚                                                   โ”‚
       โ”‚   204 โ”‚   โ”‚   โ”‚   โ”‚   async def arg_wrapper(      โ”‚
       โ”‚   205 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   executor_instance, *arg โ”‚
       โ”‚   206 โ”‚   โ”‚   โ”‚   โ”‚   ):  # we need to get the su โ”‚
       โ”‚       the self                                    โ”‚
       โ”‚ โฑ 207 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   return await fn(executo โ”‚
       โ”‚   208 โ”‚   โ”‚   โ”‚   โ”‚                               โ”‚
       โ”‚   209 โ”‚   โ”‚   โ”‚   โ”‚   self.fn = arg_wrapper       โ”‚
       โ”‚   210 โ”‚   โ”‚   โ”‚   else:                           โ”‚
       โ”‚                                                   โ”‚
       โ”‚ /usr/local/lib/python3.8/dist-packages/discoart/โ€ฆ โ”‚
       โ”‚ in create_artworks                                โ”‚
       โ”‚                                                   โ”‚
       โ”‚   11 โ”‚                                            โ”‚
       โ”‚   12 โ”‚   @requests(on='/create')                  โ”‚
       โ”‚   13 โ”‚   async def create_artworks(self, paramete โ”‚
       โ”‚ โฑ 14 โ”‚   โ”‚   await asyncio.get_event_loop().run_i โ”‚
       โ”‚   15 โ”‚                                            โ”‚
       โ”‚   16 โ”‚   def _create(self, parameters: Dict, **kw โ”‚
       โ”‚   17 โ”‚   โ”‚   from .create import create           โ”‚
       โ”‚                                                   โ”‚
       โ”‚ /usr/lib/python3.8/concurrent/futures/thread.py:โ€ฆ โ”‚
       โ”‚ in run                                            โ”‚
       โ”‚                                                   โ”‚
       โ”‚    54 โ”‚   โ”‚   โ”‚   return                          โ”‚
       โ”‚    55 โ”‚   โ”‚                                       โ”‚
       โ”‚    56 โ”‚   โ”‚   try:                                โ”‚
       โ”‚ โฑ  57 โ”‚   โ”‚   โ”‚   result = self.fn(*self.args, ** โ”‚
       โ”‚    58 โ”‚   โ”‚   except BaseException as exc:        โ”‚
       โ”‚    59 โ”‚   โ”‚   โ”‚   self.future.set_exception(exc)  โ”‚
       โ”‚    60 โ”‚   โ”‚   โ”‚   # Break a reference cycle with  โ”‚
       โ”‚                                                   โ”‚
       โ”‚ /usr/local/lib/python3.8/dist-packages/discoart/โ€ฆ โ”‚
       โ”‚ in _create                                        โ”‚
       โ”‚                                                   โ”‚
       โ”‚   16 โ”‚   def _create(self, parameters: Dict, **kw โ”‚
       โ”‚   17 โ”‚   โ”‚   from .create import create           โ”‚
       โ”‚   18 โ”‚   โ”‚                                        โ”‚
       โ”‚ โฑ 19 โ”‚   โ”‚   return create(                       โ”‚
       โ”‚   20 โ”‚   โ”‚   โ”‚   skip_event=self.skip_event, stop โ”‚
       โ”‚   21 โ”‚   โ”‚   )                                    โ”‚
       โ”‚   22                                              โ”‚
       โ”‚                                                   โ”‚
       โ”‚ /usr/local/lib/python3.8/dist-packages/discoart/โ€ฆ โ”‚
       โ”‚ in create                                         โ”‚
       โ”‚                                                   โ”‚
       โ”‚   163 โ”‚   โ”‚   โ”‚   _kwargs.update(kwargs)          โ”‚
       โ”‚   164 โ”‚   โ”‚   _args = load_config(user_config=_kw โ”‚
       โ”‚   165 โ”‚   else:                                   โ”‚
       โ”‚ โฑ 166 โ”‚   โ”‚   _args = load_config(user_config=kwa โ”‚
       โ”‚   167 โ”‚                                           โ”‚
       โ”‚   168 โ”‚   save_config_svg(_args)                  โ”‚
       โ”‚   169                                             โ”‚
       โ”‚                                                   โ”‚
       โ”‚ /usr/local/lib/python3.8/dist-packages/discoart/โ€ฆ โ”‚
       โ”‚ in load_config                                    โ”‚
       โ”‚                                                   โ”‚
       โ”‚    33 โ”‚                                           โ”‚
       โ”‚    34 โ”‚   for k in list(user_config.keys()):      โ”‚
       โ”‚    35 โ”‚   โ”‚   if k not in cfg and k not in ('_sta โ”‚
       โ”‚ โฑ  36 โ”‚   โ”‚   โ”‚   raise AttributeError(f'unknown  โ”‚
       โ”‚    37 โ”‚                                           โ”‚
       โ”‚    38 โ”‚   if user_config:                         โ”‚
       โ”‚    39 โ”‚   โ”‚   if user_config.get('cut_schedules_g โ”‚
       โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
       AttributeError: unknown argument `__results__`,
       misspelled?

My docker command is:

sudo docker run --name discoart --rm -p 8888:8888 -p 51001:51001 \
-v $HOME/private/diffusion_stuff/discoart_flow.yml:/root/discoart_flow.yml \
-v $HOME/jupyter_workspace:/root/jupyter_workspace/ \
-v $HOME/.cache_discoart:/root/.cache --gpus all jinaai/discoart \
bash -c "python -m discoart serve /root/discoart_flow.yml"

my discoart_flow.yml is:

jtype: Flow
with:
  protocol: grpc
  monitoring: true
  port: 51001
  port_monitoring: 51002  # prometheus monitoring port
  env:
    JINA_LOG_LEVEL: debug
    DISCOART_DISABLE_IPYTHON: 1
    DISCOART_DISABLE_RESULT_SUMMARY: 1
executors:
  - name: discoart
    uses: DiscoArtExecutor
#    env:
#      CUDA_VISIBLE_DEVICES: RR0:3  # change this if you have multiple GPU
#    replicas: 3  # change this if you have larger VRAM
  - name: poller
    uses: ResultPoller

my client Python code:

from jina import Client

c = Client(host='grpc://myserver:51001')

da = c.post(
    '/create',
    parameter={
        'name_docarray': 'mydisco-123',
        'text_prompts': [
            'A beautiful painting of a singular lighthouse',
            'yellow color scheme',
        ],
    },
)

save_config_svg is broken

version 0.6.2

AttributeError                            Traceback (most recent call last)

[<ipython-input-22-d1826cc0def8>](https://localhost:8080/#) in <module>()
      1 image_name = "myimage"
----> 2 save_config_svg(da, f"{image_name}.svg")

1 frames

[/usr/local/lib/python3.7/dist-packages/discoart/config.py](https://localhost:8080/#) in load_config(user_config)
     32     for k in list(user_config.keys()):
     33         if k not in cfg and k != 'name_docarray':
---> 34             raise AttributeError(f'unknown argument `{k}`, misspelled?')
     35 
     36     if user_config:

AttributeError: unknown argument `completed`, misspelled?

cut_icgray_p looks like it has the same definition as cut_ic_pow

cut_icgray_p: This sets the size of the border used for inner cuts. High cut_ic_pow values have larger borders, and therefore the cuts themselves will be smaller and provide finer details. If you have too many or too-small inner cuts, you may lose overall image coherency and/or it may cause an undesirable โ€˜mosaicโ€™ effect. Low cut_ic_pow values will allow the inner cuts to be larger, helping image coherency while still helping with some details.

Docs are unclear about using a custom diffusion model

I had a great deal of difficulty getting discoart to accept a custom diffusion model, and I feel like the documentation around same could be better.

Relevant info:

  • Cheatsheet says "diffusion_model: Diffusion_model of choice."
  • README says "DISCOART_MODELS_YAML='path/to/your-models.yml' # use a custom list of models file"
  • While poking around in the source I somehow stumbled across "DISCOART_DISABLE_REMOTE_MODELS" (apparently it was added to the README recently)

Searching my way through the source, based on the above, I eventually realized that the following would work

    diffusion_model='/full/path/to/CUSTOM_MODEL.pt',
    diffusion_model_config = {
        'attention_resolutions': '32, 16, 8',
        'class_cond': False,
        'image_size': 256,
        'learn_sigma': True,
        'rescale_timesteps': True,
        'noise_schedule': 'linear',
        'num_channels': 128,
        'num_heads': 4,
        'num_res_blocks': 2,
        'resblock_updown': True,
        'use_checkpoint': True,
        'use_fp16': True,
        'use_scale_shift_norm': True,
    }

e.g. apparently I didn't need either DISCOART_MODELS_YAML or DISCOART_DISABLE_REMOTE_MODELS; I simply had to make certain that the "model name" was, in fact, NOT a "model name" in the strictest sense, but actually a fully-qualified file path (and also provide "diffusion_model_config").

qt.qpa.plugin: Could not load the Qt platform plugin "xcb"

When running on Ubuntu 20.04:
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

Aborted (core dumped)

This happens after the run, assuming it is when it tries to open up the image. Primarily connect to the machine via RDP if it makes a difference.

RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory

Maybe I missed something, im fairly new to running github projects. But this issue is stumping me after a few hours of trying to fight the thing.

When i run just the default demo
`from discoart import create

da = create()`

i get this error

D:\Downloads D\discoart-0.2.1\discoart\__init__.py:32: UserWarning: !!!!CUDA is not available. DiscoArt is running on CPU. create()` will be unbearably slow on CPU!!!!
Please switch to a GPU device. If you are using Google Colab, then free tier would just work.

warnings.warn(
Traceback (most recent call last):

File D:\Downloads D\discoart-0.2.1\asdsd.py:3 in
da = create()

File D:\Downloads D\discoart-0.2.1\discoart_init_.py:221 in create
model, diffusion = load_diffusion_model(

File D:\Downloads D\discoart-0.2.1\discoart\helper.py:433 in load_diffusion_model
model.load_state_dict(torch.load(_model_path, map_location='cpu'))

File ~\anaconda3\lib\site-packages\torch\serialization.py:705 in load
with _open_zipfile_reader(opened_file) as opened_zipfile:

File ~\anaconda3\lib\site-packages\torch\serialization.py:242 in init
super(_open_zipfile_reader, self).init(torch._C.PyTorchFileReader(name_or_buffer))

RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory`

Now I read it has something to do with not having the model but I am unsure where the model is even missing if it is. Any suggestions?

RuntimeError: LZ4F_getFrameInfo failed with code: ERROR_frameHeader_incomplete

The error occures when the final frame in the batch is about to complete render.

System configuration:

  • Latest discoart version. (pip install discoart)
  • Ubuntu 20.04.01 LTS

Getting this runtime error:
RuntimeError: LZ4F_getFrameInfo failed with code: ERROR_frameHeader_incomplete

Full error message:

RuntimeError                              Traceback (most recent call last)
Input In [3], in <cell line: 3>()
      1 from discoart import create
----> 3 da = create(text_prompts =[
      4         'A beautiful painting of a singular lighthouse, Trending on artstation.',
      5         'yellow color scheme',
      6     ],
      7     init_image='https://d2vyhzeko0lke5.cloudfront.net/2f4f6dfa5a05e078469ebe57e77b72f0.png',
      8     width_height=[820, 492],
      9     skip_steps= 10,
     10     steps= 50,
     11     cut_ic_pow= 1,
     12     init_scale= 1000,
     13     clip_guidance_scale = 5000,
     14     tv_scale = 0,
     15     range_scale = 250,
     16     sat_scale = 0,
     17     cutn_batches = 4,
     18     diffusion_model = '512x512_diffusion_uncond_finetune_008100',
     19     use_secondary_model = True,
     20     diffusion_sampling_mode = 'plms',
     21     perlin_init = False,
     22     perlin_mode = 'mixed',
     23     seed = None,
     24     eta = 0.8,
     25     clamp_grad = True,
     26     clamp_max = 0.05,
     27     randomize_class = True,
     28     clip_denoised = False,
     29     fuzzy_prompt = False,
     30     rand_mag = 0.05,
     31     cut_overview = '[12]*400+[4]*600',
     32     cut_innercut = '[4]*400+[12]*600',
     33     cut_icgray_p = '[0.2]*400+[0]*600',
     34     display_rate = 10,
     35     n_batches = 2,
     36     batch_size = 1,
     37     batch_name = 'ddart',)

File /usr/local/lib/python3.8/dist-packages/discoart/__init__.py:198, in create(**kwargs)
    195 if os.path.exists(f'{_name}.protobuf.lz4'):
    196     from docarray import DocumentArray
--> 198     _da = DocumentArray.load_binary(f'{_name}.protobuf.lz4')
    199     if _da and _da[0].uri:
    200         _da.plot_image_sprites(
    201             skip_empty=True, show_index=True, keep_aspect_ratio=True
    202         )

File /usr/local/lib/python3.8/dist-packages/docarray/array/mixins/io/binary.py:88, in BinaryIOMixin.load_binary(cls, file, protocol, compress, _show_progress, streaming, *args, **kwargs)
     81     return cls._load_binary_stream(
     82         file_ctx,
     83         protocol=protocol,
     84         compress=compress,
     85         _show_progress=_show_progress,
     86     )
     87 else:
---> 88     return cls._load_binary_all(
     89         file_ctx, protocol, compress, _show_progress, *args, **kwargs
     90     )

File /usr/local/lib/python3.8/dist-packages/docarray/array/mixins/io/binary.py:204, in BinaryIOMixin._load_binary_all(cls, file_ctx, protocol, compress, show_progress, *args, **kwargs)
    201 start_pos = end_doc_pos
    203 # variable length bytes doc
--> 204 doc = Document.from_bytes(
    205     d[start_doc_pos:end_doc_pos],
    206     protocol=protocol,
    207     compress=compress,
    208 )
    209 docs.append(doc)
    210 _total_size += len_current_doc_in_bytes

File /usr/local/lib/python3.8/dist-packages/docarray/document/mixins/porting.py:112, in PortingMixin.from_bytes(cls, data, protocol, compress)
     98 @classmethod
     99 def from_bytes(
    100     cls: Type['T'],
   (...)
    103     compress: Optional[str] = None,
    104 ) -> 'T':
    105     """Build Document object from binary bytes
    106 
    107     :param data: binary bytes
   (...)
    110     :return: a Document object
    111     """
--> 112     bstr = decompress_bytes(data, algorithm=compress)
    113     if protocol == 'pickle':
    114         return pickle.loads(bstr)

File /usr/local/lib/python3.8/dist-packages/docarray/helper.py:322, in decompress_bytes(data, algorithm)
    319 if algorithm == 'lz4':
    320     import lz4.frame
--> 322     data = lz4.frame.decompress(data)
    323 elif algorithm == 'bz2':
    324     import bz2

RuntimeError: LZ4F_getFrameInfo failed with code: ERROR_frameHeader_incomplete

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.