2021年时出现了 openAI 的 DALL,但是不开源。2022年一开年,DALL-E 2发布,依然不开源。同年7月,Google 公布其 Text-to-Image 模型 Imagen,并且几乎在同一时间段AI图像生成平台 Midjourney 也进行公测。同年8月,Stable Diffusion 的发布将AIGC和AI绘画彻底带出了圈。
Stable Diffusion 是属于生成模型(Generative Model)的,现在主流的AI绘画模型就是各种 finetune 后的 Stable Diffusion。

关于Stable Diffusion的介绍可以参考:https://blog.csdn.net/starzhou/article/details/136557787

本文介绍的是一种能够方便快捷地部署一个stable-diffusion项目的方法,适合初学者。

Step1.注册账号

1、注册链接:https://growthdata.virtaicloud.com/t/SA,注册后会获得168算力,足够试用了。
2、注册后进入平台中心:https://platform.virtaicloud.com/

Step2.创建项目

1、选择:当前空间,需要确保当前所在空间是注册时系统自动生成的空间,否则没有算力。
2、点击:快速创建,选择创建项目,创建新项目。

3、填写相关的项目信息,其中镜像选择如下:

4、数据集选择如下:

5、点击“创建”按钮。

6、弹出的上传代码对话框,选择 "暂不上传"。

Step3. 初始化开发环境实例

1、点击左上角的“运行代码”

2、进行资源配置。以下是我尝试的可选择的最大配置。

如果要选择更大的配置,有时会提示需要选择版本更高的镜像,有时会提示“配额不足,如需扩容请联系客服”。

目前还没去试一下还有其他哪些镜像可用,也没试过配额不足的话能不能使用,如有成功的小伙伴欢迎留言分享经验。

SSH选择“开启”。如果还未开启过,旁边会有个提示,可以参照文档进行设置。

开发者工具选择JupyterLab。

3、配置开放端口,端口使用目的是必填的。

4、一定要记得设置最长运行时间,否则如果忘了停止项目,一直运行会浪费算力。

5、运行初始化中,需要耐心等待。

6、当右上角的状态变为“运行中”,右下角的JupyterLab网页终端 不再是灰色时,表明工具注入成功。

点击“进入开发环境”,或者右下角的“网页终端”,开始执行代码。

Step4. 部署模型

在下面的窗口中依次执行如下代码(复制粘贴过去):

1、解压代码及模型

tar xf /gemini/data-1/stable-diffusion-webui.tar -C /gemini/code/

等待出现新的一行可输入命令的光标行,说明上一条命令执行完成。

2、拷贝frpc内网穿透文件

chmod +x /root/miniconda3/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2

3、拷贝模型文件到项目目录下

cp /gemini/data-1/v1-5-pruned-emaonly.safetensors /gemini/code/stable-diffusion-webui/

4、更新系统httpx依赖

pip install httpx==0.24.1
这个命令刷屏比较多,需要耐心等一下,完成后是下面这样。

5、运行项目

cd /gemini/code/stable-diffusion-webui && python launch.py --deepdanbooru --share --xformers --listen
当命令窗口出现如下两个网址时表示部署成功,将右侧边栏往下滑,找到“端口信息”,将外部访问链接复制到浏览器打开。

打开网址可能需要一些时间,请耐心等待。

输入提示语(可以从网上找一些),点击“生成”按钮。有时图片一直加载不出来,可换个时间段再试。

提示语示例:

[Description
of the character], young woman, balck hair, smiling eyes, graceful
figure, dynamic pose, gentle breeze, cityscape background, golden light,
alluring charm, highly detailed, realistic, cinematic, unreal engine,
16K

生成图片的效果示例:

6、停止项目

保存项目:将当前环境制作为镜像,然后点击“停止”,以免浪费算力。

整个儿项目部署过程非常简单,也就大概半个小时,有时间可以多做些其他尝试。

 

用免费GPU部署自己的stable-diffusion项目(AI生成图片)的更多相关文章

  1. 最新版本 Stable Diffusion 开源 AI 绘画工具之汉化篇

    目录 汉化预览 下载汉化插件一 下载汉化插件二 下载汉化插件三 开启汉化 汉化预览 在上一篇文章中,我们安装好了 Stable Diffusion 开源 AI 绘画工具 但是整个页面都是英文版的,对于 ...

  2. 最新版本 Stable Diffusion 开源 AI 绘画工具之使用篇

    目录 界面参数 采样器 文生图(txt2img) 图生图(img2img) 模型下载 界面参数 在使用 Stable Diffusion 开源 AI 绘画之前,需要了解一下绘画的界面和一些参数的意义 ...

  3. 最新版本 Stable Diffusion 开源AI绘画工具之部署篇

    目录 AI绘画 本地环境要求 下载 Stable Diffusion 运行启动 AI绘画 关于 AI 绘画最近有多火,既然你有缘能看到这篇文章,那么相信也不需要我过多赘述了吧? 随着 AI 绘画技术的 ...

  4. 最新版本 Stable Diffusion 开源 AI 绘画工具之图生图进阶篇

    目录 图生图基本参数 图生图(img2img) 涂鸦绘制(Sketch) 局部绘制(Inpaint) 涂鸦蒙版(Inpaint sketch) 上传蒙版(Inpaint upload) 图生图基本参数 ...

  5. 最新版本 Stable Diffusion 开源 AI 绘画工具之中文自动提词篇

    目录 标签生成器 提示词自动补全 标签生成器 由于输入正向提示词 prompt 和反向提示词 negative prompt 都是使用英文,所以对学习母语的我们非常不友好 使用网址:https://t ...

  6. Google Colab 免费GPU服务器使用教程 挂载云端硬盘

    一.前言二.Google Colab特征三.开始使用3.1在谷歌云盘上创建文件夹3.2创建Colaboratory3.3创建完成四.设置GPU运行五.运行.py文件5.1安装必要库5.2 挂载云端硬盘 ...

  7. 基于Docker安装的Stable Diffusion使用CPU进行AI绘画

    基于Docker安装的Stable Diffusion使用CPU进行AI绘画 由于博主的电脑是为了敲代码考虑买的,所以专门买的高U低显,i9配核显,用Stable Diffusion进行AI绘画的话倒 ...

  8. Window10环境下,Stable Diffusion的本地部署与效果展示

    Diffusion相关技术最近也是非常火爆,看看招聘信息,岗位名称都由AI算法工程师变成了AIGC算法工程师,本周跟大家分享一些Diffusion算法相关的内容. Window10环境下,Stable ...

  9. 从 GPT2 到 Stable Diffusion:Elixir 社区迎来了 Hugging Face

    上周,Elixir 社区向大家宣布,Elixir 语言社区新增从 GPT2 到 Stable Diffusion 的一系列神经网络模型.这些模型得以实现归功于刚刚发布的 Bumblebee 库.Bum ...

  10. AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...

随机推荐

  1. python中两个不同shape的数组间运算规则

    1 前言 声明:本博客讨论的数组间运算是指四则运算,如:a+b.a-b.a*b.a/b,不包括 a.dot(b) 等运算,由于 numpy 和 tensorflow 中都遵循相同的规则,本博客以 nu ...

  2. React中的纯组件

    React中的纯组件 React提供了一种基于浅比较模式来确定是否应该重新渲染组件的类React.PureComponent,通常只需要继承React.PureComponent就可以定义一个纯组件. ...

  3. Js中Symbol对象

    Js中Symbol对象 ES6引入了一种新的基本数据类型Symbol,表示独一无二的值,最大的用法是用来定义对象的唯一属性名,Symbol()函数会返回symbol类型的值,该类型具有静态属性和静态方 ...

  4. Java定时器(Timer)

    1.介绍 Timer和TimerTask是用于在后台线程中调度任务的java util类.简单地说,TimerTask是要执行的任务,Timer是调度器. 2.调度一次性任务 2.1 指定延迟后执行 ...

  5. Java Socket编程系列(一)开发一次性会话的Server和Client

    关于什么是Socket: A socket is one end-point of a two-way communication link between two programs running ...

  6. Clock题解

    Clock 题意:给一些时间,24小时制,给一个初始出发时间,问在钟表上最少转多少度能把所有给的时间都经历一遍. 思路:分四种情况模拟. 注意: 求的是度数,所以最后要乘6转换. 3:00,转到15: ...

  7. dllimport 和 dllexport

    Dll 在需要暴露接口的头文件里添加 dllexport 声明,比如, #define DllExport __declspec( dllexport ) class DllExport C { in ...

  8. win32-ReadProcessMemory 的使用

    std::vector<std::byte> ReadBytes(PVOID address, SIZE_T length) { std::vector<std::byte> ...

  9. ASP.NET Core 微信支付(四)【支付结果通知回调(未按照官方步骤) APIV3】

    官方文档 支付通知API 证书和回调报文解密 参考资料 netcore 中没有Request.InputStream 理论实战 对于我来说,这个微信支付结果通知回调有两个难点. 难点一 一开始在想是怎 ...

  10. 【LeetCode链表#10】删除链表中倒数第n个节点(双指针)

    删除链表倒数第N个节点 力扣题目链接(opens new window) 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:he ...