AIGC - Stable Diffusion 搭建【从零到一】

AIGC - Stable Diffusion 搭建



1. Huggingface Token

url = ’‘
1. 注册获取账号
2. 生成获取用户项目token

2. Cloud GPU

url = '' # 可租用矩池云
1. 注册获取账号
2. 选择GPU档次及预装型号(建议huggingface,Pytorch)
3. huggingface-cli login  # Cloud服务器通过token验证 | 下载模型 
4. JupyterLab 
   pip3 install diffusers 
   pip3 install accelerate
   pip3 install spacy ftfy==4.4.3
   

3. autocover.txt

import diffusers, torch, os
from time import strftime, localtime

model_id = "CompVis/stable-diffusion-v1-4"
device = torch.device("cuda")
pipe = diffusers.StableDiffusionPipeline.from_pretrained(model_id, use_auth_token=True)
pipe = pipe.to(device)
image = pipe(prompt).images[0]
timeprint = strftime("%Y%m%d%H%M%S", localtime())

fldpath = os.path.join('/mnt/', 'xxx/img')
if not os.path.exists(fldpath):
    os.mkdir(fldpath)
img_filenm = f'{timeprint}.png'
image.save(os.path.join(fldpath, img_filenm))
print(f'{timeprint}.png')

4. userinput_write_pyfile.py:

def userinput_write_pyfile(user_input,local_put_path):
	'''
	- 将用户输入的文字信息写入远程py待执行文件中
	'''
    import os
    f = open(local_put_path,'r')
    index = 0
    lines = []
    for line in f.readlines():
        index +=1
        if index == 3:
            prompt = f'prompt = "{
     
     user_input}"'
            lines.append(prompt)
        lines.append(line)
    usr_path = os.path.join(os.path.expanduser('~'), 'Desktop/SSH/upload')
    pyfilepath = os.path.join(usr_path,'autocover.py')
    pf = open(pyfilepath,'w')
    for line in lines:
        pf.write(''.join(line))
    pf.close()
    return pyfilepath

5. SSH API

# -*- coding:utf-8 -*-
def get_SSH_account():
    host         =  ""            # 远程服务器ip
    port         =  0000          # 远程服务器端口
    password     =  ""            # 远程服务器密码
    user         =  ""            # 远程服务器用户名
    account_info = [host,port,password,user]    # 返回SSH登陆信息
    return account_info
    
def SSH_connection(user_input,accounts,paths,write_py, specail_fname,is_DownloadALL,filter_fname):
    import paramiko,os,time
    (host, port, password, user) = accounts
    (remote_get_path, remote_put_paths, local_get_path, local_put_paths, pyfilepath, python_path) = paths

    class Pysftp(object):
        """
        python3 自动上传、下载文件
        """
        global local_put_paths, local_put_path, local_get_path, remote_put_paths,remote_put_path, remote_get_path, pyfilepath, python_path

        def __init__(self, host, port, user, password):
            self.host = host
            self.port = port
            self.user = user
            self.password = password

        def connect(self):
            """
            建立ssh连接
            """
            self.ssh = paramiko.SSHClient()
            self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            self.ssh.connect(self.host, self.port, self.user, self.password)
            print("[SSH] -> 连接成功")

        # def cmd (self, cmd):
        #     """
        
<think>好的,用户想了解如何搭建AIGC系统或环境,以及使用的工具和框架。我需要结合之前的引用内容来组织回答。首先,用户提到参考了OpenAI、Amazon SageMaker、StableDiffusion等,所以应该分步骤介绍搭建流程,并推荐不同的工具选项。第步,确定应用场景。根据引用3,AIGC应用在新闻、电商、艺术创作等领域,需要明确用户的具体需求,比如文本生成还是图像生成。第二步,选择技术架构。引用2提到Amazon的三层架构,可能需要分为数据层、模型层和应用层。同时,引用1和2都提到了云服务,比如OpenAI API和AmazonSageMaker,这些都是关键工具。需要列出不同模块的选项,比如基础模型用GPT-3或Stable Diffusion开发框架用TensorFlow或PyTorch。第三步,环境搭建部分,需要分本地和云环境。本地部署可能适合小型项目,但云服务更适合大规模应用。引用2中的SageMaker可以快速部署,应该详细说明步骤,比如创建实例、上传代码等。 第四步,系统集成方面,API接口是关键,比如RESTful或gRPC。引用1提到基于OpenAIAPI搭建,这里可以举例说明如何调用。另外,引用4的内容审核可能需要集成审核模块,比如使用深度学习分类器,但用户的问题可能不需要深入,但可以提及。工具推荐部分要分类,基础模型、开发框架、云平台、部署工具等,每个类别给出例子,比如HuggingFace Transformers、AWS SageMaker、Docker等。最后,注意事项要强调硬件需求、数据隐私和内容审核,引用4的内容审核部分可以作为挑战点。相关问题部分需要根据回答内容生成,比如性能优化、国产替代、审核机制等,确保问题与搭建步骤相关。</think>### 如何搭建AIGC系统或环境? #### 搭建流程分步解析 1. **确定应用场景** 根据需求选择生成内容类型(文本/图像/音频/视频),例如: - 文本生成:使用$GPT-3$/$GPT-4$模型 - 图像生成:使用$Stable\ Diffusion$/$DALL·E$ - 代码生成:使用$Codex$/$StarCoder$ 不同场景对应不同模型架构和训练数据[^3]。 2. **选择技术架构** 典型的AIGC系统包含以下模块: ```mermaid graph TD A[数据预处理] --> B(模型训练/微调) B --> C[API接口封装] C --> D[内容审核模块] D --> E[应用层集成] ``` - **基础模型**:可选择预训练模型(如$Hugging\ Face\ Transformers$库) - **开发框架**:$TensorFlow$/$PyTorch$/$JAX$ - **部署平台**:Amazon SageMaker(快速部署ML模型)[^2]、Azure ML 3. **环境搭建** **方案:本地开发环境** ```bash # 安装PyTorch和Hugging Face库 conda create -n aigc python=3.9 pip install torch transformers diffusers ``` **方案二:云平台部署(以SageMaker为例)** ```python from sagemaker.huggingface import HuggingFaceModel # 部署Stable Diffusion模型 hub_config = {'HF_MODEL_ID':'stabilityai/stable-diffusion-2'} predictor = HuggingFaceModel(env=hub_config).deploy() ``` 云服务提供自动扩缩容和GPU资源管理[^2]。 4. **系统集成** - 通过RESTful API暴露生成能力: ```python from fastapi import FastAPI app = FastAPI() @app.post("/generate") async def generate(prompt: str): return {"result": model.generate(prompt)} ``` - 集成内容审核模块(如使用$BERT$检测违规内容)[^4] #### 二、核心工具推荐 | 类别 | 工具/框架 | 特点 | |--------------|-----------------------------|-----------------------------| | **基础模型** | Hugging Face Transformers | 提供$BERT$/$GPT-2$等200+预训练模型 | | **云平台** | Amazon SageMaker | 支持键部署Stable Diffusion[^2] | | **开发框架** | PyTorch Lightning | 简化分布式训练流程 | | **部署工具** | Docker + Kubernetes | 容器化部署方案 | #### 三、注意事项 1. **硬件需求**:图像生成需$NVIDIA\ A100$等高性能GPU 2. **数据隐私**:敏感数据建议使用私有化部署 3. **内容审核**:必须集成过滤系统避免法律风险[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值