机器心脏报告
机器之心编辑部
火的稳定扩散现在也可以在苹果电脑上运行了。
最近慕尼黑大学等机构发布的文本-图像新模型Stable Diffusion可以说是火了,生成的图片也恰如其分地达到了大片的水平:
生物进化
稳定扩散可以在消费级GPU上10 GB VRAM下运行,几秒钟生成512×512像素的图像,无需预处理和后处理。
最重要的是,稳定扩散是开源的,任何人都可以运行和修改。
有些研究者甚至把它和Web UI“放在一起”,两者结合成绘画工具,让没有系统学习过UI知识的人也能使用。无需手动输入参数,只需调整滑块:
在城堡外面安排一个保镖,让一个骑马的士兵跑到城堡里。
你可能也想体验一次稳定扩散带来的创作体验,却因为资源有限而无法实现?不用担心,可以在云上运行稳定的扩散。除此之外,你还可以为你有能力的朋友在本地运行。
如果要在本地运行,可能会有点复杂。例如,在M1 Mac的GPU上工作就有点棘手。在这里,本文将介绍一个简单的指南,告诉你如何做到这一点。
实现过程
首先,你需要一台Mac用M1或M2筹码;其次是16GB RAM,如果是8GB RAM,运行起来会很慢;最后是macOS 12.3以上。
先决条件准备好之后,下一步是设置Python,版本是Python 3.10。如果不知道python版本,可以运行python -V来检查:
$ python3 -V!11338Python 3.10.6如果您的Python是3.10或更高版本,可以跳过下一步。否则需要安装Python 3.10,最简单的方法就是用自制。安装方法如下:
brew更新brew安装python克隆存储库并安装依赖项
Python安装完成后,下一步是安装稳定扩散:
git clone-b apple-silicon-MPs-support https://github.com/bfirsh/stable-diffusion.gitcd稳定扩散\ n mkdir-p models/LDM/稳定扩散-v1/这里需要设置virtualenv来安装依赖项:
Python 3-m pip安装virtualenv \ npython 3-m virtualenvenv,然后激活virtualenv:
激活源venv/bin/activate后,安装依赖项:
Pip install -r requirements.txt如果您看到类似“onnx的building wheel失败”的错误,您可能还需要安装这些软件包:
brew安装Cmake protobuf rust下载权重
转到拥抱脸存储库,阅读许可证,然后点击“访问存储库”。在本页下载sd-v1-4.ckpt (~4 GB)并保存在models/LDM/stable-diffusion-v1/model . ckpt目录下。
拥抱脸仓库地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original
当一切准备就绪,稳定扩散就可以运行了:
python scripts/txt 2 img . py \ \ n-prompt '一个漂浮在外太空的红汁苹果,像一颗行星' \ \ n-n _ samples1-n _ iter1-PLMS输出结果保存在outputs/txt 2 img-samples//目录下,就像
整个过程可以在大约15秒内生成512×512的图像:
一些链接:
运行云稳定扩散:https://replicate.com/blog/run-stable-diffusion-with-an-api
稳定扩散GitHub:https://github.com/magnusviri/stable-diffusion
本文参考链接:https://replicate.com/blog/run-stable-diffusion-on-m1-mac
参数图是什么
新学期开始,很多同学在过年的时候拿了很多压岁钱,所以打算新学期来的时候给自己买一台全新的主机。
为此,我们针对学生党用户群体中的诸多硬件选购问题,特别推出了专栏《开学购机宝典》,将分阶段介绍主板、显卡、鼠标键盘、存储、CPU、机箱电源、散热器、显示器的相关知识。我们本期的话题是——显卡,主机中最基础的硬件之一。
很多玩家在选购显卡的时候都是抱着“显卡贵肯定好”的态度。虽然道理是真的,但是往往会变成一个,要花很多钱,但是实际使用的时候他们根本用不了那么多性能。
更何况学生党对显卡的认识还停留在显存和频率这两点上。当他真的想比较英伟达GTX 1070和GTX 1060 3G的区别时,他说不出为什么。
泰坦Xp星球大战珍藏版(图片来自网络)
所以这次笔者给开学想换显卡,但又不太了解的学生玩家做一个详细的科普,让你详细了解显卡的参数是什么,对你以后选显卡有很大的帮助。
既然要给大家大致介绍一下显卡的各种参数,首先推荐一款非常好用的软件。GPU-Z是TechPower推出的软件之一,熟悉DIY的玩家一定会很熟悉。这个软件也是大部分显卡发烧友和游戏玩家都配备的,我们就用GPU-Z进行详细分析。
GPU-Z绝对是图形爱好者的必备工具。它可以轻松的帮你看到所有的显卡参数,甚至帮你看到电压和显卡温度的一些监测数据。接下来我们来看看GPU-Z上显示的这些参数是干什么用的。首先,我们来看看整体的显示界面。
这分为两部分。第一部分主要是芯片的生产信息,包括:GPU型号、显卡全称、版本号、晶体管数量、芯片尺寸、采用的纳米级工艺等。
它还包括一些信息,如BIOS版本、生产设备ID、制造商和子制造商。基本上对GPU感兴趣的专业人士可以多关注一下这些游戏。对于普通游戏玩家来说,认清芯片型号和制造工艺就行了。
GPU-Z后半部分的信息是最重要的,大部分是关于显卡的主要指标,包括:流处理器数量、纹理单元、光栅单元、内存容量、内存类型、内存带宽等。其中还记录了显卡的核心频率和内存频率。
这个时候,很多人应该开始抱怨了。这是怎么回事?参数那么多而且还是那么乱,小白说他根本看不懂,那么接下来,笔者就带领读者详细分析一下这些主要参数分别起到什么作用。
对于玩家来说,买显卡是为了性能,所以性能直接影响玩家的体验。但是大部分玩家在选择显卡时都是靠显存来识别的。这种方法虽然不能说是错误的,但是很容易误导玩家。比如架构和频率的变化,单从显存来判断就容易出错。
真正对显卡性能起关键作用的是流处理器的数量和核心频率,但这两点往往被玩家忽略或者不明所以。
同级别架构的处理器数量可以说直接影响性能。因为更多的流处理器意味着更高的处理能力,所以流处理器的收入每增加一点。这一点很容易被大多数人忽略。
另外需要注意的是,流处理器的数量只能用来判断同一GPU架构内的性能,不同架构的性能不能直接用流处理器的数量来判断,所以这也是为什么不建议直接比较n卡和a卡的流处理器数量来判断性能的原因。
显卡性能的另一个关键因素是——核心频率。可以代表显卡的工作频率,通常可以理解为频率越高,得到的性能越多。
所以玩家往往会选择超频来提升性能,这也是为数不多的玩家可以通过自己的手段来提升性能的方式。说到底,频率是“活的”,显卡规格却是“死的”。
如果经过这一切还不清楚,可以用一句话来总结:同样的架构和流处理器,核心频率越高,显卡性能越强。
流处理器的数量对核心显卡的频率也有一定的影响。比如流处理器越多,超频空间越大,而流处理器越少,核心频率越低,性能越低,功耗越低。
前面说过,很多小白玩家在选择显卡的时候,最看重的就是显存。当然,这也是由于商家对这部分促销的强调。这并不是说显存不重要。相反,显存对于显卡的性能影响是非常重要的,但是显存也有很多指标,比如类型、容量、带宽、位宽、速度等等。这些指标或多或少是相互关联的。
gt1080上使用的GDDR5X显存
这里要明确一点,显存是为显卡服务的,它的作用是短时间存储GPU核计算的数据,也就是说显存和GPU需要频繁交换数据,所以显存对显卡的性能起着至关重要的作用。
那么我就来说说决定显存性能的首要因素,也就是显存的类型。目前最流行的内存类型是GDDR5,还有NVIDIA在GTX 1080发布后使用的GDDR5X内存,R9 Fury X上使用的HBM内存,Vega和Volta上使用的HBM2内存。
GDDR5显存的极限速率为9Gbps,单个内存最大容量为2 GB。GDDR5X目前可以达到11Gbps,但理论极限可以达到16Gbps。根据协议,单个设备的最大容量也是2 Gbps。
HBM内存的极限速度是1Gbps,单个内存的容量是1Gbps,而第二代HBM可以达到2Gbps的速度,单个内存的容量高达8GB。
GDDR5显存会是GPU性能提升的障碍。
最后和之前一样,一个总结:显存确实对显卡性能有影响,但是也要具体看显存的类型等方面。如果小白玩家仍然不能清楚地理解前面的长篇演讲,那么记住这句话就足够了。
如果你想了解更多这方面的内容,请记住,显存的类型决定了显存的位宽,显存的带宽直接由显存的位宽和速度决定。
学习完以上信息,相信你对显卡的了解也越来越详细了。后续我们会根据不同的购买需求,通过实例为大家介绍如何在安装的时候买到适合自己的显卡产品。