上期图文教程,我们分享过AI绘图大模型StableDiffusion以及中文版本文心AI绘画大模型的基础知识以及代码实现,截至到目前为止。StableDiffusion模型已经更新到了V2。1版本,其文生图大模型也越来越火,其在2022年底,由AI绘制的图片被荣为国际大奖,让大家对AI绘画大模型也越来越关注,只是被突然杀出来的ChatGPT抢了风头,本期我们基于StableDiffusionwebui开源项目,介绍一下最近大火的StableDiffusion模型。 StableDiffusion模型chilloutmixni stablediffusionwebui StableDiffusion是一种扩散模型,可以经过训练,使用文本进行图片的生成任务,很多基于StableDiffusion模型的训练模型已经发布,最近比较火的便是chilloutmixni(一个真人图片生成模型)与lora模型(一种风格模型),2种模型可以搭配使用,由于StableDiffusion模型开源的是源代码,针对普通非程序员,交互起来,不是很友好,这不,基于StableDiffusion的UI可视化项目也同步开源,其中最著名的便是如下开源webUI。https:github。comAUTOMATIC1111stablediffusionwebuiUI开源 stablediffusionwebui stablediffusionwebui项目是基于stablediffusion开源的可视化界面,我们可以直接在浏览器上面运行stablediffusion,基于可视化的效果,我们可以很容易的控制各个模型的参数。目前很多基于stablediffusionwebui项目开发了很多插件,包含汉化插件,controlNet等。https:github。comStabilityAIstablediffusion 安装stablediffusionwebui,其官方也有很多相关的教程,本期我们就基于Googlecolab运行环境进行介绍,关键是stablediffusion需要大量的GPU,其colab有免费的GPU资源可以使用,我们就基于Googlecolab来安装stablediffusionwebui。 stablediffusionwebui安装 stablediffusionwebui的安装,我们直接使用git指令来复制整个工程!gitclonehttps:github。comAUTOMATIC1111stablediffusionwebui。gitcdstablediffusionwebui!gitclonehttps:github。comStabilityAIstablediffusionrepositoriesstablediffusionstabilityai 首先我们需要复制整个stablediffusionwebui工程,然后进入stablediffusionwebui文件夹中,再复制StabilityAI相关官方代码库,以上2个工程便可以成功运行stablediffusionwebui程序了。 然后我们安装相关的第三方库!pipinstallrrequirements。txt!pipinstallopencliptorch!pipinstallkdiffusion!pipinstalltamingtransformersrom1504!pipinstallfastapi0。90 首先我们需要安装requirements要求的第三方库,理论上安装requirements要求的库后,真个工程就可以正常运行,但是整体模型运行下来还需要安装如下四个库,且fastapi的版本需要为0。90,然后我们就可以正常运行整个工程了。!pipinstallopencliptorch!pipinstallkdiffusion!pipinstalltamingtransformersrom1504!pipinstallfastapi0。90 在运行整个工程之前,由于我们需要使用chilloutmixni真人模型,因此需要下载此模型,在Googlecolab里面,我们可以使用如下代码来下载chilloutmixni模型。!curlLochilloutmixni。safetensorshttps:huggingface。conolanaatamachomniresolvemainchomni。safetensors 下载完成的chilloutmixni模型,需要放置到如下文件夹下stablediffusionwebuimodelsstablediffusion 当然,若有lora模型,需要放置到如下文件夹下stablediffusionwebuimodelsLora 当模型下载完成后,我们便可以使用如下代码来运行整个工程了,代码会自动安装相关的库以及自动下载相关的模型文件。!pythonlaunch。pysharexformersenableinsecureextensionaccess Python3。9。16(main,Dec72022,01:11:51)〔GCC9。4。0〕Commithash:3531a50080e63197752dd4d9b49f0ac34a758e12InstallingxformersFetchingupdatesforStableDiffusion。。。CheckingoutcommitforStableDiffusionwithhash:47b6b607fdd31875c9279cd2f4f16b92e4ea958e。。。CloningTamingTransformersintorepositoriestamingtransformers。。。CloningKdiffusionintorepositorieskdiffusion。。。CloningCodeFormerintorepositoriesCodeFormer。。。CloningBLIPintorepositoriesBLIP。。。InstallingrequirementsforCodeFormerInstallingrequirementsforWebUILaunchingWebUIwitharguments:sharexformersenableinsecureextensionaccess2023031110:51:02。869144:Itensorflowcoreplatformcpufeatureguard。cc:193〕ThisTensorFlowbinaryisoptimizedwithoneAPIDeepNeuralNetworkLibrary(oneDNN)tousethefollowingCPUinstructionsinperformancecriticaloperations:AVX2FMAToenabletheminotheroperations,rebuildTensorFlowwiththeappropriatecompilerflags。2023031110:51:06。507725:Wtensorflowcompilerxlastreamexecutorplatformdefaultdsoloader。cc:64〕Couldnotloaddynamiclibrarylibnvinfer。so。7;dlerror:libnvinfer。so。7:cannotopensharedobjectfile:NLDLIBRARYPATH:usrlocallibpython3。9distpackagescv2。。。。lib64:usrlib64nvidia2023031110:51:06。508205:Wtensorflowcompilerxlastreamexecutorplatformdefaultdsoloader。cc:64〕Couldnotloaddynamiclibrarylibnvinferplugin。so。7;dlerror:libnvinferplugin。so。7:cannotopensharedobjectfile:NLDLIBRARYPATH:usrlocallibpython3。9distpackagescv2。。。。lib64:usrlib64nvidia2023031110:51:06。508233:Wtensorflowcompilertf2tensorrtutilspyutils。cc:38〕TFTRTWarning:CannotdlopensomeTensorRTlibraries。IfyouwouldliketouseNvidiaGPUwithTensorRT,pleasemakesurethemissinglibrariesmentionedaboveareinstalledproperly。Calculatingsha256forcontentstablediffusionwebuimodelsStablediffusionchilloutmixni。safetensors:7234b76e423f010b409268386062a4111c0da6adebdf3a9b1a825937bdf17683Loadingweights〔7234b76e42〕fromcontentstablediffusionwebuimodelsStablediffusionchilloutmixni。safetensorsCreatingmodelfromconfig:contentstablediffusionwebuiconfigsv1inference。yamlLatentDiffusion:RunninginepspredictionmodeDiffusionWrapperhas859。52Mparams。Downloading()olvemainvocab。json:100961k961k〔00:0000:00,6。44MBs〕Downloading()olvemainmerges。txt:100525k525k〔00:0000:00,3。82MBs〕Downloading()cialtokensmap。json:100389389〔00:0000:00,92。5kBs〕Downloading()okenizerconfig。json:100905905〔00:0000:00,305kBs〕Downloading()lvemainconfig。json:1004。52k4。52k〔00:0000:00,668kBs〕Applyingxformerscrossattentionoptimization。Textualinversionembeddingsloaded(0):Modelloadedin76。3s(calculatehash:45。7s,loadweightsfromdisk:0。8s,createmodel:3。1s,applyweightstomodel:17。6s,applyhalf():1。3s,loadVAE:7。0s,movemodeltodevice:0。6s)。RunningonlocalURL:http:127。0。0。1:7860RunningonpublicURL:https:61087ab08f515aee。gradio。live stablediffusionwebui 代码运行完成后,我们在最后一行,就可以看到一个publicURL,点击这个URL,就会跳转到一个webui界面了(上图)。由于我们下载了chilloutmixni模型,这里系统会自动检测到此模型,并默认使用此模型。 通过以上的webui界面,我们就可以输入相应的文字,或者上传自己的图片进行文字生成图片,或者图生图的操作了,总结一下其webui界面的安装过程主要包含四步1、gitclone2个工程2、安装其第三方库3、下载需要的模型文件4、运行webui 通过以上4步,便可以正常运行stablediffusionwebui项目了,关于stablediffusionwebui项目的参数设置,模型文件的使用,其他插件的使用,我们后期进行分享。