Bootstrap

Stable Diffusion实现之 Huggingface

Stable Diffusion 以及Huggingface的安装实现

介绍:

Stable Diffusion AI是指将Stable Diffusion模型应用于人工智能领域的相关技术和方法。通常情况下,Stable Diffusion AI主要用于金融、投资等领域,并且广泛应用于期权定价、风险管理等方面。其应用范围也在不断扩大,目前已经被用于自然语言处理、图像处理等领域。

在金融和投资领域,稳定扩散模型可以用于预测股票价格、波动性和风险等,并能够帮助分析投资组合和制定交易策略。通过使用稳定扩散模型,投资者可以根据市场行情预测未来的价格变化,并对其进行规避或利用。

在自然语言处理领域,Stable Diffusion AI被用于文本分类、情感分析、机器翻译等任务中。通过对文本数据进行建模,稳定扩散模型可以捕捉到数据中的随机性和变化性,并且能够更好地描述极端事件的出现,从而提高AI系统的准确性和鲁棒性。

总之,Stable Diffusion AI是一种有着广泛应用前景的人工智能技术,它能够有效地处理随机性和变化性数据,并为各种领域的应用任务提供更好的解决方案。

最近因为chatgpt 的原因,AI 频频上热搜,根据文本生成图像AI 也是更加火爆。。

使用 so easy

因为有开源的预训练模型,所以我们也可以在自己的机器上运行它…

Create Stable Diffusion images from text.

image.png
今天的主角是: Huggingface

Huggingface

https://huggingface.co/

Huggingface推出一个扩散模型包“Diffusers”,它是什么呢?它包含了目前可用的大部分稳定扩散模型,使用它可以快速的帮助我们用文字生成图片。

怎么做呢?听我细细道来。

一、注册:

  1. 打开: https://huggingface.co/ ,点击Sign up。 输入自己的邮箱,记住一定要是真实邮箱哦,因为需要需要接受校验邮件。

Untitled 1.png

  1. 填写名称,这个随便写写好了,其他的字段可以不写。起个牛逼的名字,不是更嗨皮嘛,哈哈

Untitled 2.png

3.去登录自己注册的邮箱,查看huggingFace 发送的邮件,

Untitled 3.png

  1. 打开邮件,点击里面的链接,会显示如下,选择继续访问

Untitled 4.png

  1. 显示如下,验证成功

Untitled 5.png

一定要去验证哦,不然你没有token.就不能愉快的玩耍了。会显示如下

Untitled 6.png

  1. 点击

Untitled 7.png

  1. 点击Access Tokens,显示如下,点击New token
    Untitled 8.png

  2. 随便写个名字,role 选择write

Untitled 9.png

  1. 创建后,如下显示,token 到手
    Untitled 10.png

二、准备 Python 环境:

  1. 首先确认自己有没有安装python。要求3以上的版本。楼主使用的是3.9
  2. 检查是否有pip。
  3. 检查是否有git
  4. 如果没有,请先安装。

重点来了,图片生成需要安装的包:

  1. diffusers
  2. transformers

三、安装步骤:

  1. 先在电脑上找个地,创建一个文件夹,就叫ai ,然后cd ai 。后面所有的操作都在这个目录下。切记
  2. diffusers 安装
    1. 执行命令,下载diffusers: git clone [email protected]:huggingface/diffusers.git
    2. 执行命令:cd diffuers
    3. 执行命令: python setup.py install
    4. 具体看图。楼主因为把python 软链接到了python3,所以用的python3,大家视情况而定。

Untitled 11.png

  1. 安装模型: CompVis/stable-diffusion-v1-4,为啥要安装呢,因为这玩意贼大,几个G,如果远程加载,生成一次图片,要多久。。。
    1. 安装方式一:
      2. git clone [email protected]:CompVis/stable-diffusion-v1-4

      1. 首先要安装了 git-lfs 才可以哦,这玩意就是为了大文件的提交和拉取诞生的。
      2. 如果是mac的话,可以使用后面的命令进行安装: brew install git-lfs
      3. 安装 git lfs install
        Untitled 12.png
      4. 但是这种方式,,,因为超级大,所以特别慢,,会卡在这里,你以为它坏了,其实它只是慢。。。。
    2. 安装方式二: 自己手动下载各个包,然后放到指定的地方。楼主就是这么下载的,,苦逼。可以看到最大的两个包,7个G…
      image.png

    3. 安装方式三: 哈哈,为了方便大家,我把下好的都放到的盘里,你懂的。

      搜索公众号:游牧人坎布里奇, 输入 ai ,得到下载地址。同时也可以及时更新,避免跟丢了

image.png

  1. 安装:torch torchvision

    pip3 install torch torchvision

  2. 安装完检查:

    Untitled 15.png

四、上代码

stableHuggDemo.py ,因为是入门级,比较简单:

   # make sure you're logged in with `huggingface-cli login`
    from torch import autocast
    import transformers
    from diffusers import StableDiffusionPipeline
    
    pipe = StableDiffusionPipeline.from_pretrained("stable-diffusion-v1-4")
    
    prompt = "a photo of a flying dog"
    image = pipe(prompt, guidance_scale=7.5).images[0]
    image.save('test.png')

五、准备执行:

  1. 登录 huggingface-cli login

Untitled 16.png

这里会让你输入token,把之前准备的好token 输入后,再输入y. 就会看到login successful 的提示。

  1. 展示一下目录:

    1. 一定要注意 模型 stable-diffusion-v1-4 和代码是否在一起,建议放到一起。

    Untitled 17.png

  2. 执行:

    1. python3 stableHuggDemo.py
  3. 结果展示:

    Untitled 18.png

知识补充:

Git-lfs:

Git LFS(Large File Storage)是 Git 的扩展,用于管理大型二进制文件。在传统的 Git 版本控制系统中,当需要处理大型二进制文件时(如图像、视频、音频等),Git 会将整个文件存储到版本库中,导致版本库变得庞大且不稳定。而 Git LFS 则可以将这些大型文件存储在一个独立的位置,并在 Git 版本库中保留一份指向该文件的引用,因此可以有效地避免版本库过大的问题。

使用 Git LFS,您可以:

  1. 更有效地存储和管理大型文件。
  2. 提高代码库的可维护性和稳定性。
  3. 加速 Git 操作,特别是对于大型文件的提交和拉取操作。

为了使用 Git LFS,您需要在您的 Git 仓库中启用 LFS 并安装 Git LFS 工具。然后,您就可以将大型二进制文件添加到仓库中,并使用 Git LFS 来管理它们。Git LFS 还提供了一些命令行工具和 API 接口,可以方便地与其他工具进行集成。

总之,Git LFS 是一个非常有用的 Git 扩展,可以帮助管理大型二进制文件并提高代码库的可维护性和稳定性。

  1. 一个可以使用chatGPT的网站:https://chat.okzhang.com/

    Untitled 19.png

为了更好的体验,需要做一个小小的验证。
搜索公众号:游牧人坎布里奇, 输入 chat,得到密码。同时也可以及时更新,避免跟丢了

image.png

执行的错误集合:

1. 缺少 transformers

ImportError: 
StableDiffusionPipeline requires the PyTorch library but it was not found in your environment. Checkout the instructions on the
installation page: https://pytorch.org/get-started/locally/ and follow the ones that match your environment.

StableDiffusionPipeline requires the transformers library but it was not found in your environment. You can install it with pip: `pip
install transformers`

Untitled 20.png

pip3 install transformers

Untitled 21.png

2. 缺少 accelerate:

Untitled 22.png

Cannot initialize model with low cpu memory usage because `accelerate` was not found in the environment. Defaulting to `low_cpu_mem_usage=False`. It is strongly recommended to install `accelerate` for faster and less memory-intense model loading. You can do so with: 

pip3 install accelerate
Untitled 23.png

3. 如果是这个错误,是因为代码:找不到模型,最好代码和模型放在一起,哈哈,大神可以随意

pipe = StableDiffusionPipeline.from_pretrained("stable-diffusion-v1-4")

Untitled 24.png

你可能需要的地址:

mac 安装 brew

https://juejin.cn/post/7202583557751210041

包所在地址:

搜索公众号:游牧人坎布里奇, 输入 ai ,得到下载地址。同时也可以及时更新,避免跟丢了

image.png

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;