50行代码搭建【自己的】文生图Web应用

简介: 50行代码搭建【自己的】文生图Web应用

用多了其他网站的文生图,有的还需要冲金币,是不是很想自己也搭建个?那么方法来了。


1.环境设置


requirements.txt 如下所示:

paddlenlp>=2.4.1
ftfy
regex
Pillow

再来一下  pip install --upgrade ppdiffusers即可,环境简单吧。

注意:需要GPU环境,需要提前安装好PaddlePaddle-gpu包


2.代码


# 引入 StableDiffusion包
from ppdiffusers import StableDiffusionPipeline
# 引入gradio包,怎么用可以看我的介绍
import gradio as gr
# 加载模型,其实就是下载,需要特别注意的是包3、4个gb,很大,手机的话注意流量
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4")
pipe.enable_attention_slicing()
# 设置块
block = gr.Blocks(css=".container { max-width: 800px; margin: auto; }")
# 设置生成图片熟练
num_samples = 8
# 开始推理
def infer(prompt):
    images = pipe([prompt] * num_samples).images
    return images
# 设置样式
with block as demo:
    gr.Markdown(
        "<h1><center>PaddleNLP version of Stable Diffusion</center></h1>")
    with gr.Group():
        with gr.Box():
            with gr.Row().style(mobile_collapse=False, equal_height=True):
                text = gr.Textbox(label="Enter your prompt",
                                  show_label=False,
                                  max_lines=1).style(
                                      border=(True, False, True, True),
                                      rounded=(True, False, False, True),
                                      container=False,
                                  )
                btn = gr.Button("Run").style(
                    margin=False,
                    rounded=(False, True, True, False),
                )
        gallery = gr.Gallery(label="Generated images",
                             show_label=False).style(grid=[2], height="auto")
        text.submit(infer, inputs=[text], outputs=gallery)
        btn.click(infer, inputs=[text], outputs=gallery)
    gr.Markdown("""___
        <p style='text-align: center'>
        Created by https://huggingface.co/CompVis/stable-diffusion-v1-4
        <br/>
        </p>""")
# 启动
demo.launch(debug=True, server_port=8235, server_name="0.0.0.0", share=True)

2.1 gradio使用


gradio是机器学习推理分享的最佳工具,quickstart可参考我的:


Gradio机器学习模型快速部署工具【quickstart】翻译1

Gradio机器学习模型快速部署工具【quickstart】翻译1


2.1 ppdifusion 使用


这里使用PaddleNLP实现,直接安装下载即可。 需要设置的有模型地址、生成图片数量,可以根据源码改,或者换成你想要的进行加载(比如换成你自己的模型)。


3.运行


运行过程中会自动下载模型,此处浪费我流量好多好多。

运行脚本后,输出如下:


Running on local URL:  http://0.0.0.0:8235
Running on public URL: https://e633ad4625553a6c67.gradio.live
This share link expires in 72 hours. For free permanent hosting and GPU upgrades (NEW!), check out Spaces: https://huggingface.co/spaces

给出了2个url,可以通过互联网、以及本地局域网使用

  • 其中http://0.0.0.0:8235 应该换成本地ip即可,或者localhost。
  • 后面的可以全球访问,特别便于访问,提示3天有效时间。

需要注意的是要量力而行,一次2张照片,我显卡扛得住,多的话显存不够会崩。

image.png


3.1 效果


image.png


3.1来一张:


- many cats run on grass
- 许多小猫在草地上奔跑,赛博朋克风格

image.png


3.2再来一张


  • jean grey, young female, x-men, (((full body visible))), looking at viewer, portrait, photography, detailed skin, realistic, photo-realistic, 8k, highly detailed, full length frame, High detail RAW color art, piercing, diffused soft lighting, shallow depth of field, sharp focus, hyperrealism, cinematic lighting

image.png

image.png


3.3 注意


  • 别生成坏模型啊,有检测模型检测。
  • 当然,你可以跳过。



目录
打赏
0
0
0
0
10
分享
相关文章
如何在Python Web开发中确保应用的安全性?
如何在Python Web开发中确保应用的安全性?
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
118 3
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
62 19
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
174 17
使用Web浏览器访问UE应用的最佳实践
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
130 61
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
121 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
73 5

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等