【AI】用 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
:
但是下个版本 1.7.0 就有了,不过博主最后还是更新到了 1.13.0 版本:
后记
以上就是 【AI】用 GPT 帮小兔子画肖像 的全部内容了。
希望本篇博文对大家有所帮助!
系列文章:
💖 我是 𝓼𝓲𝓭𝓲𝓸𝓽,期待你的关注;
👍 创作不易,请多多支持;
- 点赞
- 收藏
- 关注作者
评论(0)