这谁顶得住啊!AI绘画模型竟然可以画出质量逼真的黑丝!

大家好,我是程序员晓晓

今天看到一个有趣的AI绘画玩法,用SD画黑丝!话不多说,开始今天的实战演练。

首先做好准备工作:部署好本地Stable Diffuison

然后就轮到今天的主角上场了

黑丝Lora模型:perfectpantyhose

这是一款叫perfectpantyhose的Lora模型,一个中国大神制作的Lora模型,模型训练时,比较精细,使用时不会影响其他大模型或lora模型。这个Lora模型质量比较高,生成真人和二次元人物均可,只适用于生成黑丝。

不过原作者已经在C站上删除了该模型,可能已经绝版了,没关系,我已经整理好了,需要的小伙伴可以扫描下载。

在图生图功能中使用该模型试试效果,这里我使用的基础模型还是爆火的 majicMIX realistic麦橘写实。

正向提示词:

1girl,sitting on a cozy couch,crossing legs,soft light

反向提示词:

(worst quality:2),(low quality:2),(normal quality:2),lowres,watermark,badhandv4,ng_deepnegative_v1_75t,

下载好 perfectpantyhose模型,并放置在stable diffuison webui\models\Lora目录中。
点击生成区第4个按钮,选择Lora选项卡,点击perfectpantyhose即可启用此Lora模型。或者直接在正向提示词输入框里输入即可启用,后面那个小数就是比重,可以根据自己喜好酌情修改。

以下图这位小姐姐为例,将其拖到图生图区域

此时还要进行一个操作,就是启用ControlNet插件里的canny,以保证生成的图片姿势外观基本不变。配置按下方的图示即可。

如果没有这个插件的可以单独安装

官方下载地址为https://huggingface.co/webui/ControlNet-modules-safetensors/blob/main/control_canny-fp16.safetensors

注意:如无法下载,请扫描获取插件安装包哦

一定要注意,这个control_canny-fp16.safetensors文件要放在ControlNet文件夹,不然无法识别出来。

设置没问题后,就可以生成图片了

以0.85的比重为例

生成前后对比就很明显了,大家可以根据自己的喜好修改这个比重


除此之外再来试试另外一款叫“20D黑丝”的Lora模型,这款作者介绍是专注于“打造美妙的20D黑丝图片”的Lora模型。

使用流程跟上面的模型基本一致,需要注意的是:

权重:推荐0.4~0.7

提示词:需要将“20d”添加到提示词中

并且配合“chilloutmix”模型,效果更佳。

扫描下载20D黑丝模型,并放置在stable diffuison webui\models\Lora目录中。点击生成按钮下方的紫色按钮,选择Lora选项卡,点击20D黑丝即可启用此Lora模型。

选一张美美的图片,试试效果,即lora:20d:0.7

可以看到,生成前后的效果还是很明显的

另外值得一提的是,如果生成的图片发现有肢体畸形,加反向提示词都拯救不了的话,可能是控制权重太大了,将1改为0.8或更低数值试下就没问题了。

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

若有侵权,请联系删除
  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 培训 AI 绘画模型的步骤如下: 1. 准备数据集:首先,你需要准备一组绘画作品的图像数据,这些图像将用于训练 AI 模型。你可以从互联网上搜索绘画作品的图像,或者可以使用你自己的绘画作品来作为训练数据。 2. 准备训练和测试数据:接下来,你需要将你的数据集分为训练数据和测试数据两部分。通常,我们使用 70% 的数据作为训练数据,30% 的数据作为测试数据。这样做是为了在训练模型完成后,能够用测试数据来评估模型的性能。 3. 构建模型:接下来,你需要选择一种模型架构并构建模型。常用的模型架构包括卷积神经网络 (CNN) 和生成对抗网络 (GAN)。你可以使用 Python 库如 TensorFlow 或 PyTorch 来构建模型。 4. 训练模型:在构建好模型后,你需要使用训练数据来训练模型。这一过程中,模型将会学习绘画作品的细节和特征,并逐步提升自己的绘画能力。 5. 评估 ### 回答2: 要训练出AI绘画模型,首先需要获取大量的绘画数据集,并对数据进行预处理。以下是详细的Python代码示例: 1. 数据采集和预处理: ```python import os import cv2 import numpy as np # 读取原始绘画数据 data_dir = 'path_to_training_data_directory' images = [] for file_name in os.listdir(data_dir): file_path = os.path.join(data_dir, file_name) image = cv2.imread(file_path) images.append(image) # 图像数据预处理,包括灰度化、调整大小等 preprocessed_images = [cv2.resize(cv2.cvtColor(image, cv2.COLOR_BGR2GRAY), (256, 256)) for image in images] # 将图像数据转为numpy数组 preprocessed_images = np.array(preprocessed_images) # 将图像数据归一化为0-1范围 preprocessed_images = preprocessed_images.astype('float32') / 255.0 # 保存预处理后的图像数据 np.save('preprocessed_images.npy', preprocessed_images) ``` 2. 构建模型: ```python import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, Flatten, Dense # 加载预处理后的图像数据 preprocessed_images = np.load('preprocessed_images.npy') # 创建模型 model = Sequential() model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(256, 256, 1))) model.add(Flatten()) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(256, activation='relu')) model.add(Dense(1, activation='sigmoid')) # 编译模型 model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) # 训练模型 model.fit(preprocessed_images, preprocessed_images, batch_size=32, epochs=10) ``` 3. 模型训练完成后,可以使用该模型进行绘画: ```python import matplotlib.pyplot as plt # 随机选择一张图像数据 random_index = np.random.randint(0, preprocessed_images.shape[0]) input_image = preprocessed_images[random_index] # 使用模型进行预测 output_image = model.predict(np.array([input_image])) # 原始图像 plt.subplot(1, 2, 1) plt.imshow(input_image, cmap='gray') plt.title('Input Image') # 输出图像 plt.subplot(1, 2, 2) plt.imshow(output_image.reshape((256, 256)), cmap='gray') plt.title('Output Image') plt.show() ``` 通过以上的步骤和代码,你可以训练出一个AI绘画模型,并使用该模型进行绘画。但是需要注意的是,由于绘画是一种复杂的创造性任务,训练结果可能会有限,需要根据实际情况进行模型调整和数据处理,以获得更好的绘画效果。 ### 回答3: 要训练出一个AI绘画模型,我们可以利用深度学习技术,并使用Python编写代码。以下是一个简单的步骤: 1. 数据准备:收集足够数量的绘画图像作为训练数据。可以通过网络爬虫或从公开数据集下载图像。最好包含各种绘画风格和主题,以增强模型的多样性。 2. 数据预处理:对图像进行预处理,包括图像缩放、裁剪和标准化。可以使用Python的OpenCV库来处理图像。 3. 模型选择和搭建:选择一个适合绘画的深度学习模型,如卷积神经网络(CNN)或生成对抗网络(GAN)。根据图像的风格和要求进行模型搭建。可以使用Python的深度学习库,如TensorFlow或PyTorch来搭建模型。 4. 模型训练:将准备好的训练数据输入到模型中,使用反向传播算法和优化器进行训练。可以尝试使用不同的超参数来优化模型性能,如学习率和批量大小等。 5. 模型评估和调优:使用测试集对训练好的模型进行评估,并根据评估结果调整模型。可以使用Python的评估指标库,如scikit-learn来进行评估。 6. 模型应用:训练好的模型可以用于生成新的绘画图像。将随机噪声输入到模型中,通过模型的前向传播过程生成新的图像。可以使用Python的图像处理库,如PIL或OpenCV来保存和展示生成的图像。 下面是一个示例代码,使用TensorFlow搭建一个简单的GAN模型: ```python import tensorflow as tf from tensorflow.keras import layers # 模型定义 def make_generator_model(): model = tf.keras.Sequential() model.add(layers.Dense(7*7*256, use_bias=False, input_shape=(100,))) model.add(layers.BatchNormalization()) model.add(layers.LeakyReLU()) model.add(layers.Reshape((7, 7, 256))) model.add(layers.Conv2DTranspose(128, (5, 5), strides=(1, 1), padding='same', use_bias=False)) model.add(layers.BatchNormalization()) model.add(layers.LeakyReLU()) model.add(layers.Conv2DTranspose(64, (5, 5), strides=(2, 2), padding='same', use_bias=False)) model.add(layers.BatchNormalization()) model.add(layers.LeakyReLU()) model.add(layers.Conv2DTranspose(1, (5, 5), strides=(2, 2), padding='same', use_bias=False, activation='tanh')) return model # 模型训练 def train_model(): (train_images, _), (_, _) = tf.keras.datasets.mnist.load_data() # 数据预处理 train_images = train_images.reshape(train_images.shape[0], 28, 28, 1).astype('float32') train_images = (train_images - 127.5) / 127.5 BUFFER_SIZE = 60000 BATCH_SIZE = 256 # 创建数据集 train_dataset = tf.data.Dataset.from_tensor_slices(train_images).shuffle(BUFFER_SIZE).batch(BATCH_SIZE) generator = make_generator_model() generator_optimizer = tf.keras.optimizers.Adam(1e-4) cross_entropy = tf.keras.losses.BinaryCrossentropy(from_logits=True) @tf.function def train_step(images): noise = tf.random.normal([BATCH_SIZE, 100]) with tf.GradientTape() as gen_tape: generated_images = generator(noise, training=True) gen_loss = cross_entropy(tf.ones_like(generated_images), generated_images) gradients_of_generator = gen_tape.gradient(gen_loss, generator.trainable_variables) generator_optimizer.apply_gradients(zip(gradients_of_generator, generator.trainable_variables)) epochs = 50 for epoch in range(epochs): for image_batch in train_dataset: train_step(image_batch) return generator # 模型应用 def generate_images(generator): noise = tf.random.normal([1, 100]) generated_image = generator(noise, training=False) # 将生成的图像从[-1, 1]恢复到[0, 1] generated_image = 0.5 * generated_image + 0.5 # 保存和展示图像 tf.keras.preprocessing.image.save_img("generated_image.png", generated_image[0]) generated_image.show() generator_model = train_model() generate_images(generator_model) ``` 以上是一个简单的AI绘画模型的训练和应用步骤,代码中的GAN模型可以生成MNIST数字数据集的手写数字图像。你可以根据自己的需求和数据集进行适当的修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值