草庐IT

AI绘画第一步,安装Stable-Diffusion-WebUI全过程 !

托尼不是塔克 2023-04-20 原文

别玩那些小孩子的玩意儿了,大人应该玩这些^_^!

我是真没想到,AI绘画已经进化到这种程度了。

实在是太!逼!真! 了!不上重马赛克都不敢贴图!

看了这些图,有没有心痒痒的?今天就来带大家入个门!先把软件搞起来。

这里用的软件叫“stable-diffusion-webui” ,严格意义上来说是一个基于Stable Diffusion的开源项目。这个项目非常强大,把原本很难安装配置的开源项目做成了一个简单易操作的网页,后来又引入了插件系统,可以玩出很多花样。最重要的是这一切都免费且开源。

安装stable-diffusion-webui需要事先做一些准备工作。

  • 一台带中高端显卡的电脑

  • 电脑可以流畅的访问github

  • 安装好代码管理工具git

  • 安装好编程语言工具python

硬件的部分不是本文的核心关注点,你只要搞一张显存大于4G的英伟达显卡就够了,推荐RTX3060这种显存比较大又比较便宜的。

我这里用的是腾讯云上45块钱的T4深度学习卡。速度一般,显存比较大有16G。用这个的好处是,对本地电脑几乎无要求,更重要的是可以流畅访问国际互联网,这个真的省了太多事情了。也让安装这件事情变得无比简单。

如果你是本地电脑,你需要自己使用“魔法”连接国际互联网。

硬件和网络,不再展开了,如果这一步问题比较大,可以留言!

下面立马开始具体的安装步骤。

1.安装git

GIT是一个开源的分布式版本控制系统,其中有一个命令叫:git clone,就是高阶版Ctrl+C 和Ctrl+V。这个工具主要是用来优雅的搬运别人的成果。

软件可以通过官网git-scm获取,只要下载最新版就可以了。

获取到软件后,只要双击打开,一路下一步下一步就可以了。

就是点击蓝色的Next按钮。

具体可以参考文章《GIT安装和使用》

2. 安装Python

Python是目前非常流行的编程语言,因为被广泛地用在人工智能->深度学习领域,更是声名大噪。因为我们用的软件也是基于Python的,所以我们要安装一个Python的运行环境。这个安装起来也很简单。

访问Python官网,下载指定版本3.10.6。

这里千万千万不要不要乱下版本,否则会面对一连串你无法处理的问题。

获取软件后,双击开始安装。

安装的时候,只需要勾选“Add Python” 然后点击“Install Now” 就可以了。

安装完GIT和Python之后,我们需要验证一下是否安装成功。

右键点击Windows图标,然后点击运行。

输入CMD,按确定,打开命令行工具。

打开后准确输入git三个字母,按回车!跳出一堆英文的帮助信息就是正常,如果出现“不是内部或外部命令”就证明安装有问题,一般不会有问题。

然后输入python 按回车,之后会正确显示Python的版本,这里必须是3.10.6。没有显示或者是其他版本都不行。

一切验证成功后,按Ctrl+Z,然后按回车,退出Python。

具体可以参考文章《Python安装和使用》

3. 获取源代码

上面两个工具装完之后,就可以用git工具获取源代码了。

默认情况下,我们的路径是用户目录。

此时需要输入“cd Desktop”命令进入桌面。我的云电脑只有一个盘,所以准备把软件装在桌面上。如果你的电脑有多个盘,建议安装在其他盘的根目录。比如你D盘很大,那么输入命令”D:” 按回车,就可以了。

然后输入克隆命令获取源代码:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

输入命令后按回车,网络没问题的话,很快就能完成。完成后会出现100%和done的提示。

相关命令行的用法可以参考

Windows命令行工具CMD基础用法!

4. 安装SD

上面的都是准备工作,现在要开始真正的安装了。

上一步克隆完成之后,桌面上会多出一个文件夹。如果你上一步切换到了D盘,那就是在D盘下面。

打开这个文件夹,找到一个叫Webui-user的文件,双击打开。

注意,这里有两个同名,要选择第一个,文件类型为bat。

双击之后,就会出现一个黑色的命令行窗口,安装脚本会自动安装。这个过程无需人工干预,除非是出错了。

安装过程大致如上。网络通畅网速快的情况下大概只要十几分钟。如果这个步骤出现错误,只有两种可能:硬件不行或者网络不行,不用找其他问题。

安装好各种依赖包之后,会自动下载一个官方的模型,大概4G左右。下载完之后会自动启动本地Web服务,然后现在一个127.0.0.1的网址。

到这里安装就已经全部完成了。

5. 生成图片

复制这个网址到浏览器上打开

打开之后只要在1的地方输入描述,然后点击2的按钮,稍等片刻,就可以在5的地方看到结果了。

3这个区域是魔法所在,很多高阶玩法都在这里实现。

4区域是设置生成参数的。可以设置运算步数,调整长宽,生成数量,设置种子等等….

本文主要完整展现安装过程,不展开讲具体的参数设置。

6. 扩展内容:生成更好的图片

第一次生成图片,你可能会失望,为什么别人的这么好好看,而自己的这么普通或者怪异? 那是因为你还没有掌握技巧,还不会魔法咒语,还没有用上各种牛逼的模型。

接下来重点来了!!!

开头提供的效果图就是来自civitai这个网站。

这个网站相当牛,如果说webui是让软件变得简单了,那么Civitai是把效果拉满了。就冲我给你这个网站,你也应该点10个赞,哈哈。

网站上有模型和示例,还有生成参数。非常贴心!

还有另外一个网站,以前收藏的,效果也不错。你可以根据效果图片,照抄上面的关键词。

今天就先入个门,如何使用这些模型参数,甚至说如何训练自己的模型,自己的风格,就看后续吧,希望你们不散,我不鸽。

有关AI绘画第一步,安装Stable-Diffusion-WebUI全过程 !的更多相关文章

  1. ruby-on-rails - CarrierWave - PDF - 只选择第一页 - 2

    我的Rails应用程序中安装了carrierwave。但是,当用户上传多页pdf时,我只希望应用程序获取文档中的第一页并将其转换为jpeg。这可能吗?用什么命令?这是我的uploader。#encoding:utf-8classImageUploader[200,300]##defscale(width,height)##dosomething#end#Createdifferentversionsofyouruploadedfiles:version:thumbdoprocess:resize_to_fill=>[150,210]process:convert=>:jpgdefful

  2. ruby - 如何跳过 CSV 文件的第一行并将第二行作为标题 - 2

    有没有办法跳过CSV文件的第一行,让第二行作为标题?我有一个CSV文件,第一行是日期,第二行是标题,所以我需要能够在遍历它时跳过第一行。我尝试使用slice但它会将CSV转换为数组,我真的很想将其读取为CSV,以便我可以利用header。 最佳答案 根据您的数据,您可以使用另一种方法和skip_lines-option此示例跳过所有以#开头的行require'csv'CSV.parse(DATA.read,:col_sep=>';',:headers=>true,:skip_lines=>/^#/#Markcomments!)do|

  3. arrays - 在一行中选择数组的第一个和最后一个元素 - 2

    我的任务是从数组中选择最高和最低的数字。我想我很清楚我想做什么,但只是努力以正确的格式访问信息以满足通过标准。defhigh_and_low(numbers)array=numbers.split("").map!{|x|x.to_i}array.sort!{|a,b|ba}putsarray[0,-1]end数字可能看起来像"80917234100",要通过,我需要输出"9234"。我正在尝试putsarray.first.last,但一直无法弄明白。 最佳答案 有Array#minmax完全满足您需要的方法:array=[80,

  4. ruby-on-rails - Ruby 或 Rails 有只将第一个字符大写的方法吗? - 2

    或者好像我必须自己写方法?(保持DHA不变):ruby-1.9.2-p180:001>s='omega-3(DHA)'=>"omega-3(DHA)"ruby-1.9.2-p180:002>s.capitalize=>"Omega-3(dha)"ruby-1.9.2-p180:003>s.titleize=>"Omega3(Dha)"ruby-1.9.2-p180:005>s[0].upcase+s[1..-1]=>"Omega-3(DHA)" 最佳答案 如果我的回答只是垃圾,我深表歉意(我不做ruby)。但我相信我已经为您找到了答

  5. ruby - gsub 删除第一个逗号前的所有内容 - 2

    我有这个字符串:auteur="comtedeFlandreetHainaut,Baudouin,Jacques,Thierry"我想删除第一个逗号之前的所有内容,即在这种情况下保留“Baudouin,Jacques,Thierry”试过这个:nom=auteur.gsub(/.*,/,'')但这会删除最后一个逗号之前的每个逗号,只保留“Thierry”。 最佳答案 auteur.partition(",").last#=>"Baudouin,Jacques,Thierry" 关于rub

  6. ruby-on-rails - Order Hash 并删除第一个键值对 - 2

    我有一个以时间戳为键的哈希。hash={"2016-05-31T22:30:58+02:00"=>{"path"=>"/","method"=>"GET"},"2016-05-31T22:31:23+02:00"=>{"path"=>"/tour","method"=>"GET"},"2016-05-31T22:31:05+02:00"=>{"path"=>"/contact_us","method"=>"GET"}}我订购了这个系列并得到了第一双这样的:hash.sort_by{|k,_|k}.first.first但是我该如何删除它呢?删除方法requiresyou知道key的准确

  7. arrays - 字符串数组中字符串第一部分的总和 - 2

    我有一个字符串数组,我需要从中提取第一个单词,将它们转换为整数并获得它们的总和。示例:["5Apple","5Orange","15Grapes"]预期输出=>25我的尝试:["5","5","15"].map(&:to_i).sum 最佳答案 我从你的问题中找到了答案。["5Apple","5Orange","15Grapes"].map(&:to_i).sum在数组中,如果存在任何整数可转换值,那么它将自动转换为整数。 关于arrays-字符串数组中字符串第一部分的总和,我们在Sta

  8. Stable Diffusion - 2

    序言AI绘图已经火了有一段时间了,国外各种AI绘图,AI视频剪辑等已经被玩坏了。StableDiffusionInfinity免费开源的StableDiffusion已经能扩画了,StableDiffusionInfinity是其子功能,下面可以来看看这个开源项目。github克隆项目(使用镜像)如果有vpn的或者能上谷歌的同学直接上github上搜索该项目,如果没有的话,找到github镜像。镜像链接:gitclone.comvsCode打开项目该项目是python写的,可以使用vscode打开查看,vscode安装参考:RunningVisualStudioCodeonmacOS项目基本信

  9. ruby-on-rails - Rails 3 : Looping through array of objects, 忽略数组中的第一个对象? - 2

    在我看来,我正在尝试显示一个对象表,这是我的代码:CategoriesCBB's">然而这是抛出一个错误说:can'tconvertCapabilityBuildingBlockintoArray关系是正确的,错误来self尝试在此处减去数组的第一个对象的行:有什么方法可以忽略数组中的第一个对象来遍历数组吗?谢谢 最佳答案 尝试使用Array.drop-http://www.ruby-doc.org/core/classes/Array.html#M000294 关于ruby-on-ra

  10. ruby-on-rails - 我如何跳过前三行而不是 FasterCSV 中的第一行 - 2

    我正在使用FasterCSV我正在循环使用这样的foreachFasterCSV.foreach("#{Rails.public_path}/uploads/transfer.csv",:encoding=>'u',:headers=>:first_row)do|row|但问题是我的csv将前3行作为标题...有什么方法可以使fasterCSV跳过前三行而不是仅跳过第一行?? 最佳答案 不确定FasterCSV,但在Ruby1.9标准CSV库(由FasterCSV制作)中,我可以执行以下操作:c=CSV.open'/path/to/

随机推荐