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.
今天的主角是: Huggingface
Huggingface
https://huggingface.co/
Huggingface推出一个扩散模型包“Diffusers”,它是什么呢?它包含了目前可用的大部分稳定扩散模型,使用它可以快速的帮助我们用文字生成图片。
怎么做呢?听我细细道来。
一、注册:
- 打开: https://huggingface.co/ ,点击Sign up。 输入自己的邮箱,记住一定要是真实邮箱哦,因为需要需要接受校验邮件。
- 填写名称,这个随便写写好了,其他的字段可以不写。起个牛逼的名字,不是更嗨皮嘛,哈哈
3.去登录自己注册的邮箱,查看huggingFace 发送的邮件,
- 打开邮件,点击里面的链接,会显示如下,选择继续访问
- 显示如下,验证成功
一定要去验证哦,不然你没有token.就不能愉快的玩耍了。会显示如下
- 点击
-
点击Access Tokens,显示如下,点击New token
-
随便写个名字,role 选择write
- 创建后,如下显示,token 到手
二、准备 Python 环境:
- 首先确认自己有没有安装python。要求3以上的版本。楼主使用的是3.9
- 检查是否有pip。
- 检查是否有git
- 如果没有,请先安装。
重点来了,图片生成需要安装的包:
diffusers
transformers
三、安装步骤:
- 先在电脑上找个地,创建一个文件夹,就叫ai ,然后cd ai 。后面所有的操作都在这个目录下。切记
diffusers
安装- 执行命令,下载diffusers: git clone git@github.com:huggingface/diffusers.git
- 执行命令:cd diffuers
- 执行命令: python setup.py install
- 具体看图。楼主因为把python 软链接到了python3,所以用的python3,大家视情况而定。
- 安装模型: CompVis/stable-diffusion-v1-4,为啥要安装呢,因为这玩意贼大,几个G,如果远程加载,生成一次图片,要多久。。。
-
安装方式一:
2. git clone git@hf.co:CompVis/stable-diffusion-v1-4- 首先要安装了 git-lfs 才可以哦,这玩意就是为了大文件的提交和拉取诞生的。
- 如果是mac的话,可以使用后面的命令进行安装: brew install git-lfs
- 安装 git lfs install
- 但是这种方式,,,因为超级大,所以特别慢,,会卡在这里,你以为它坏了,其实它只是慢。。。。
-
安装方式二: 自己手动下载各个包,然后放到指定的地方。楼主就是这么下载的,,苦逼。可以看到最大的两个包,7个G…
-
安装方式三: 哈哈,为了方便大家,我把下好的都放到的盘里,你懂的。
搜索公众号:游牧人坎布里奇, 输入 ai ,得到下载地址。同时也可以及时更新,避免跟丢了
-
-
安装:torch torchvision
pip3 install torch torchvision
-
安装完检查:
四、上代码
stableHuggDemo.py ,因为是入门级,比较简单:
# make sure you're logged in with `huggingface-cli login`from torch import autocastimport transformersfrom diffusers import StableDiffusionPipelinepipe = 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')
五、准备执行:
- 登录 huggingface-cli login
这里会让你输入token,把之前准备的好token 输入后,再输入y. 就会看到login successful 的提示。
-
展示一下目录:
- 一定要注意 模型 stable-diffusion-v1-4 和代码是否在一起,建议放到一起。
-
执行:
- python3 stableHuggDemo.py
-
结果展示:
知识补充:
Git-lfs:
Git LFS(Large File Storage)是 Git 的扩展,用于管理大型二进制文件。在传统的 Git 版本控制系统中,当需要处理大型二进制文件时(如图像、视频、音频等),Git 会将整个文件存储到版本库中,导致版本库变得庞大且不稳定。而 Git LFS 则可以将这些大型文件存储在一个独立的位置,并在 Git 版本库中保留一份指向该文件的引用,因此可以有效地避免版本库过大的问题。
使用 Git LFS,您可以:
- 更有效地存储和管理大型文件。
- 提高代码库的可维护性和稳定性。
- 加速 Git 操作,特别是对于大型文件的提交和拉取操作。
为了使用 Git LFS,您需要在您的 Git 仓库中启用 LFS 并安装 Git LFS 工具。然后,您就可以将大型二进制文件添加到仓库中,并使用 Git LFS 来管理它们。Git LFS 还提供了一些命令行工具和 API 接口,可以方便地与其他工具进行集成。
总之,Git LFS 是一个非常有用的 Git 扩展,可以帮助管理大型二进制文件并提高代码库的可维护性和稳定性。
-
一个可以使用chatGPT的网站:https://chat.okzhang.com/
为了更好的体验,需要做一个小小的验证。
搜索公众号:游牧人坎布里奇, 输入 chat,得到密码。同时也可以及时更新,避免跟丢了
执行的错误集合:
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`
pip3 install transformers
2. 缺少 accelerate:
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
3. 如果是这个错误,是因为代码:找不到模型,最好代码和模型放在一起,哈哈,大神可以随意
pipe = StableDiffusionPipeline.from_pretrained("stable-diffusion-v1-4")
你可能需要的地址:
mac 安装 brew
https://juejin.cn/post/7202583557751210041
包所在地址:
搜索公众号:游牧人坎布里奇, 输入 ai ,得到下载地址。同时也可以及时更新,避免跟丢了