星海智算:SD3.5-stable diffusion3.5已开源

模型介绍:

这是目前最强大的开源AI绘画模型之一,它不仅可以在普通电脑上运行,而且根据Stability AI社区许可协议提供多种使用权限。现在你可以从Hugging Face下载Stable Diffusion 3.5 Large和Stable Diffusion 3.5 Large Turbo模型,相关代码也已在GitHub开源。

使用教程:

1、注册算力云平台:星海智算

进入星海智算平台,点击【GPU实例】,即可创建实例。

2、在【选择配置】中,可选择不同区域的显卡。

3、在【镜像市场】点击更换镜像,选择木木夕_SD3.5L-网页版镜像确认后在实例创建页面点击<立即创建>即可。

4、创建成功等待4-5分钟,看到<运行中>即可开始使用,点击应用链接即可跳转到对应的WebUI。

5、待程序打开后呈现的就是Stable Diffusion3.5L-网页版主页面

首先,点击左下角的【Workflod】工作流,选择【Browse Templates】浏览模板就可以看到四种不同的工作流类型,我们选择第一种SD3.5L-网页版的文生图工作流,在栏中输入正向提示词,例如输入:

A young woman stands confidently in a minimalist black Dao袍, its loose and flowing design contrasting with the lush peony garden around her. The Dao袍's wide sleeves and open front reveal glimpses of her form, while the deep black fabric absorbs the vibrant colors of the surrounding flowers, creating a striking visual effect.

【一位年轻女子自信地站在一件极简主义的黑色道袍中,宽松飘逸的设计与她周围郁郁葱葱的牡丹园形成鲜明对比。道袍的宽袖和敞开的正面露出她的身材,而深黑色的面料吸收了周围花朵的鲜艳色彩,营造出引人注目的视觉效果。】

点击中间的【Queue】队列按钮就能开始运行了

等待一段时间,最右侧就是生成的效果了。

最后,看一下完整的图,Stable Diffusion 3.5L-网页版在图像质量、字体处理、复杂提示理解以及资源效率方面都实现了显著提升。它能够生成更清晰、更细腻的图像,尤其在细节捕捉和整体视觉效果上有质的飞跃。

作品展示:

 

了解更多详情看下方:

### 如何训练 Stable Diffusion 3.5-Large 模型 #### 准备工作环境 为了成功训练 `stable-diffusion-3.5-large` 模型,需先配置适当的工作环境。这通常涉及安装必要的依赖库以及设置硬件加速器如 GPU 或 TPU。 对于 Python 环境而言,推荐使用 Anaconda 来管理包和虚拟环境[^2]: ```bash conda create -n sd python=3.9 conda activate sd pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 ``` #### 获取预训练权重 下载官方发布的 `SD 3.5 Large/TurBo` 版本的模型文件,并将其保存到指定目录下,通常是 `models/checkpoint` 文件夹内[^1]。 #### 数据集准备 高质量的数据集是获得良好效果的关键因素之一。建议收集至少数千张图片用于微调(Fine-tuning),并按照特定格式整理好数据结构以便后续处理。 #### 训练过程概述 由于该模型已经过充分训练,在大多数情况下只需执行迁移学习或微调操作即可满足实际需求。具体来说就是基于现有参数基础上继续迭代优化目标函数直到收敛为止。 可以参考如下命令来启动一次简单的微调流程: ```python from diffusers import UNet2DConditionModel, DDPMScheduler import datasets from transformers import CLIPTextModel, CLIPTokenizer from accelerate import Accelerator from tqdm.auto import tqdm import torch.nn.functional as F import os model_id = "path_to_your_model" tokenizer = CLIPTokenizer.from_pretrained(model_id, subfolder="tokenizer") text_encoder = CLIPTextModel.from_pretrained(model_id, subfolder="text_encoder").to("cuda") unet = UNet2DConditionModel.from_pretrained(model_id, subfolder="unet").to("cuda") dataset = datasets.load_dataset(&#39;your_custom_dataset&#39;) optimizer = ... # Define your optimizer here. noise_scheduler = DDPMScheduler(beta_start=0.00085, beta_end=0.012) accelerator = Accelerator() unet, optimizer = accelerator.prepare(unet, optimizer) for epoch in range(num_epochs): progress_bar = tqdm(total=len(train_dataloader)) for batch in train_dataloader: with accelerator.accumulate(unet): clean_images = batch[&#39;pixel_values&#39;].to(accelerator.device) noise = torch.randn(clean_images.shape).to(clean_images.device) timesteps = torch.randint( 0, noise_scheduler.config.num_train_timesteps, (clean_images.shape[0],), device=clean_images.device ).long() noisy_images = noise_scheduler.add_noise(clean_images, noise, timesteps) encoder_hidden_states = text_encoder(batch["input_ids"].to(device))[0] model_pred = unet(noisy_images, timesteps, encoder_hidden_states).sample loss = F.mse_loss(model_pred.float(), target.float()) accelerator.backward(loss) optimizer.step() scheduler.step() optimizer.zero_grad() save_path = os.path.join(output_dir,f"checkpoint-{epoch}") unet.save_at(save_path) ``` 此脚本展示了如何加载预训练模型、定义损失函数计方式及更新策略等内容。需要注意的是上述代码仅为框架示意用途,真实场景中还需根据具体情况调整超参设定等细节部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值