驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!

这篇具有很好参考价值的文章主要介绍了驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。希望和大家一起成长进步。

  今天给大家带来的文章是驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,希望能对学习AI绘画的同学们有所帮助。

1. 前言

同学们,抖音买家秀中的那些极具设计感的作品是怎么来的?

你还在羡慕别人的绘画天赋,对着空白的画纸发呆吗?

有没有想过将生硬的代码和灵动的艺术完美融合?

有没有感到现代技术带来了戏剧性改变,从替代马车的汽车,到取代传统影像的数字摄影,再到今天的AI美术创作?

是的,“AI绘画”,它来了。

AI绘画,如雷贯耳,无处不在。

曾几何时,人们认为艺术需要人工创作,需要才情与灵感的瞬间迸发。

然而,技术的高速发展,打破了这种观念,AI绘画正在逐渐崭露头角,成为新的画坛巨擘。

但聊一聊看似高大上的AI技术可能让你觉得高不可攀。那就跟我一起,用Stable Diffusion挑战无限可能,一窥AI绘画的花花世界!

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画
  Stable Diffusion WebUI 中的核心组件,人脸图像面部画面修复模型 CodeFormer的核心代码如下所示:

import math
import torch
from torch import nn, Tensor
import torch.nn.functional as F
from typing import Optional

from modules.codeformer.vqgan_arch import VQAutoEncoder, ResBlock
from basicsr.utils.registry import ARCH_REGISTRY


class CodeFormer(VQAutoEncoder):
    def __init__(self, dim_embd=512, n_head=8, n_layers=9,
                codebook_size=1024, latent_size=256,
                connect_list=('32', '64', '128', '256'),
                fix_modules=('quantize', 'generator')):
        super(CodeFormer, self).__init__(512, 64, [1, 2, 2, 4, 4, 8], 'nearest',2, [16], codebook_size)

        if fix_modules is not None:
            for module in fix_modules:
                for param in getattr(self, module).parameters():
                    param.requires_grad = False

        self.connect_list = connect_list
        self.n_layers = n_layers
        self.dim_embd = dim_embd
        self.dim_mlp = dim_embd*2

        self.position_emb = nn.Parameter(torch.zeros(latent_size, self.dim_embd))
        self.feat_emb = nn.Linear(256, self.dim_embd)

        # transformer
        self.ft_layers = nn.Sequential(*[TransformerSALayer(embed_dim=dim_embd, nhead=n_head, dim_mlp=self.dim_mlp, dropout=0.0)
                                    for _ in range(self.n_layers)])

        # logits_predict head
        self.idx_pred_layer = nn.Sequential(
            nn.LayerNorm(dim_embd),
            nn.Linear(dim_embd, codebook_size, bias=False))

        self.channels = {
            '16': 512,
            '32': 256,
            '64': 256,
            '128': 128,
            '256': 128,
            '512': 64,
        }

        # after second residual block for > 16, before attn layer for ==16
        self.fuse_encoder_block = {'512':2, '256':5, '128':8, '64':11, '32':14, '16':18}
        # after first residual block for > 16, before attn layer for ==16
        self.fuse_generator_block = {'16':6, '32': 9, '64':12, '128':15, '256':18, '512':21}

        # fuse_convs_dict
        self.fuse_convs_dict = nn.ModuleDict()
        for f_size in self.connect_list:
            in_ch = self.channels[f_size]
            self.fuse_convs_dict[f_size] = Fuse_sft_block(in_ch, in_ch)

    def _init_weights(self, module):
        if isinstance(module, (nn.Linear, nn.Embedding)):
            module.weight.data.normal_(mean=0.0, std=0.02)
            if isinstance(module, nn.Linear) and module.bias is not None:
                module.bias.data.zero_()
        elif isinstance(module, nn.LayerNorm):
            module.bias.data.zero_()
            module.weight.data.fill_(1.0)

    def forward(self, x, w=0, detach_16=True, code_only=False, adain=False):
        # ################### Encoder #####################
        enc_feat_dict = {}
        out_list = [self.fuse_encoder_block[f_size] for f_size in self.connect_list]
        for i, block in enumerate(self.encoder.blocks):
            x = block(x)
            if i in out_list:
                enc_feat_dict[str(x.shape[-1])] = x.clone()

        lq_feat = x
        # ################# Transformer ###################
        # quant_feat, codebook_loss, quant_stats = self.quantize(lq_feat)
        pos_emb = self.position_emb.unsqueeze(1).repeat(1,x.shape[0],1)
        # BCHW -> BC(HW) -> (HW)BC
        feat_emb = self.feat_emb(lq_feat.flatten(2).permute(2,0,1))
        query_emb = feat_emb
        # Transformer encoder
        for layer in self.ft_layers:
            query_emb = layer(query_emb, query_pos=pos_emb)

        # output logits
        logits = self.idx_pred_layer(query_emb) # (hw)bn
        logits = logits.permute(1,0,2) # (hw)bn -> b(hw)n

        if code_only: # for training stage II
          # logits doesn't need softmax before cross_entropy loss
            return logits, lq_feat

        # ################# Quantization ###################
        # if self.training:
        #     quant_feat = torch.einsum('btn,nc->btc', [soft_one_hot, self.quantize.embedding.weight])
        #     # b(hw)c -> bc(hw) -> bchw
        #     quant_feat = quant_feat.permute(0,2,1).view(lq_feat.shape)
        # ------------
        soft_one_hot = F.softmax(logits, dim=2)
        _, top_idx = torch.topk(soft_one_hot, 1, dim=2)
        quant_feat = self.quantize.get_codebook_feat(top_idx, shape=[x.shape[0],16,16,256])
        # preserve gradients
        # quant_feat = lq_feat + (quant_feat - lq_feat).detach()

        if detach_16:
            quant_feat = quant_feat.detach() # for training stage III
        if adain:
            quant_feat = adaptive_instance_normalization(quant_feat, lq_feat)

        # ################## Generator ####################
        x = quant_feat
        fuse_list = [self.fuse_generator_block[f_size] for f_size in self.connect_list]

        for i, block in enumerate(self.generator.blocks):
            x = block(x)
            if i in fuse_list: # fuse after i-th block
                f_size = str(x.shape[-1])
                if w>0:
                    x = self.fuse_convs_dict[f_size](enc_feat_dict[f_size].detach(), x, w)
        out = x
        # logits doesn't need softmax before cross_entropy loss
        return out, logits, lq_feat

2. 书籍推荐《AI魔法绘画:用Stable Diffusion挑战无限可能》

俗话说,知识就是力量,掌握AI绘画技术,你不仅可以创造出令人眼花缭乱的艺术作品,还可能在众多同行中脱颖而出,走上职业生涯的新高峰。

看看那些因为AI的到来,开始大规模裁员的公司,你是否意识到了自己该学习AI绘画的重要性?答案是明显的。掌握潮流,主宰未来,你准备好了吗?

这里,向大家强烈推荐一本书——《AI魔法绘画:用Stable Diffusion挑战无限可能》

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

它是一本以实际操作为导向的入门级AI绘画图书。

书中详细讲解了基于Stable Diffusion进行AI绘画的完整学习路线,包括绘画技巧、图片生成、提示词编写、ControlNet插件、模型训练等等。

如果你是零基础,无须恐惧,书中涵盖了丰富的实际操作案例,易懂易学,轻松入门。

如果你已经步入职场,那么这本书中的丰富技术内容,绝对能让你大有收获。

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

重要的是,本书的内容超级全面。无论是始于入门的基础理论知识,还是No-Code模型训练必备的ControlNet插件的详解,甚至是AI绘画全流程的操作教程,本书一应俱全,让你提前预知并掌握AI绘画的全貌,将你从菜鸟级别提升至大师级

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

此外,**书中包括了一些非常实用的商业设计案例,**如家具效果图、AI插画与插图、AI宠物、原创IP角色、自媒体运营等,这将为你的创新设计思路添砖加瓦!

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

……

资源丰富,内容详细,各章节知识体系完备,示例形象生动,操作步骤清晰明了,还有读者交流群可与作者互动,本书简直是你学习AI绘画的绝佳教程!

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

朋友们,生活永远充满无限可能。

但是,如果你想把握未来的潮流,扬帆起航,那么记得装备自己,勇往直前。

快来!开始你的AI绘画之旅,与我一起,**用《AI魔法绘画,用stable Diffusion挑战无限可能》探秘AI绘画的奥妙之处,**在不断迭代的技术驱动下,一起走进神奇的AI绘画世界,一起挑战无限可能吧!

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!,优质书籍推荐,人工智能,AI作画

3. 粉丝福利

  🎁本次送书1~3本【取决于阅读量,阅读量越多,送的越多】👈
  ⌛️活动时间:截止到2024-1月13号
  ✳️参与方式:关注博主+三连(点赞、收藏、评论)

4. 自主购买

  小伙伴也可以访问链接进行自主购买哦~

  直达京东购买链接🔗:购买地址《AI魔法绘画:用Stable Diffusion挑战无限可能》文章来源地址https://www.toymoban.com/news/detail-777741.html

到了这里,关于驾驭AI绘画:《AI魔法绘画》带你秒变顶级画手!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 掌握 Midjourney 这些关键词,秒变Ai绘画大神!

    套用公式 1.比如角色人物:  人物名(命名)+描述词(重要词和人物特征词)+设计风格+官方命令词 举例: 进击巨人(特定来源)贝尔托特(人物姓名)Q版形象(重要描述词),设计风格是迪士尼或者皮克斯,且小巧可爱(描述)。(官方 --ar 16:9(比例)) 整理成

    2024年02月09日
    浏览(68)
  • 【AI绘画】用魔法打败魔法,用ChatGPT生成绘画

    随着人工智能技术的不断发展,我们可以利用ChatAI这款大语言模型来辅助我们在绘画过程中获得更多创意和灵感。 它可以快速、自动、准确地从大量原始数据中生成新内容,大大提高了内容创作效率,AI绘画使用机器学习算法,自动识别文本特征,并从原始内容中抽取出有用

    2024年02月13日
    浏览(42)
  • Stable Diffusion:开启AI魔法绘画的无限可能

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 随着人工智能技术的蓬勃发展,图像生成和艺术创作领域掀起了一股新的浪潮。在这股浪潮中,Stable Di

    2024年02月04日
    浏览(48)
  • 揭秘艺术的未来:AI绘画自动生成器的魔法

    A. 介绍AI在艺术创作中的兴起 随着人工智能技术的迅猛发展,它已经逐渐渗透到了各个领域,其中包括艺术创作。传统上,艺术创作一直被认为是人类独有的领域,需要艺术家具备独特的创造力和技能。然而,随着AI技术的崛起,人们开始探索将机器学习和深度学习应用于艺

    2024年04月14日
    浏览(77)
  • Windows下体验Stable Diffusion 近距离感受AI魔法绘画

    🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 专栏 描述 Java项目实战 介绍Java组件安装、使用;手写框架等 Aws服务器实战 Aws Linux服务器上操作nginx、git、JDK、Vue Jav

    2024年02月20日
    浏览(47)
  • 揭秘AI魔法绘画:Stable Diffusion引领无限创意新纪元

    随着科技的飞速发展,人工智能已经渗透到我们生活的方方面面。在艺术领域,AI技术的应用也日益广泛,为我们带来了前所未有的视觉体验。今天,我们将探讨一种名为Stable Diffusion的AI魔法绘画技术,它如何挑战无限可能,为艺术家和设计师提供全新的创作空间。 首先,让

    2024年02月05日
    浏览(67)
  • 人工智能AI绘画工具—将您的灵感瞬间转化为绚丽图像的魔法师

    欢迎踏入迷图网(MidTool)-论文降重AI工具,免费ChatGPT中文版和Midjourney图文创作软件的奇幻画室,Midjourney是一个独立的AI艺术生成工具,一款将艺术与科技无缝结合的绘图巨匠,它利用深度学习算法来创造图像。MidTool不仅仅是一款软件,它是一位理解您心中所想的艺术家,一个能

    2024年02月04日
    浏览(60)
  • 数字魔法AI绘画的艺术奇迹-用Stable Diffusion挑战无限可能【文末送书-12】

    随着人工智能技术的迅猛发展,AI在各个领域展现出惊人的创造力和潜力。在艺术领域,AI技术已经开始崭露头角,其中一项引人注目的技术就是AI魔法绘画。通过机器学习和深度学习算法,AI不仅能够模仿人类艺术家的风格,还能够创造出独一无二的数字艺术品。本文将深入

    2024年02月04日
    浏览(64)
  • 从零开始的AI绘画:MidJourney带你掌握AI绘画的基础和高级技巧

    学习如何在Discord上使用MidJourney机器人,从简单的文本提示中创建自定义图像。 前往Midjourney.com,选择“加入Beta”,或直接进入MidJourney Discord。 在加入MidJourney Discord服务器之前,您必须拥有Discord帐户。 链接: 了解如何创建Discord帐户,请点击这里。 1.2.1 在Midjourney官方服务器

    2024年01月21日
    浏览(47)
  • 带你从零开始入门AI绘画神器Stable Diffusion

    一、本地部署 Stable diffusion 1. 前言 目前市面上比较权威,并能用于工作中的 AI 绘画软件其实就两款。一个叫 Midjourney(简称 MJ),另一个叫 Stable-Diffusion(简称 SD)。MJ 需要付费使用,而 SD 开源免费,但是上手难度和学习成本略大,并且非常吃电脑配置(显卡、内存)。

    2024年02月10日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包