政安晨【AIGC实践】(一):在Kaggle上部署使用Stable Diffusion

目录

简述

开始

配置

执行

安装完毕,一键运行

结果展示


政安晨的个人主页:政安晨****

欢迎 👍点赞✍评论⭐收藏

收录专栏: 人工智能数字虚拟世界实践

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

这篇文章咱们基于Kaggle来快速部署StableDiffusion并进行测试,帮助一些仅仅用SD做点实验的小伙伴快速使用起来。

简述

Stable Diffusion 3 是Stability AI最新的文本到图像模型,在处理多主题提示、卓越的图像质量和拼写准确性方面实现了重大飞跃。目前,该模型正处于早期预览阶段,提供从 800M 到 8B 参数的各种配置,使各种硬件配置的使用更加平民化。

StableDiffusion是一款基于人工智能和图计算技术的AIGC(Artificial Intelligence in Graph Computing)工具。它的主要功能是对图数据进行稳定扩散分析。

稳定扩散分析是一种用于探索数据中的稳定点、传播趋势和影响力的技术。在社交网络、疾病传播模型、舆情分析等领域,稳定扩散分析都有广泛的应用。

StableDiffusion通过分析图数据中的节点和边的关系,可以识别出信息传播的路径和影响力传递的强度。同时,它还可以计算节点的稳定性,即每个节点对传播过程的贡献程度和稳定程度。

StableDiffusion使用了先进的机器学习算法和图计算技术,可以自动发现数据中的隐藏模式和趋势。它能够处理大规模的图数据,并提供高效的计算和可视化工具,帮助用户深入了解数据中的稳定扩散过程。

总而言之,StableDiffusion是一款强大的AIGC工具,可以帮助用户进行稳定扩散分析,并发现数据中的关键信息和趋势。它在社交网络分析、疾病传播模型、舆情分析等领域具有广泛的应用前景。


开始

首次使用时注册并登录Kaggle:

Kaggle: Your Machine Learning and Data Science CommunityKaggle is the world's largest data science community with powerful tools and resources to help you achieve your data science goals.https://www.kaggle.com/

Kaggle是一个在线的数据科学竞赛平台和社区,它的目标是为数据科学家和机器学习专家提供一个交流和合作的平台。Kaggle的成员可以参加各种数据科学竞赛,解决现实世界中的数据挑战。这些竞赛涵盖了广泛的主题,包括预测模型建立、图像识别、自然语言处理等。

**Kaggle的竞赛通常由数据提供者和参赛者组成。数据提供者提供数据集和问题描述,参赛者可以通过分析数据、应用机器学习算法来解决问题,并提交他们的解决方案和预测结果。**Kaggle提供了一套完整的工具和API,方便参赛者进行数据分析、建模和评估。参赛者可以通过排行榜查看自己在竞赛中的排名,并与其他参赛者交流和分享经验。

**除了竞赛,Kaggle还拥有一个活跃的社区平台,数据科学家可以在这里分享他们的项目、代码和洞见。Kaggle还举办数据科学讲座和培训活动,为用户提供学习和进阶的机会。**同时,Kaggle还允许数据科学家通过与企业和组织合作,解决真实世界的数据挑战,并获得奖金和荣誉。

总之,Kaggle是一个充满活力的数据科学竞赛平台和社区,为数据科学家和机器学习专家提供了一个交流、学习和合作的平台。通过参加Kaggle的竞赛,人们能够锻炼自己的数据分析和建模能力,并将其应用于实际问题的解决中。

你注册Kaggle后,将拥有一套30小时免费使用的环境,按照我下图这样,把GPU配置起来。

配置

# Choose UI language 选择界面语言
import json
import os
from IPython.display import display, HTML
from ipywidgets import Dropdown, Layout

# Function to update the config files based on the selected language
def update_config(language):
    # Define file paths
    config_path = '/kaggle/working/stable-diffusion-webui/config.json'
    theme_config_path = '/kaggle/working/stable-diffusion-webui/extensions/sd-webui-lobe-theme/lobe_theme_config.json'
    
    # Update `config.json`
    config = {}  # Initialize an empty config
    if os.path.exists(config_path):
        with open(config_path, 'r') as file:
            config = json.load(file)
    
    config['localization'] = "None" if language == 'en' else "chinese-english-0313"
    
    with open(config_path, 'w') as file:
        json.dump(config, file, indent=4)
    
    # Update `lobe_theme_config.json`
    theme_config = {}  # Initialize an empty theme config
    if os.path.exists(theme_config_path):
        with open(theme_config_path, 'r') as file:
            theme_config = json.load(file)
    
    theme_config['i18n'] = "en_US" if language == 'en' else "zh_CN"
    
    with open(theme_config_path, 'w') as file:
        json.dump(theme_config, file, indent=4)
    
    print("Config updated to English." if language == 'en' else "配置已更新为简体中文。")

# Apply the font size change to the dropdown
display(HTML("""<style>.widget-dropdown .widget-label { font-size: 22px; }</style>"""))

dropdown = Dropdown(
    options=[('English', 'en'), ('简体中文', 'zh')],
    description="Click to Choose Display Language / 点击选择界面语言",
    style={'description_width': 'initial'},
    layout=Layout(width='50%')
)

dropdown.observe(lambda change: update_config(change.new), names='value')
display(dropdown)

把上面代码复制到单元格中,执行。

不会使用Jupyter Notebook的小伙伴可以参考我的这篇文章:
政安晨的机器学习笔记------示例讲解机器学习工具Jupyter Notebook入门(超级详细)https://blog.csdn.net/snowdenkeke/article/details/135880886

执行

接下来运行启动参数:

# 启动参数
arguments = '--theme dark --enable-insecure-extension-access --disable-safe-unpickle --no-hashing --xformers'

执行脚本:

%%bash

# 复制数据集路径下的汉化版Stable Diffusion WebUI到工作路径 (Copy dataset to working space)
cp -r /kaggle/input/stable-diffusionwebui/sd_cn_all/stable-diffusion-webui .

# - 项目依赖 Dependency - #
apt-get update
apt-get install -y google-perftools
pip install xformers==0.0.24
python -m pip cache purge

# - remotemoe 内网穿透 Kaggle ( 'https://www.kaggle.com/rumbare' ) - #
mamba install openssh -y
mkdir -p ~/.ssh/
touch ~/.ssh/known_hosts
ssh-keyscan -t rsa remote.moe >> ~/.ssh/known_hosts
rm -rf /root/.ssh/id_rsa
ssh-keygen -t rsa -b 4096 -f /root/.ssh/id_rsa -q -N ""

安装完毕,一键运行

%cd stable-diffusion-webui

# - 安装完毕,去掉下面行首的井号运行 (Remove the hash sign at the beginning of the following line to run after installation is complete) - #
# !python launch.py {arguments} & ssh -R 80:127.0.0.1:7860 -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa remote.moe

当然,您也可以运行左上角的这个,全部执行:

执行过程预计几分钟,请耐心等待。等左边的执行状态不转圈了,表示执行结束。

这是我的配置,尤其注意一些选项打开。

结果展示

部署完成后,在最后这个单元格的执行里,点击该链接。

看到这个表示部署完成:

当然,你的连接肯定与我的不一样,而且每次生成也不一样。


相关推荐
阡之尘埃1 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
孙同学要努力3 小时前
全连接神经网络案例——手写数字识别
人工智能·深度学习·神经网络
Eric.Lee20213 小时前
yolo v5 开源项目
人工智能·yolo·目标检测·计算机视觉
其实吧34 小时前
基于Matlab的图像融合研究设计
人工智能·计算机视觉·matlab
丕羽4 小时前
【Pytorch】基本语法
人工智能·pytorch·python
ctrey_4 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习
SongYuLong的博客5 小时前
Air780E基于LuatOS编程开发
人工智能
Jina AI5 小时前
RAG 系统的分块难题:小型语言模型如何找到最佳断点?
人工智能·语言模型·自然语言处理
-派神-5 小时前
大语言模型(LLM)量化基础知识(一)
人工智能·语言模型·自然语言处理
johnny_hhh5 小时前
AI大模型重塑软件开发流程:定义、应用场景、优势、挑战及未来展望
人工智能