草庐IT

AI绘画第二步,抄作业复现超赞的效果!

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

上一篇,讲了如何安装AI绘画软件,但是装完后发现生成效果很渣!而网上那些效果都很赞。真的是理想很丰满,现实很骨感。

今天就是来聊聊如何抄作业,最大程度的还原那些超赞的效果。换一种说法就是,教大家如何使用别人的模型(Checkpoint Merge),以及如何设置参数。

下面就按步骤,一步一步来了!

1.获取模型

目前civitai上效果比较好,流程比较广的模型是Deliberate和ChilloutMix,这两个模型一个擅长欧美人物,一个擅长中日韩。后者往往需要LORA配合,复现起来更加复杂。所以今天主要以Deliberate为主。

打开civitai主页很容易找到这个模型,点击“Download Lastest” 就可以下载了。一般来说浏览器可以直接下载,如果一直中断,可以直接用迅雷等工具下载。

2.替换模型

下载完Deliberate模型后,可以huo一个以deliberate_v2.safetensors的文件。接下来需要将这个文件放到指定的位置!

具体的位置是在你的stable-diffusion-webui安装目录下,先找到models文件夹,然后找到Stable-diffusion文件夹。把模型放到里面就可以了!

3.设置参数

模型放置正确之后,点击webui-user.bat启动软件。

当出现一个127开头的网址之后,就证明启动成功了。复制这个地址到浏览器。

4.切换模型

通过浏览器打开页面之后,第一步是切换模型。

正常情况下我们肯定不止一个模型,所以启动之后,需要通过左上角下拉列表切换模型。找到Deliberate选中就可以了,选中后黑色命令行窗口会有加载日志。

这里需要注意的是红色框中的内容。这个是模型的唯一标识,你只有这个标识一样了,才能更好地还原网络上的效果。

5. 设置参数(抄参数)

万事俱备,接下来就是去抄作业了。为了使我们文章更加绿色、健康、有爱,还是以这个猫咪为例吧!(画美女的方法完全一致)

到Deliberate的主页找到模型作者提供的实例图片。然后复制右侧的参数,注意红色正方形中的只是部分参数!要获取全部参数,需要点击椭圆形中的“Copy Generation Data” 。

接下来将复制的内容放到记事本里面!

acutekittenmadeoutofmetal, (cyborg:1.1), ([tail | detailed wire]:1.3), (intricatedetails), hdr, (intricatedetails, hyperdetailed:1.2), cinematicshot, vignette, centeredNegativeprompt: (deformed, distorted, disfigured:1.3), poorlydrawn, badanatomy, wronganatomy, extralimb, missinglimb, floatinglimbs, (mutatedhandsandfingers:1.4), disconnectedlimbs, mutation, mutated, ugly, disgusting, blurry, amputation, flowers, human, man, womanENSD: 31337, Size: 768x1024, Seed: 1791574510, Model: Deliberate, Steps: 26, Sampler: Eulera, CFGscale: 6.5, Modelhash: 9aba26abdf

使用你喜欢的编辑器打开记事本。默认情况下是会有三行内容,上图中我将第三行变成了7行,换行依据是逗号。这样看起来更加清晰。

第一行:关键词

第二行:负向关键词

第三行:ENSD

第四行:图片尺寸

第五行:种子

第六行:模型名称

第七行:步数

第八行:采样方法

第九行:classifier free guidance

第十行:模型的哈希值

接下来只要将这些参数放到WebUI对应的位置就可以了。具体参数的对应位置如下图,设置好后点击“Generate” 就可以生成图片了。

从图中可以看到,所有的参数都有对应的位置,唯独第三行ENSD找不到。我们忽略这个参数的情况下,直接生成图片。

可以看到这只猫大体的风格是对的,但是形状上出现了畸变,明显没有达到预期。

所以这个ENSD就变得非常关键了,但是网上介绍这个东西的资料并不多,甚至很难找到这东西在哪里设置!

我就不绕关子了,直接说设置方法!

点击顶部标签栏中的设置(Settings)

找到一个叫eta noise seed delta的参数,输入数字31337

然后点击橘色的大按钮“Apply settings” 应用这个配置。设置完成后,切回txt2img,重新点击“Generate” 生成图片。

这个时候,我们要的猫咪(妹子)就出现了。

不能说一模一样,但是也有个八九不离十。细看,还是有不少差异。这个差异是如何产生的,目前我也不是很确定!懂的人可以补充一下。

不能100%还原有点遗憾,不过这样也有好处。做到了基本神似,还能绕过排重算法!大家也可以在这个基础上,微调一些参数,做一些二次创作。

下一篇,准备来聊聊LORA这个东西。好多AI绘画的网图就是基于这个!

有关AI绘画第二步,抄作业复现超赞的效果!的更多相关文章

  1. ruby-on-rails - 在所有延迟的作业之前 Hook - 2

    是否可以在所有delayed_job任务之前运行一个方法?基本上,我们试图确保每个运行delayed_job的服务器都有我们代码的最新实例,所以我们想运行一个方法来在每个作业运行之前检查它。(我们已经有了“check”方法并在别处使用它。问题只是关于如何从delayed_job中调用它。) 最佳答案 现在有一种官方方法可以通过插件来做到这一点。这篇博文通过示例清楚地描述了如何执行此操作http://www.salsify.com/blog/delayed-jobs-callbacks-and-hooks-in-rails(本文中描述

  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. ruby - 脚本在命令行中成功执行但不是作为 cron 作业 - 2

    我有一个bash脚本,它运行一个ruby​​脚本来获取我的Twitter提要。##/home/username/twittercron#!/bin/bashcd/home/username/twitterrubytwitter.rbfriends命令行运行成功/home/username/twittercron但是当我尝试将它作为cronjob运行时,它运行了但无法获取提要。##crontab-e*/15*****/home/username/twittercron脚本已经chmod+x。不知道为什么会这样。有什么想法吗? 最佳答案

  4. ruby - 在 RVM env 的 Ruby cron 作业中找不到 Gem - 2

    我正在尝试在RVM环境中运行10.5的旧PPC机器上运行一个简单的ruby​​脚本。在SO上搜索,我遵循了这个post中选择的答案.这是cron中的结果行:SHELL=/bin/bash00****BASH_ENV=~/.bash_profile&&/bin/bash-c'~/deggy/onlineGW.rb'此命令在用户sam的根目录下的Bash中运行良好。这是我脚本的重要部分:#!/usr/bin/envrubyrequire'open-uri'require'nokogiri'...这是cron的错误输出:X-Cron-Env:X-Cron-Env:X-Cron-Env:X-C

  5. ruby - 在不同的文件中设置断点没有效果 - 2

    ruby调试器不会在我在与执行开始时不同的文件中设置的断点处停止。例如,考虑这两个文件,foo.rb:#foo.rbclassFoodefbarputs"baz"endend和main.rb:#main.rbrequire'./foo'Foo.new.bar我使用ruby-rdebug.\main.rb开始调试。现在,当我尝试使用b./foo.rb:4在另一个文件的特定行上设置断点时,我收到消息Setbreakpoint1atfoo.rb:4,但是当我cont时,程序执行到最后,调试器永远不会停止。但是,如果我在main.rb中的一行上打断,例如b./main.rb:3,或者一个方法,

  6. ruby - `respond_to_missing?` 的第二个参数有什么用吗? - 2

    使用method_missing时在Ruby中,它是almostalwaysagoodidea定义respond_to_missing?respond_to_missing?接受两个参数;我们正在检查的方法的名称(symbol),以及一个指示我们是否应该在检查中包含私有(private)方法的bool值(include_all)。现在我感到困惑的是:method_missing不接受任何可能指示它是否应该调用私有(private)方法的参数,如respond_to_missing?做。此外,method_missing无论原始方法调用是在公共(public)上下文还是私有(privat

  7. ruby-on-rails - delayed_job 作为守护进程运行时作业失败。使用 rake 作业时运行良好 :work - 2

    我实在是无计可施了。我不明白为什么它不起作用。我创建了一个类,我使用rake命令对其进行调用和排队。当我使用“rakejobs:work”运行worker并调用命令“rakeget_updates”时,它执行得很好。但是,当我将worker作为守护进程运行时(RAILS_ENV=productionbin/delayed_jobstart)并调用命令“rakeget_updates”时,它会产生错误。app/workers/get_updates.rbclassGetUpdatesdefperformbeginning=Time.nowincludeSoapHelperrequire'

  8. ruby-on-rails - 如何将自定义 delayed_job 作业与 ActiveJob 一起使用? - 2

    我正在使用DelayedJob,我想更新我的Rails4.2应用程序以使用ActiveJob。问题是我有一堆看起来像这样的自定义作业:AssetDeleteJob=Struct.new(:user_id,:params)dodefperform#codeend#moremethodsn'stuffend然后在某处的Controller中,作业使用以下语法排队:@asset_delete_job=AssetDeleteJob.new(current_admin_user.id,params)Delayed::Job.enqueue@asset_delete_job我想找到ActiveJo

  9. ruby-on-rails - rails3 中 cron 作业的解决方案 - 2

    我尝试每天在我的Rails应用程序中自动记录一些数据。我想知道是否有人知道一个好的解决方案?我找到了https://github.com/javan/whenever,但我想确保在选择之前了解所有选项。谢谢!艾略特 最佳答案 我真的很喜欢whenever-这是一个很棒的Gem,我已经在生产中使用了它。关于它还有一个很好的Railscasts插曲:http://railscasts.com/episodes/164-cron-in-ruby 关于ruby-on-rails-rails3中c

  10. ruby - 如何在特定队列中推送作业并使用 sidekiq 限制工作人员数量? - 2

    我知道我们可以做到:sidekiq_optionsqueue:"Foo"但在这种情况下,Worker只分配给一个队列:“Foo”。我需要在特定队列中分配作业(而不是worker)。使用Resque很容易:Resque.enqueue_to(queue_name,my_job)另外,为了并发问题,我需要限制每个队列的Worker数量为1。我该怎么做? 最佳答案 您可能会使用https://github.com/brainopia/sidekiq-limit_fetch然后:Sidekiq::Client.push({'class'=>

随机推荐