【AI】用 GPT 帮小兔子画肖像

举报
sidiot 发表于 2023/10/20 23:00:13 2023/10/20
【摘要】 继帮小兔子完成了作一首诗词,写一篇文章之后,小兔子又有新的想法了;小兔子说,新年到了,她想要一张自画像,但是她自己又画不来,拜托博主用 GPT 帮她画一个;人美心善的博主当然是欣然答应了;

前言

这不兔年到了,薅薅兔毛;

继帮小兔子完成了 作一首诗词写一篇文章 之后,小兔子又有新的想法了;

小兔子说,新年到了,她想要一张自画像,但是她自己又画不来,拜托博主用 GPT 帮她画一个;

人美心善的博主当然是欣然答应了;

训练

准备一批训练集和一批验证集作为预训练的数据集,对两个数据集的图文对进行相似性打分,筛选 score 大于0.2的作为最终的预训练数据集;

初始化 text encoder,先只训练 text encoder,以便保留原始模型的生成能力且实现中文概念的对齐;

最终在一百万的图文对上训练了一个 epoch;

应用

1、导入对应的包:

from diffusers import StableDiffusionPipeline

TIPS

要注意 transform 和 torch 的版本,因为新旧版本有所改动,会出现版本不兼容的情况,要么就是修改源码,省力点的就直接将这两个包更新到最新;

博主这里的版本更新变动如下:

  • transform : 4.17.0 -> 4.25.1
  • torch : 1.6.0 -> 1.13.0

2、初始化:

pipe = StableDiffusionPipeline.from_pretrained(check_point).to("cuda")

3、得到结果:

prompt = '兔子,新年,油画'
img = pipe(prompt, ...).images[0]  
  

解决问题


cannot import name 'EntryNotFoundError' from 'huggingface_hub.utils'

这个报错可以从字面进行理解,就是说没有 utils 中没有 EntryNotFoundError,直接进入源码进行查看:

...

from huggingface_hub.utils import EntryNotFoundError, RepositoryNotFoundError, RevisionNotFoundError

...

except RepositoryNotFoundError:
    raise EnvironmentError(
        f"{pretrained_model_name_or_path} is not a local folder and is not a valid model identifier"
        " listed on 'https://huggingface.co/models'\nIf this is a private repository, make sure to pass a"
        " token having permission to this repo with `use_auth_token` or log in with `huggingface-cli"
        " login`."
    )
except RevisionNotFoundError:
    raise EnvironmentError(
        f"{revision} is not a valid git identifier (branch name, tag name or commit id) that exists for"
        " this model name. Check the model page at"
        f" 'https://huggingface.co/{pretrained_model_name_or_path}' for available revisions."
    )
except EntryNotFoundError:
    raise EnvironmentError(
        f"{pretrained_model_name_or_path} does not appear to have a file named {cls.config_name}."
    )

发现只用在了 抛出异常 这块代码里,因此博主一开始就直接将这一段注释掉了,结果还有下一个报错;


cannot import name 'ModelOutput' from 'transformers.utils'

这个报错就属于是新旧版本的变动了,直接查看官方文档;

博主原先的 transformers 版本是 4.17.0,ModelOutput 是在 transformers.file_utils 里面的,如下图所示: 

而在最新的 transformers 版本 4.25.1 中,ModelOutput 是在 transformers.utils 里的,因此才引起的这个报错; 

当然可能在前面几个版本就已经改动了,这里博主只看了最新版本的官方文档;


module 'torch.nn' has no attribute 'SiLU'

这个也是因为版本问题造成的;

博主之前的 torch 版本是 1.6.0,可以看到官方文档 torch.nn 中并没有 SiLU

image.png

但是下个版本 1.7.0 就有了,不过博主最后还是更新到了 1.13.0 版本:

image.png

后记

以上就是 【AI】用 GPT 帮小兔子画肖像 的全部内容了。

希望本篇博文对大家有所帮助!

系列文章:

💖 我是 𝓼𝓲𝓭𝓲𝓸𝓽,期待你的关注;

👍 创作不易,请多多支持;

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。