当前位置:   article > 正文

aigc 启动器 sd-webui-aki-v4 decode_base64_to_file_gradio-3.41.2-py3-none-any

gradio-3.41.2-py3-none-any

下载地址:

SD-WebUI启动器 绘世-启动器 | 万物档案

decode_base64_to_file报错:

  1. File "E:\BaiduNetdiskDownload\stable diffusion\sd-webui-aki-v4\extensions\sd-webui-controlnet\scripts\external_code.py", line 7, in <module>
  2. from modules.api import api
  3. File "E:\BaiduNetdiskDownload\stable diffusion\sd-webui-aki-v4\modules\api\api.py", line 9, in <module>
  4. from gradio.processing_utils import decode_base64_to_file
  5. ImportError: cannot import name 'decode_base64_to_file' from 'gradio.processing_utils'

报错2:

  1. import gradio as gr
  2. original_IOComponent_init = gr.components.IOComponent.__init__

4.*版本报错, gradio-3.41.2-py3-none-any.whl 不报错

报错2:

  1. File "E:\BaiduNetdiskDownload\stable diffusion\sd-webui-aki-v4\modules\api\models.py", line 96, in generate_model
  2. DynamicModel.__config__.allow_population_by_field_name = True
  3. File "D:\ProgramData\miniconda3\envs\pysd\lib\site-packages\pydantic\_internal\_model_construction.py", line 215, in __getattr__
  4. raise AttributeError(item)
  5. AttributeError: __config__

报错的gradio版本:

pip install gradio-3.41.2-py3-none-any.whl

sd-webui-aki-v4

from gradio.processing_utils import decode_base64_to_image

  1. def decode_base64_to_image(encoding: str) -> Image.Image:
  2. image_encoded = extract_base64_data(encoding)
  3. img = Image.open(BytesIO(base64.b64decode(image_encoded)))
  4. try:
  5. if hasattr(ImageOps, "exif_transpose"):
  6. img = ImageOps.exif_transpose(img)
  7. except Exception:
  8. log.warning(
  9. "Failed to transpose image %s based on EXIF data.",
  10. img,
  11. exc_info=True,
  12. )
  13. return img

python 实现代码:

  1. def decode_base64_to_image(encoding):
  2. if encoding.startswith("data:image/"):
  3. encoding = encoding.split(";")[1].split(",")[1]
  4. try:
  5. image = Image.open(BytesIO(base64.b64decode(encoding)))
  6. return image
  7. except Exception as err:
  8. raise HTTPException(status_code=500, detail="Invalid encoded image")
  9. def encode_pil_to_base64(image):
  10. with io.BytesIO() as output_bytes:
  11. if opts.samples_format.lower() == 'png':
  12. use_metadata = False
  13. metadata = PngImagePlugin.PngInfo()
  14. for key, value in image.info.items():
  15. if isinstance(key, str) and isinstance(value, str):
  16. metadata.add_text(key, value)
  17. use_metadata = True
  18. image.save(output_bytes, format="PNG", pnginfo=(metadata if use_metadata else None), quality=opts.jpeg_quality)
  19. elif opts.samples_format.lower() in ("jpg", "jpeg", "webp"):
  20. parameters = image.info.get('parameters', None)
  21. exif_bytes = piexif.dump({
  22. "Exif": { piexif.ExifIFD.UserComment: piexif.helper.UserComment.dump(parameters or "", encoding="unicode") }
  23. })
  24. if opts.samples_format.lower() in ("jpg", "jpeg"):
  25. image.save(output_bytes, format="JPEG", exif = exif_bytes, quality=opts.jpeg_quality)
  26. else:
  27. image.save(output_bytes, format="WEBP", exif = exif_bytes, quality=opts.jpeg_quality)
  28. else:
  29. raise HTTPException(status_code=500, detail="Invalid image format")
  30. bytes_data = output_bytes.getvalue()
  31. return base64.b64encode(bytes_data)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/435565
推荐阅读
相关标签
  

闽ICP备14008679号