一、研究背景
-
1.1 AI作图的由来
AI作图的由来源于计算机视觉领域的发展。传统的图像处理方法需要依赖手工编写规则来提取和分析图像中的特征,耗费大量时间和人力,且受人眼主观不同等问题的限制。随着深度学习模型的出现,计算机可以通过训练数据自动学习图像质量、色彩、纹理等特征,从而让计算机自动地生成图像,成为了AI作图技术的新起点。最早的AI作图技术是生成对抗网络(GAN),利用两个神经网络相互博弈的方式生成数据,并不断迭代来提升生成的图像质量。随后,AI作图技术不断快速发展,如今可以生成高质量的三维图像和动态漫画等,逐渐在数字艺术、游戏、电影、广告等领域广泛应用。
计算机视觉:一种使用计算机和数学算法来解决图像和视频分析问题的技术。计算机视觉领域旨在让计算机更好地理解和解释视觉信息。它的任务包括图像分类、目标检测、图像分割、人脸识别和目标跟踪等。计算机视觉技术在很多领域都需要用到,比如安防监控、智能交通、医学影像分析、自动驾驶等。其核心是使用模型和算法将数字图像等视觉信息转换为计算机可以识别和处理的信息,这些信息通常是数字化的矩阵或向量,利用这些信息让计算机完成一系列任务。
-
1.2 AI作图的原理
AI作图的原理是通过深度学习模型对大量图像进行学习,寻找到图像的规律和特征,然后可以根据这些规律和特征生成新的图像。这里的深度学习模型通常采用生成式对抗网络(GAN)等先进的模型。GAN是由两个互相博弈的神经网络组成的模型,生成器负责生成数据,判别器负责区分真实数据和生成数据。在GAN中,生成器和判别器不断相互博弈,生成器逐渐学习到不同样本的特征,最终生成的图像质量也得到了极大的提升。另外,AI作图技术还可以使用自编码器、变分自编码器等模型。自编码器利用神经网络将原图像编码为低维度的特征向量,再利用解码器将特征向量重构为新图像,变分自编码器则在自编码器的基础上加入随机性,使得生成的图像更加多样化。尽管现在的AI作图技术已经非常先进,但其原理仍然是基于大量的数据和深度学习模型来学习图像的特征和规律,并通过不断优化模型来提高生成的图像质量。
深度学习:一种机器学习方法,利用神经网络来模拟人脑神经元的工作过程,从而实现对数据进行特征提取和预测分析的过程。在AI作图中,深度学习可以通过大规模的训练数据和神经网络模型来学习图像的规律和特征,从而生成新的图像。深度学习的优点是具有非常强大的建模能力和泛化能力,能够处理各种类型的图像,对于细节和纹理等特征的提取也更加精确和准确。
生成式对抗网络(GAN):一种深度学习模型,由生成器和判别器两部分组成。生成器试图生成以假乱真的数据,判别器则负责将真实数据和生成的数据分别进行判断和分类。两个网络不断博弈,生成器逐渐学习到真实数据的特征和规律,生成的数据质量也在不断提高。GAN模型在生成图片、视频、文本等方向上都取得了非常好的表现,并且在艺术创作、图像生成、数据增强、视频创作等领域都有广泛的应用。
-
1.3 AI作图的未来趋势
AI作图的未来趋势将在多个行业中得到广泛应用。其中最重要的行业包括:游戏行业、电影及影视制作行业、工业制造行业等。(1)在游戏行业中,AI作图技术能够提供极高的真实感和个性化体验,从而增强游戏画面、场景和角色的视觉效果。(2)在电影及影视制作行业中, AI作图技术可以大大减少制作成本,实现更加高质量的特效和CG动画,为影视制作行业带来更加注目的效果。(3)在工业制造行业中,AI作图技术可以用于工业设计领域的视觉化,例如在复杂部件制造中,可以通过AI模拟出复杂零部件的三维模型,快速检验效果并减少制造成本。此外,AI作图技术还可以应用于医疗行业、艺术创作等领域,为现代社会带来更多创新性的使用体验。
二、思路讲解
-
2.1 大概思路
1.环境准备:在网上找到一些女性图像,或者用手机拍摄一些女性照片。您还需要下载并安装Python,以及一些Python库,例如numpy、Pillow、Matplotlib等。
2.模型选择:建议先从GAN模型入门。GitHub上有一些GAN模型的实现代码,您可以从中选择其中的一个模型并下载。例如CycleGAN,StarGAN等,这些模型已经在大量图片数据上进行了训练。
3.模型训练:打开命令行窗口或终端,并导航到您下载的代码的文件夹。运行命令来训练模型,例如: python train.py
4.图像生成:当模型训练完成后,您可以运行一些生成图像的代码并查看生成的女性图像。例如,在cycleGAN中,这可以通过运行 python test.py 命令来实现。
5.后处理:还可以使用Pillow库对所生成的图像进行后处理,以使其看起来更加真实和自然。
-
2.2 第一步:环境准备
-
2.3 第二步:模型选择
可以在以下地址找到CycleGAN的GitHub下载链接:https://github.com/junyanz/CycleGAN。
这是CycleGAN的官方实现,包括训练、生成、测试等代码。可以从GitHub页面上下载zip压缩包,或者使用git clone命令从GitHub上进行克隆。在GitHub页面中还提供了一些常见问题的解答和API文档等资料,这对新手来说非常有用。
由于种种原因,有时候Github的访问可能会很慢或者根本无法访问。以下是一些可行的解决方案:
1.使用清华大学的镜像站点(推荐):清华大学维护着一个Github镜像站点,多数时候访问速度较快、稳定。您可以使用这个镜像站点来替代Github主站。例如,在Github的下载链接中,将github.com替换为hub.fastgit.org即可。
2.安装VPN或使用科学上网工具:通过安装VPN或科学上网工具可以访问全球范围内的网络资源,包括Github。
3.使用镜像软件或代理:使用一些常见的镜像软件或代理服务器可以加速Github的访问。
-
2.4 第三步:模型训练
1.准备数据集:您需要准备两个不同风格的图像集,这将成为CycleGAN的两个域。例如,一个域可以是真实的照片,另一个域可以是草图或卡通样式的图片。您需要将两个域的图像分别存储在不同的文件夹中。通常情况下,训练CycleGAN需要大量的数据来获得更好的效果,特别是当您想要在真实图像和卡通图像之间进行转换时。一般来说,图像集中的图像越多,模型的训练效果就越好。通常,建议至少有几百张不同的图像对,以及几万张单个域的图像。当然,这也取决于您的计算机能力和训练模型的时间。如果想使用AI生成美女图像,则需要找到一个大规模的人脸图像数据集,并用它来训练一个深度学习的模型。以下是一些公开的人脸图像数据集,你可以使用它们来训练AI模型:① CelebA人脸属性数据集:http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html,② 百度AI Studio 人体关键点检测数据集:https://aistudio.baidu.com/aistudio/datasetoverview/2
2.训练模型:您可以使用CycleGAN库中提供的train.py文件进行模型训练。运行该文件时,您将需要提供以下参数:--dataroot:数据集的根目录,包含两个文件夹,每个文件夹存储一个域的图像。--name:输出模型的名称,例如“style_transfer”。--model:选择使用的模型(“cycle_gan”)。--direction:设置两个域之间的方向,例如“AtoB”表示从域A到域B。--gpu_ids:使用的GPU的ID。--batch_size:每个训练周期使用的批次大小。--print_freq:输出训练信息的频率。--display_freq:在训练期间显示图片的频率。--save_epoch_freq:定期保存模型的周期。--n_epochs:训练周期的数量。
例如,以下是一个训练样例:python train.py --dataroot ./datasets/style_transfer --name style_transfer --model cycle_gan --direction AtoB --gpu_ids 0 --batch_size 1 --print_freq 100 --display_id -1 --save_epoch_freq 5 --n_epochs 200
。在训练过程中,模型将不断学习如何将一个域的图像映射到另一个域的图像。
3.测试模型:一旦模型训练完成,您就可以使用test.py文件测试它。test.py文件接受以下参数:--dataroot:测试数据集的根目录。--name:训练期间保存的模型名称,例如“style_transfer”。--model:选择使用的模型(“cycle_gan”)。--direction:设置两个域之间的方向,例如“AtoB”表示从域A到域B。--num_test:要测试的图像数量。--gpu_ids:使用的GPU的ID。
例如,以下是一个测试样例:python test.py --dataroot ./datasets/style_transfer/testA --name style_transfer --model cycle_gan --direction AtoB --num_test 1 --gpu_ids 0
。这个命令会将testA目录中的第一张图像从域A转换为域B,并将结果存储在指定的输出文件夹中。
-
2.5 第四步:图像生成和后处理
使用 CycleGAN 生成图像需要先进行模型训练,然后再进行图像转换。CycleGAN 官方代码库提供了相应的训练代码和测试代码。以下是利用 CycleGAN 进行图像转换的具体步骤:在命令行中输入以下代码来启动 CycleGAN 图像转换:
python test.py --dataroot ./datasets/<dataset_name> --name <experiment_name> --model cycle_gan --no_dropout
。其中,--no_dropout参数用于关闭模型中的 dropout 操作,从而使输出图像更加清晰。等待短暂的时间,生成的图像将会出现在指定的输出文件夹中。你可以通过查看生成文件夹中的图像观察结果。
生成的图像通常需要进行后处理,以获得更好的视觉效果。以下是一些常见的图像后处理技术:(1) 调整对比度和亮度:如果图像太暗或太亮,可以使用图片处理工具或代码库进行调整。例如,OpenCV 是一个常用的图片处理库,提供了许多可用于调整对比度和亮度的 API。(2) 锐化图像:可以使用一些滤波器或其他图像处理技术来使图像更加清晰。例如,可以使用锐化滤波器、Unsharp Masking(USM)等技术来增加图像的清晰度。(3) 裁剪和调整尺寸:可以根据需要来缩放或裁剪图像。例如,如果生成的图像太大,可以将其缩放到更合适的大小。(4) 色彩平衡:如果图像中出现了过多绿色或紫色等偏色,可以使用色彩平衡来进行纠正。例如,Photoshop 中提供了许多用于进行色彩平衡的工具。以上是一些常见的图像后处理技术。根据不同的应用场景,可能需要使用不同的技术来处理生成的图像,以获得更好的视觉效果。
三、动手操作
-
3.1 真人转漫画:AnimeGAN
考虑到国内目前公开的大规模真人数据集比较少,训练的时间也比较长,我就跳过这一步了,直接使用二次元妹子的预训练模型。目前已经有很多公开的已经训练好的CycleGAN模型可以使用,比如 AnimeGAN:https://github.com/TachibanaYoshino/AnimeGAN
这是一个基于TensorFlow的二次元风格化生成器,可以训练生成高分辨率、高质量的艺术化二次元美女图片,支持将真人照片转换成动漫风格。要使用预训练的 AnimeGAN 模型进行测试,可以按照以下步骤进行:非常抱歉,看来我搞错了。我之前回答的是针对AnimeGANv1项目的测试步骤。对于你提到的AnimeGAN项目,的确没有test目录和model.ckpt文件,因为它使用的是预训练好的模型。
如果你想要测试这个模型,你可以按照以下步骤进行:
1.准备测试图像:在项目的test_images目录中放入一些你要测试的图像。
2.运行测试脚本:在AnimeGAN目录下,运行以下命令:python test.py --checkpoint_dir pretrained --test_dir test_images --style_name HAYAO
其中,--checkpoint_dir指定模型的路径,--test_dir指定测试图像文件夹路径,--style_name指定转换成的风格,这里选择的是HAYAO。如果你把预训练模型放在了其他路径下,记得对应修改--checkpoint_dir参数。
3.查看输出图像:转换后的图像将保存在results目录中,你可以在该目录下查看转换后的图像。
可以看到好像这个模型效果一般啊,有点优化的风格,懒得继续找其他模型了,接下来直接作图吧这才是我的重心,真人哪有AI美女香啊。
2023-05-31 14:41:13.407443: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found
2023-05-31 14:41:13.408158: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
checkpoint/generator_Hayao_weight
WARNING:tensorflow:From test.py:39: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.
WARNING:tensorflow:From test.py:41: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.
WARNING:tensorflow:
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
* https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
* https://github.com/tensorflow/addons
* https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.
WARNING:tensorflow:From C:\python36\lib\site-packages\tensorflow_core\contrib\layers\python\layers\layers.py:1057: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.
Instructions for updating:
Please use `layer.__call__` method instead.
WARNING:tensorflow:From C:\Users\YYDL\Desktop\AnimeGAN-master\net\generator.py:86: The name tf.image.resize_images is deprecated. Please use tf.image.resize instead.
WARNING:tensorflow:From C:\Users\YYDL\Desktop\AnimeGAN-master\net\generator.py:29: The name tf.get_variable is deprecated. Please use tf.compat.v1.get_variable instead.
WARNING:tensorflow:From test.py:44: The name tf.trainable_variables is deprecated. Please use tf.compat.v1.trainable_variables instead.
WARNING:tensorflow:From test.py:45: The name tf.train.Saver is deprecated. Please use tf.compat.v1.train.Saver instead.
WARNING:tensorflow:From test.py:47: The name tf.GPUOptions is deprecated. Please use tf.compat.v1.GPUOptions instead.
WARNING:tensorflow:From test.py:48: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.
WARNING:tensorflow:From test.py:48: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.
2023-05-31 14:41:18.678792: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2023-05-31 14:41:18.697353: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2023-05-31 14:41:18.753037: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties:
name: GeForce MX150 major: 6 minor: 1 memoryClockRate(GHz): 1.5315
pciBusID: 0000:02:00.0
2023-05-31 14:41:18.754964: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found
2023-05-31 14:41:18.757676: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cublas64_100.dll'; dlerror: cublas64_100.dll not found
2023-05-31 14:41:18.762377: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cufft64_100.dll'; dlerror: cufft64_100.dll not found
2023-05-31 14:41:18.763989: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'curand64_100.dll'; dlerror: curand64_100.dll not found
2023-05-31 14:41:18.766636: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cusolver64_100.dll'; dlerror: cusolver64_100.dll not found
2023-05-31 14:41:18.768313: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cusparse64_100.dll'; dlerror: cusparse64_100.dll not found
2023-05-31 14:41:18.769875: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found
2023-05-31 14:41:18.770008: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1641] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
2023-05-31 14:41:18.878300: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:
2023-05-31 14:41:18.878483: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165] 0
2023-05-31 14:41:18.880487: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0: N
[*] Success to read Hayao-60.ckpt
0%| | 0/8 [00:00<?, ?it/s]2023-05-31 14:41:19.412086: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 214171648 exceeds 10% of system memory.
2023-05-31 14:41:19.831952: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 214171648 exceeds 10% of system memory.
2023-05-31 14:41:20.346514: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 215188480 exceeds 10% of system memory.
2023-05-31 14:41:20.529690: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 214171648 exceeds 10% of system memory.
2023-05-31 14:41:21.120315: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 214171648 exceeds 10% of system memory.
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 8/8 [05:19<00:00, 39.98s/it]
test-time: 319.86175441741943 s
one image test time : 39.98271930217743 s
result path: results/HAYAO
这是一份 TensorFlow 的日志信息。其中包含了一些警告以及一些 TensorFlow 运行时的配置信息,其中包括:CPU支持的指令集:AVX2。找到的GPU设备:名称为GeForce MX150,主版本号为6,次版本号为1,显存频率为1.5315 GHz。加载动态库时出现的错误信息,提示缺少某些CUDA和cuDNN的库文件,并提供了链接到安装文档的网址。提示缺少GPU库,所以没有注册GPU设备。“Success to read Hayao-60.ckpt”(成功读取Hayao-60.ckpt)表示训练模型加载成功。接下来的一些输出是CPU内存分配方面的警告,可能是因为分配给当前程序的内存超过了系统总内存的10%。最后几行输出表示测试的一些相关信息,包括测试时间、每张图片测试的时间、结果的保存路径等。
-
3.2 无中生有:StyleGAN2
(1)安装 CUDA 10.0
根据 TensorFlow 官方文档的说明,TensorFlow 1.15.0版本所需要的 CUDA 版本是 CUDA 10.0,而 cuDNN 7.6.x 版本是与 CUDA 10.0 兼容的版本之一。下面是在 Windows 平台上安装 CUDA 10.0 及对应版本的 cuDNN 库的具体步骤:
1.访问 NVIDIA 的官方网站 https://developer.nvidia.com/cuda-toolkit-archive ,选择CUDA Toolkit 10.0
的版本,并选择与您的操作系统和GPU硬件匹配的版本。
2.安装完成后,需要重新启动计算机才能使安装的 CUDA 驱动程序生效。
3.安装完 CUDA 后,您需要在系统环境变量中添加 CUDA 的路径。
(2)安装 cuDNN 库
1.在 NVIDIA 开发者社区网站上下载 cuDNN 库 https://developer.nvidia.com/rdp/cudnn-download。选择与您的 CUDA 版本和操作系统相匹配的版本。
2.解压缩下载的压缩包并将解压缩的文件放在您选择的目录中,例如C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0
(CUDA 10.0 的安装目录)。
3.然后,需要将 cuDNN 库添加到系统环境变量中。找到您的path
变量,然后将 cuDNN 库添加到path
变量中,例如C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/lib/x64
。
4.最后,将 cuDNN 库复制到 CUDA 安装目录中的相应文件夹中,例如:
将bin/cudnn64_7.dll
复制到C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/bin
。
将include/cudnn.h
复制到C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/include
。
将lib/x64/cudnn.lib
复制到C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/lib/x64
。
(3)安装 MSVC 2017
根据 NVIDIA 的官方文档,CUDA 10.0 目前仅支持到 MSVC 2017 的版本。如果你使用的是 MSVC 2022,可能会出现不兼容的问题,导致编译 CUDA 代码失败。
(4)StyleGAN2
StyleGAN2是目前较为先进的基于GAN模型的图像生成方法之一,下面简单列出基于PyTorch实现的StyleGAN2具体的使用步骤。
1.准备数据集:StyleGAN2以图像为基础,确保你有准备好的合适大小的图片数据集。在使用StyleGAN2-ADA训练模型时,数据集大小的要求视具体任务和场景而定。一般来说,对于较为简单的任务和小规模的数据集,使用数千张图像就足够了;而对于更为复杂的任务和大规模的数据集,需要使用数十万张图像或更多。下面我只是举个例子:
2.安装依赖:确保已经安装好了Python、PyTorch、numpy、Pillow、scipy等相关依赖库。
3.下载源码:下载源码并解压缩到本地目录,https://github.com/NVlabs/stylegan2-ada。
4.训练模型:首先,训练模型之前,你需要准备好图像数据集。在stylegan2-ada-pytorch
仓库中提供了一个预处理数据集的脚本dataset_tool.py
,你可以使用此脚本将你的图像数据集转换为.tfrecords
格式。
例如,假设你的图像数据存放在/mydata/images
目录下,你可以使用以下命令将它转换为.tfrecords
格式:python dataset_tool.py create_from_images /path/to/tfrecords /mydata/images
其中/path/to/tfrecords
是你想要保存.tfrecords
文件的目录。运行上述命令可能需要较长时间,因为它需要对原始图像进行裁剪、缩放和增强等操作以生成高质量的数据集。
在准备好数据集之后,可以使用train.py
脚本来训练模型。例如,以下命令启动一个基础的 StyleGAN2-ADA 训练任务:python train.py --outdir=out --data=tfrecords
其中--outdir
参数指定了输出路径,可以是相对或绝对路径,而--data
参数指定了.tfrecords
文件所在的路径。你还可以使用其他可用参数来进一步配置训练任务,例如--gpus
和--batch-kimgs
参数。
5.生成图片:至于如何生成美女图片,可以使用generate.py
脚本从训练好的模型中生成图像。例如,以下命令生成一批 16 张1024 x 1024
大小的美女图像:python generate.py generate-images --network=/path/to/network.pkl --seeds=0-15 --truncation-psi=0.7
。其中--network
参数指定了训练好的模型文件的路径,而--seeds
参数指定了一批图像的随机种子。可以使用--truncation-psi
参数调整图像的样式强度。
当然,也可以下载预先训练的人脸模型:可以在 https://github.com/NVlabs/stylegan2-ada/blob/main/pretrained/README.md 中找到各种训练好的模型,以及下载链接。运行 run_generator.py 脚本生成图像。例如,运行以下命令生成512x512分辨率的人脸图像:python run_generator.py generate-images --network=<path-to-pkl-file> --seeds=0-999 --truncation-psi=1.0
四、麻瓜快速上手
-
4.1 在线平台
1.MakeGirlsMoe:该网站可以根据用户选择的参数,生成二次元或三次元的女性人物模型,同时提供对模型进行自定义操作和修改的功能。网站地址:https://make.girls.moe/
2.3D换脸编辑器:这是一个在线网站,可以将您上传的相片自动转为3D模型,并且支持通过界面上的模型调整工具进行细节编辑。链接:https://www.artbreeder.com/
3.DeepNude Online:该网站使用深度学习技术,生成具有真实逼真的人物模型。需要说明的是,DeepNude 是一款具有很高争议性的人工智能软件,它使用深度学习技术生成具有真实逼真的人物模型,但同时也存在那种问题。就不发链接了,哈哈哈哈...
-
4.1 集成项目
Chilloutmix + Korean Doll Likeness是一个基于AI的绘图项目,该项目通过结合Chilloutmix(轻松的放松音乐类型)和Korean Doll Likeness(韩国娃娃的外形)创造出一种独特的风格。该项目利用了深度神经网络技术,可以产生出令人惊艳的高清晰度图像,从而灵活、快速地创建出一个样式绚丽的虚拟人物形象。通过该项目,您可以在一个小时内完成一个基于Chilloutmix+Korean Doll Likeness主题的数字艺术品。该项目既具有艺术性又具有实用性,可以广泛应用于数字创意,动画设计,游戏开发等领域。参考教程:AI生成三次元美少女,有手就能行!Chilloutmix +Korean Doll Likeness_哔哩哔哩_bilibili
UserWarning: CUDA initialization: CUDA driver initialization failed, you might not have a CUDA gpu. (Triggered internally at ..\c10\cuda\CUDAFunctions.cpp:109.)
return torch._C._cuda_getDeviceCount() > 0
Warning: caught exception 'CUDA driver initialization failed, you might not have a CUDA gpu.', memory monitor disabled
No module 'xformers'. Proceeding without it.
==============================================================================
You are running torch 1.12.1+cu113.
The program is tested to work with torch 1.13.1.
To reinstall the desired version, run with commandline flag --reinstall-torch.
Beware that this will cause a lot of large files to be downloaded, as well as
there are reports of issues with training tab on the latest version.
Use --skip-version-check commandline argument to disable this check.
==============================================================================
[AddNet] Updating model hashes...
0it [00:00, ?it/s]
[AddNet] Updating model hashes...
0it [00:00, ?it/s]
SD-Webui API layer loaded
Loading weights [3a17d0deff] from C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\models\Stable-diffusion\chilloutmix_Ni.ckpt
Creating model from config: C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\configs\v1-inference.yaml
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Loading VAE weights specified in settings: C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\models\VAE\vae-ft-mse-840000-ema-pruned.ckpt
Textual inversion embeddings loaded(0):
Model loaded in 182.4s (load weights from disk: 38.6s, find config: 2.0s, load config: 1.2s, create model: 14.9s, apply weights to model: 100.2s, load VAE: 25.0s, load textual inversion embeddings: 0.2s).
Error executing callback after_component_callback for C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\extensions-builtin\roll-artist\scripts\roll-artist.py
Traceback (most recent call last):
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\modules\script_callbacks.py", line 185, in after_component_callback
c.callback(component, **kwargs)
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\extensions-builtin\roll-artist\scripts\roll-artist.py", line 43, in after_component
add_roll_button(global_prompt)
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\extensions-builtin\roll-artist\scripts\roll-artist.py", line 19, in add_roll_button
roll = gr.Button(value=art_symbol, elem_id="roll", visible=len(shared.artist_db.artists) > 0)
AttributeError: module 'modules.shared' has no attribute 'artist_db'
Error executing callback after_component_callback for C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\extensions-builtin\roll-artist\scripts\roll-artist.py
Traceback (most recent call last):
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\modules\script_callbacks.py", line 185, in after_component_callback
c.callback(component, **kwargs)
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\extensions-builtin\roll-artist\scripts\roll-artist.py", line 47, in after_component
add_roll_button(global_prompt)
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\extensions-builtin\roll-artist\scripts\roll-artist.py", line 19, in add_roll_button
roll = gr.Button(value=art_symbol, elem_id="roll", visible=len(shared.artist_db.artists) > 0)
AttributeError: module 'modules.shared' has no attribute 'artist_db'
Running on local URL: http://127.0.0.1:7860
初始化输出记录包含了关于程序运行环境和警告的信息,具体如下:
警告指出 CUDA 初始化失败,可能是因为没有 CUDA 设备(显卡)可用。警告提示出现了异常,同时决定禁用内存监视器。提示没有名为 'xformers' 的模块。告知用户当前使用的 PyTorch 版本以及程序测试使用的 PyTorch 版本不同,建议重新安装所需版本。提示可以使用 --skip-version-check 命令行参数来禁用这个版本检查。正在更新模型哈希值。正在处理一个迭代器,但是迭代器为空,所以没有迭代。SD-Webui API层已经加载。正在从指定路径加载权重。正在从指定路径创建模型。正在以eps-prediction模式运行LatentDiffusion。DiffusionWrapper有859.52M个参数。正在从指定路径加载VAE权重。文本反演嵌入已加载。模型已加载,包括从磁盘加载权重、查找配置、加载配置、创建模型、将权重应用于模型、加载VAE和加载文本反演嵌入。在执行回调函数时发生错误。属性错误,这里是说在modules.shared模块中没有artist_db属性。在执行C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\extensions-builtin\roll-artist\scripts\roll-artist.py这个Python脚本中的after_component_callback回调函数时出错了。具体来说,是在调用add_roll_button函数时出错了,因为在这个函数中使用了一个名为shared.artist_db的变量,但是这个变量在modules.shared模块中不存在。URL地址是本地服务器的地址,可以通过这个地址在浏览器中访问该服务器。
To create a public link, set `share=True` in `launch()`.
[openOutpaint] Could not force allowed files. Skipping...
5%|████▏ | 1/20 [00:58<18:40, 58.95s/it]Error completing request | 0/20 [00:00<?, ?it/s]
Arguments: ('', [], False, -1) {}
Traceback (most recent call last):
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\modules\call_queue.py", line 56, in f
res = list(func(*args, **kwargs))
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\modules\ui_common.py", line 46, in save_files
data = json.loads(js_data)
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\python\lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\python\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\YYDL\Desktop\stable-diffusion-webui_23-01-20\python\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [09:55<00:00, 29.76s/it]
Total progress: 100%|██████████████████████████████████████████████████████████████████| 20/20 [09:17<00:00, 27.87s/it]
第一行提示需要在
launch()
函数中设置share=True
来创建一个公共链接。
第二行是一个警告,表示无法强制允许某些文件,因此跳过了这些文件的处理。
接下来的输出显示了程序的进度,其中100%
表示程序已经完成。
最后几行是一个错误消息,指出在解析JSON数据时出现了错误,因为JSON数据的格式不正确。
再试一试修改关键词,就用这一张比较符合我审美的图吧~~