posts - 18,  comments - 18,  views - 82442
  2023年4月30日

最近先后在Windows和Linux设置成功stable-diffusion-webui的环境,现记录一下过程,希望对其他人有用

显卡:Nvidia Geforce RTX 3090

Windows 11

时间:2023/04/30

1. 主流程基本按照这篇知乎文章来的:喂饭级stable_diffusion_webUI使用教程 - 知乎 (zhihu.com),这其中安装git,安装python3,都比较简单

2. Windows装好,Nvidia驱动也就装好了。安装cuda组件,选了和我自己CUDA driver 版本号一致的,没有选最新版

 

 

3. 按知乎文章描述,直接启动webui-user.bat,为了下载包方便,开启了代理,但仍然会碰到一些错误。典型的有:

   3.1 “RuntimeError: Couldn't install gfpgan”,按使用stable diffusion webui时,安装gfpgan失败的解决方案(windows下的操作)_新时代原始人的博客-CSDN博客 解决

   3.2  Clip 安装不上,按打开stable diffusion webui时,提示缺少clip或clip安装不上的解决方案(windows下的操作)_新时代原始人的博客-CSDN博客 解决

   3.3  界面能启动成功,但控制台提示no module ‘xformer’,按How to fix the error No module 'xformers'. Proceeding without it. in Stable diffusion automatic 1111? : r/StableDiffusion (reddit.com) 解决

   3.4 启动后输入提示词,界面显示 'somethign went wrong', 按[Bug]: Something went wrong Expecting value: line 1 column 1 (char 0) · Issue #9150 · AUTOMATIC1111/stable-diffusion-webui · GitHub 描述,去掉代理即可

 

最终,

webui-user.bat 内容如下:

-------------------------------------------------------------------------------------------------------------------------

 @echo off

set PYTHON=C:\Users\kzhan\AppData\Local\Programs\Python\Python310\python.exe
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers

call webui.bat

-------------------------------------------------------------------------------------------------------------------------

启动成功的控制台提示信息长这样:

 启动成功的webui-stable-diffusion长这样:

 这个环境测试的第一张 AIGC图片,prompt:a blue dog sitting on a white paper

 

Ubuntu 20.04

时间:2023.05.20

如果全新安装,那么按照这一篇博客来是最好的:https://ivonblog.com/en-us/posts/linux-stable-diffusion-webui/

 

下面记录碰到过的问题以及解决方法:

1. 安装Nvidia驱动。我的方法是使用Ubuntu自带的“软件和更新”,勾选NVIDIA最新的驱动即可

 

 

2. 安装CUDA Toolkit.

基本上,按照官网步骤来就可以。安装完,一定要做官网这里的Post-installation Actions, 来设置好环境变量,否则 nvcc --version 会提示找不到命令。

提示找不到命令的错误信息里,有提示如何安装nvcc toolkit 的命令。此时如果按照提示的命令执行,会安装一个老版本的nvcc,其实这是不必要的。按照上面说的设置好环境变量即可。如果想卸载老版本nvcc,那么可以按这里的步骤来进行: https://medium.com/@lyl1617670866/how-to-update-cuda-and-cudnn-on-ubuntu-18-04-4bfb762cf0b8 。但其实不卸载应该也可以,我最后就没卸载

这篇StackOverflow 问答详细的解释了为什么有时候nvcc --version和nvidia-smi命令输出的版本号不同

 

3. 如果Nvidia驱动和CUDA Toolkit都装好,那么:

运行 nvcc --version,会显示:

 运行 nvidia-smi,会显示:

 

4. 下载好 stable-diffusion-webui 的git repo, 安装好 python 等之后,直接运行 ./webui.sh,在启动 log 里碰到了“Cannot locate TCMalloc (improves CPU memory usage)”的错误,按https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/10117 里提到的 "sudo apt-get install libgoogle-perftools4 libtcmalloc-minimal4 -y" 命令解决

5. 启动stable-diffusion-webui 界面后,输入prompt,生成图片报错:“RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! ”,按 https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/2373 解决,即在 .webui-user.sh里加上如下启动参数

export COMMANDLINE_ARGS="--precision full --no-half --lowvram --always-batch-cond-uncond --opt-split-attention"

 之后运行 ./webui.sh 即可正常运行

6. 运行过程中出现“RuntimeError: CUDA out of memory. Tried to allocate 8.00 GiB ... try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF”,按https://stackoverflow.com/questions/73747731/runtimeerror-cuda-out-of-memory-how-setting-max-split-size-mb 设置环境变量 “export 'PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512'” 解决

附上prompt: a robot talk to another robot  in a street side coffe shop 的图

posted @ 2023-04-30 14:44 Kai.Zhang 阅读(3033) 评论(0) 推荐(0) 编辑
  2020年3月8日
摘要: Sketchup提供了两套API: (1) C API,主要用于读写SU文件。我们的SU文件导入功能就是用这套API做的 (2)Ruby API,用于开发SU插件 这次我们主要关注Ruby API,因为它是实现更丰富的SU扩展功能的主要方式 阅读全文
posted @ 2020-03-08 14:05 Kai.Zhang 阅读(5855) 评论(2) 推荐(2) 编辑
  2017年4月25日
摘要: 利用P4.net API 修改已提交changelist的描述 阅读全文
posted @ 2017-04-25 09:41 Kai.Zhang 阅读(421) 评论(0) 推荐(0) 编辑
  2016年6月25日
摘要: 本文一共介绍了五种方法来求解数独:回溯法,排列组合法,精确覆盖问题法,模拟退火法以及约束编程法。 阅读全文
posted @ 2016-06-25 07:13 Kai.Zhang 阅读(8258) 评论(9) 推荐(12) 编辑
  2015年8月26日
摘要: 最近工作中某个软件功能出现了退化,追查下来发现是一个类的成员变量没有被正确的初始化。这个问题与C++存在虚继承的情况下构造函数的写法有关。在这里说明一下错误发生的原因,希望对更多的人有帮助。 阅读全文
posted @ 2015-08-26 21:24 Kai.Zhang 阅读(8735) 评论(0) 推荐(0) 编辑
  2015年7月19日
摘要: 最近写了一个微信的翻译机器人。用户只要关注该微信号,发送英文的消息,就能收到中文翻译的回复。后台是用Node.js写的,托管在OpenShift的Paas平台上。翻译过程实际上是调用微软的Bing translation API做的,代码中用到了alexu84的bing-translate和JacksonTian的wechat这两个npm模块。下面把做的过程详细说一下。 阅读全文
posted @ 2015-07-19 22:20 Kai.Zhang 阅读(2717) 评论(0) 推荐(0) 编辑
  2014年12月23日
摘要: 在某些几何软件的开发中,会要求写出一个向量方程的微分公式。对我而言,手工推导繁琐而且容易出错。 早就听说Mathematica, Maple这样的软件可以自动进行符号公式的推导,一直没有时间研究。最近终于应用了一把,发现还是挺简单的。现以求一个“点到直线距离”的方程微分为例,展示一下怎么样用Maple推导向量方程的微分。 阅读全文
posted @ 2014-12-23 14:59 Kai.Zhang 阅读(6743) 评论(0) 推荐(0) 编辑
  2014年7月31日
摘要: 最简单的做法,坐标系的原点可以逐步的平移过去。那坐标系的旋转如何逐步过渡呢?答案是使用四元数的插值(interpolation)。 阅读全文
posted @ 2014-07-31 15:57 Kai.Zhang 阅读(3412) 评论(0) 推荐(0) 编辑
  2014年7月23日
摘要: Visual Studio 2012 默认提供了3种color theme: blue,light,和dark。其中dark的文本编辑器颜色设定很爽,可是整个菜单项加上一些小的窗口如Find Result也是黑底白字让人感觉有点刺眼,看不清。Blue theme的菜单和小窗口都很清爽,可是整个文本编辑器不如Dark theme好看。自己一项项调颜色设置显然是不可能的,我一直想找一种简便的方法把两者结合起来,今天终于找到了,整个操作过程不到一分钟! 阅读全文
posted @ 2014-07-23 13:39 Kai.Zhang 阅读(2274) 评论(0) 推荐(0) 编辑
  2014年6月25日
摘要: Robotics Library是一个开源的做工业机器人仿真的库。这两天折腾了一下把它在Windows平台上编译出来了,过程和官方文档稍有不同,主要是描述了如何在VS2008下编译win32 debug版本的内容。这篇博客就用英文写了,希望对世界上其它想用这个库的人有所帮助。 阅读全文
posted @ 2014-06-25 16:56 Kai.Zhang 阅读(1507) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示