Stable Diffusion本地化部署超详细教程(手动+自动+整合包三种方式)

一、 Stable Diffusion简介

2022年作为AIGC(Artificial Intelligence GeneratedContent)时代的元年,各个领域的AIGC技术都有一个迅猛的发展,给工业界、学术界、投资界甚至竞赛界都注入了新的“[AI(https://so.csdn.net/so/search?q=AI&spm=1001.2101.3001.7020)活力”与“AI势能”。

其中在AI绘画领域,StableDiffusion当仁不让地成为了开源社区中持续繁荣的AI绘画核心模型,并且快速破圈,让AIGC的ToC可能性比肩移动互联网时代的产品,每个人都能感受到AI带来的力量与影响。StableDiffusion由CompVis研究人员创建的主要用于文本生成图像的深度学习模型,与初创公司StabilityAI、Runway合作开发,并得到EleutherAI和LAION的支持,它主要用于根据文本的描述产生详细图像,也就是常说的txt2img
的应用场景中:通过给定文本提示词(text prompt),该模型会输出一张匹配提示词的图片。例如输入文本提示词:A cute cat,StableDiffusion会输出一张带有可爱猫咪的图片(如下图)。

Stable Diffusion(简称SD)是AI绘画领域的一个核心模型,与Midjourney不同的是,Stable
Diffusion是一个完全开源的项目(模型、代码、训练数据、论文、生态等全部开源),可拓展性强、 出图效率高、
数据安全保障,这使得其能快速构建强大繁荣的上下游生态,并且吸引了越来越多的AI绘画爱好者加入其中,与AI行业从业者一起推动AIGC领域的发展与普惠。可以说,AI绘画的ToC普惠在AIGC时代的早期就已经显现,这是之前的传统深度学习时代从未有过的。

Stable
Diffusion模型基于一个扩散过程,逐步从噪声中恢复出图像信息。在训练阶段,模型会学习如何逐步将噪声转化为真实的图像数据;而在生成阶段,模型则可以从随机噪声出发,通过反向的扩散过程,生成出与训练数据分布相似的图像。Stable
Diffusion主要由变分自编码器(VAE)、U-Net和一个文本编码器三个部分组成。在前向扩散过程中,高斯噪声被迭代地应用于压缩的潜在表征。每个去噪步骤都由一个包含残差神经网络(ResNet)的U-
Net架构完成,通过从前向扩散往反方向去噪而获得潜在表征。最后,VAE解码器通过将表征转换回像素空间来生成输出图像。

我们可以通过官方网站 Stability AI,以及Dream
Studio、Replicate、Playground
AI、Baseten等网站在线体验Stable
Diffusion的巨大威力。但是,一方面国外的网站访问毕竟还是不方便(经常需要科学上网,你懂的),另一方面也不想让自己的一些“幼稚”想法被他们“窃取”。相比于集成在网络平台的SD或者其他AI绘画平台来说,自部署平台没有生成数量的限制,不用花钱,不用被NSFW约束,生成时间快,不用排队,自由度高,而且功能完整,插件丰富,可以调试和个性化的地方也更多;更稳定,也更容易让SD变成生产力或者商业化使用。既然这样,那就自力更生,在本机上自己部署一个,可以随心所欲地玩图、玩图…。

二、Stable Diffusion v2安装
1. 安装前的准备

现有深度学习训练和部署环境在硬件上一般基于Nvidia
GPU,在底层需要显卡驱动和CUDA工具包(需要包含配套版本的cuDNN),在应用软件层面需要Python编译和解释器,以及基于Python的深度学习框架(如Pytorch、TensorFlow等)。同时,为了方便代码自动下载和程序模块化管理,通常还需要安装git和conda软件。笔者(Sheex2012)主机配备了RTX
4070Ti 12G显卡,并事先安装了CUDA 12.1,Python 3.11.6,git 2.44,Pytorch 2.1.2,能够满足Stable
Diffusion环境要求。本文重点聚焦Stable Diffusion推理程序的部署,硬件需求确认和基础软件的安装这里不再赘述。

2. 下载和部署Stable Diffusion

我们从Stability.AI的github官方开源Stability.AI
Stablediffusion下载源码:

git clone https://github.com/Stability-AI/stablediffusion.git* 1

当然,也可以从网页上以下载源码ZIP包,解压缩到本地。

源码下载完成后,接下来需要安装项目的依赖项:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  * 1

然后从huggingface下载预训练模型v2-1_768-ema-
pruned.ckpt,并存放到checkpoints文件夹中。

3. 运行Stable Diffusion

部署完成后,运行下述脚本,生成图片:

python ./scripts/txt2img.py --prompt "a professional photograph of an astronaut riding a horse" --ckpt ./checkpoints/v2-1_768-ema-pruned.ckpt --config ./configs/stable-diffusion/v2-inference-v.yaml --H 768 --W 768* 1

可是,报错了:

No module named 'ldm'* 1

这个应该是目录结构的问题,将ldm拷贝/移动到script文件夹,再来一次,不出意外,还是有点小意外,内存不够了:

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 9.49 GiB. GPU 0 has a total capacty of 11.99 GiB of which 0 bytes is free. Of the allocated memory 14.77 GiB is allocated by PyTorch, and 9.52 GiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF* 1

那就把图像的尺寸调整成512x512,问题解决了。

这是生成的图片(存放在outputs\txt2img-samples文件夹中):

三、 Stable Diffusion WebUI 安装

Stable
Diffusion只是提供一个模型,提供基础的文本分析、特征提取、图片生成这些核心功能,但自身是没有可视化UI的,用起来就是各种文件加命令行。原始的Stable
Diffusion程序(脚本)只能以命令行的方式进行,参数设置很不方便,而且每次调用时,需要事先加载预训练模型,图像生成完成后会释放内存中的模型并结束进程,运行效率低,交互操作极其麻烦。

开源的 Stable Diffusion 社区受到了广泛民间开发者大力支持,众多为爱发电的程序员自告奋勇的为其制作方便操控的 GUI
图形化界面。其中流传最广、功能最强也是被公认最为方便的,就是由越南超人 AUTOMATIC1111 开发的 WebUI,即大名鼎鼎的Stable
Diffusion WebUI。可以看到github上的start已经超过130k了,真是神一样的存在。

PS,大神的头像直接使用了越南盾中胡志明头像。

Stable Diffusion WebUI集成了大量代码层面的繁琐应用,将 Stable Diffusion
的各项绘图参数转化成可视化的选项数值和操控按钮,用户可以直接通过 Web 页面使用 Stable
Diffusion。如今各类开源社区里
90%以上的拓展应用都是基于它而研发的。

Stable Diffusion WebUI是一个最流行的开源 Stable Diffusion 整合程序,其核心功能是 文生图 和 图生图,这也是
Stable Diffusion 的核心能力。Stable Diffusion WebUI
的其它功能,比如ControlNet、高清放大、模型训练等等都是其它第三方开发的,有的已经内置到 WebUI 中,随着 WebUI
的发布而发布,有的还需要用户手动安装。

当然,除了 WebUI 还有一些其他的 GUI 应用,比如 ComfyUI 和 Vlad Diffusion
等,不过它们的应用场景更为专业和小众,感兴趣的可以点击下面的 GitHub 链接了解,这里就不再赘述了。

1. 手动安装

我们先手动方式一步一步安装,从中体验一下其中的繁琐(其实,这对于从事深度学习的相关技术人员来说是常规操作)。

首先,从github上下载源码:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git* 1

其次,下载安装Stable Diffusion WebUI的依赖项:

cd stable-diffusion-webui
pip install -r requirements_versions.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  * 1* 2* 3


依赖项成功安装后,还是从huggingface下载v1-5-pruned-
emaonly.safetensors预训练模型,放置到models\Stable-diffusion文件夹。

好了,开始魔法吧。

python webui.py* 1命令行窗口显示了模型加载运行过程,这里一共花了49.2秒。* 1

进入 http://127.0.0.1:7860网站,输入提示词:

portrait of beautiful girl, brown hair, freckles, tshirt, professional lighting, indoor, artistic photography* 1

反向提示词:

lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name* 1

点击,Generate按钮,3.9秒后,生成一幅女孩肖像画。GPU占用3.8G左右。

如果觉得全是英文的界面操作起来不够方便,可以:

1)从[Stable-diffusion-webui 的汉化扩展](https://github.com/VinsonLaro/stable-
diffusion-webui-chinese “Stable-diffusion-webui
的汉化扩展”)下载汉化语言包,把"localizations"文件夹内的"Chinese-All.json"和"Chinese-
English.json"复制到"stable-diffusion-webui\localizations"目录中;

2)点击"Settings",左侧点击"User interface"界面,在界面里最下方的"Localization (requires
restart)“,选择"Chinese-All"或者"Chinese-English”;

3)点击界面最上方的黄色按钮"Apply settings",再点击右侧的"Reload UI"即可完成汉化。

不过,个人觉得汉化后的文字有点拥挤。

2. 自动安装

事实上,Stable Diffusion
WebUI官方网站中不再有手动安装的步骤,我的理解是作者鼓励大家采用自动安装方式,而自动安装的确非常方便的。当我们下载完成Stable Diffusion
WebUI源码后,在确保已经安装了Python 3.10.6和git后,双击批处理文件webui-user.bat即可。

从命令行窗口输出,我们看到,批处理命令自动下载安装了Pytorch等依赖项:

从github clone 并安装Clip Open_Clip等依赖程序,而且,由于众所周知的原因,从github clone 源码会经常报错:

没关系,接着多运行几遍即可。然后,再从 从huggingface下载预训练模型v1-5-pruned-emaonly.safetensors(当然,还是会报错):

当所有的问题都解决之后,批处理文件webui-user.bat,将和前述的一样,将开放http://127.0.0.1:7860网站,后续处理过程不再赘述。

  1. 自动安装过程分析

1) webui-user.bat 分析

自动安装和手动安装在结果上是没有区别的,都是下载源码、下载安装依赖项(包括二进制和github源码)、下载预训练模型,然后按照配置参数运行程序。自动安装过程把上述过程全部放到批处理文件中webui-
user.bat,让我们来看看它到底做了啥。

@echo offset PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=call webui.bat* 1* 2* 3* 4* 5* 6* 7* 8* 9

webui-user.bat只有短短几行,首先将四个环境变量置空,然后调用webui.bat,所以webui.bat默默承担了所有。

2) webui.bat 简要分析

7. if not defined PYTHON (set PYTHON=python)
8. if defined GIT (set "GIT_PYTHON_GIT_EXECUTABLE=%GIT%")
9. if not defined VENV_DIR (set "VENV_DIR=%~dp0%venv")* 1* 2* 3

首先,webui.bat在7-9行设置了PYTHON、GIT、VENV_DIR 三个环境变量,其中VENV_DIR
在当前目录中新建venv文件夹;其次,在16行测试调用Python程序;然后在第22行测试pip命令可用性。

16. %PYTHON% -c "" >tmp/stdout.txt 2>tmp/stderr.txt
17. if %ERRORLEVEL% == 0 goto :check_pip
18. echo Couldn't launch python
19. goto :show_stdout_stderr21. :check_pip
22. %PYTHON% -mpip --help >tmp/stdout.txt 2>tmp/stderr.txt
23. if %ERRORLEVEL% == 0 goto :start_venv* 1* 2* 3* 4* 5* 6* 7* 8

接下来的37-40行是创建虚拟环境的关键,37行获得当前系统的缺省Python路径,39行利用 -m
venv参数,运行此命令将创建目标目录venv,并使用home键将pyvenv.cfg文件放置在其中,该文件指向运行该命令的 Python
安装(目标目录的通用名称为.venv)。

37. for /f "delims=" %%i in ('CALL %PYTHON% -c "import sys; print(sys.executable)"') do set PYTHON_FULLNAME="%%i"
38. echo Creating venv in directory %VENV_DIR% using python %PYTHON_FULLNAME%
39. %PYTHON_FULLNAME% -m venv "%VENV_DIR%" >tmp/stdout.txt 2>tmp/stderr.txt
40. if %ERRORLEVEL% == 0 goto :activate_venv* 1* 2* 3* 4

基于venv的虚拟环境创建完成后,先激活该虚拟环境,再调用launch.py。至此,批处理文件的任务基本完成,并将控制权交给launch.py脚本。

44. :activate_venv
45. set PYTHON="%VENV_DIR%\Scripts\Python.exe"
46. echo venv %PYTHON%57. :launch
58. %PYTHON% launch.py %** 1* 2* 3* 4* 5* 6* 7

3) launch.py 脚本简要分析

start = launch_utils.startdef main():if args.dump_sysinfo:filename = launch_utils.dump_sysinfo()print(f"Sysinfo saved as {filename}. Exiting...")exit(0)launch_utils.startup_timer.record("initial startup")with launch_utils.startup_timer.subcategory("prepare environment"):if not args.skip_prepare_environment:prepare_environment()if args.test_server:configure_for_tests()start()if __name__ == "__main__":main()![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fcsdnimg.cn%2Frelease%2Fblogv2%2Fdist%2Fpc%2Fimg%2FnewCodeMoreWhite.png&pos_id=img-YEZDAiMS-1738721207550)* 1* 2* 3* 4* 5* 6* 7* 8* 9* 10* 11* 12* 13* 14* 15* 16* 17* 18* 19* 20* 21* 22* 23* 24* 25

可以看到,有个prepare_environment函数,显然是它在负责环境初始化工作。

4) prepare_environment函数

def prepare_environment():torch_index_url = os.environ.get('TORCH_INDEX_URL', "https://download.pytorch.org/whl/cu121")torch_command = os.environ.get('TORCH_COMMAND', f"pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url {torch_index_url}")requirements_file = os.environ.get('REQS_FILE', "requirements_versions.txt")xformers_package = os.environ.get('XFORMERS_PACKAGE', 'xformers==0.0.23.post1')clip_package = os.environ.get('CLIP_PACKAGE', "https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip")openclip_package = os.environ.get('OPENCLIP_PACKAGE', "https://github.com/mlfoundations/open_clip/archive/bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip")assets_repo = os.environ.get('ASSETS_REPO', "https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets.git")stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://github.com/Stability-AI/stablediffusion.git")stable_diffusion_xl_repo = os.environ.get('STABLE_DIFFUSION_XL_REPO', "https://github.com/Stability-AI/generative-models.git")k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'https://github.com/crowsonkb/k-diffusion.git')blip_repo = os.environ.get('BLIP_REPO', 'https://github.com/salesforce/BLIP.git')# 安装Pytorchif args.reinstall_torch or not is_installed("torch") or not is_installed("torchvision"):run(f'"{python}" -m {torch_command}', "Installing torch and torchvision", "Couldn't install torch", live=True)# 分别利用pip安装clip、open_clip、xformers、ngrokif not is_installed("clip"):run_pip(f"install {clip_package}", "clip")if not is_installed("open_clip"):run_pip(f"install {openclip_package}", "open_clip")if (not is_installed("xformers") or args.reinstall_xformers) and args.xformers:run_pip(f"install -U -I --no-deps {xformers_package}", "xformers")if not is_installed("ngrok") and args.ngrok:run_pip("install ngrok", "ngrok")os.makedirs(os.path.join(script_path, dir_repos), exist_ok=True)# 分别利用git安装assets、Stable Diffusion、Stable Diffusion XL、K-diffusion、BLIPgit_clone(assets_repo, repo_dir('stable-diffusion-webui-assets'), "assets", assets_commit_hash)git_clone(stable_diffusion_repo, repo_dir('stable-diffusion-stability-ai'), "Stable Diffusion", stable_diffusion_commit_hash)git_clone(stable_diffusion_xl_repo, repo_dir('generative-models'), "Stable Diffusion XL", stable_diffusion_xl_commit_hash)git_clone(k_diffusion_repo, repo_dir('k-diffusion'), "K-diffusion", k_diffusion_commit_hash)git_clone(blip_repo, repo_dir('BLIP'), "BLIP", blip_commit_hash)startup_timer.record("clone repositores")# 利用pip安装requirements.txt文件指定的依赖项if not requirements_met(requirements_file):run_pip(f"install -r \"{requirements_file}\"", "requirements")![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fcsdnimg.cn%2Frelease%2Fblogv2%2Fdist%2Fpc%2Fimg%2FnewCodeMoreWhite.png&pos_id=img-yihrTzoB-1738721207551)* 1* 2* 3* 4* 5* 6* 7* 8* 9* 10* 11* 12* 13* 14* 15* 16* 17* 18* 19* 20* 21* 22* 23* 24* 25* 26* 27* 28* 29* 30* 31* 32* 33* 34* 35* 36* 37* 38* 39* 40* 41* 42* 43* 44* 45* 46* 47

prepare_environment函数(上述代码是简化后的核心代码),基本上就是利用pip和git下载和安装依赖项(作者一直强调事先需要部署好git的原因就在这儿),和手动安装过程对应了起来。

四、 秋叶整合包安装

Stable
Diffusion秋叶整合包是中国大神秋叶(bilibili@秋葉aaaki)基于Stable Diffusion
WebUI内核开发的整合包,内置了与电脑本身系统隔离的Python环境和Git(包含了第三部分需要下载和安装的依赖项、github依赖包、预训练模型以及相当多的插件)。可以忽略网络需求和Python环境的门槛,让更多人轻松地使用Stable
Diffusion WebUI。超简单一键安装,无任何使用门槛,完全免费使用,支持Nvdia全系列显卡,近期发布了Stable
Diffusion整合包v4.8版本(整合包v4.8)。

1) 确认配置:
系统:Windows 10及以上系统
显卡:建议在本机安装Nvidia独立显卡,并且显存要达到6G以上,6G只能出图,如果要做训练建议12G以上。
2)下载文件
下载到本地,最好不要有中文目录,最新版下载链接: https://pan.quark.cn/s/2c832199b09b

3)点击“A绘世启动器”

4)点击“一键启动”

5)进入网站

这个界面比原始的炫多了。我们看到了类似的命令行输出:

五、推理程序安装方式讨论
1. 整合包需要做什么
   Python+深度学习框架是当前基于深度学习的训练和部署的主流模式,要在一台新的主机上部署推理模型,一般而言必须安装整套的软件框架、辅助工具包和相关的底层驱动,这使得这个过程非常繁琐。特别地,不同的(开源)软件往往依赖不同版本的软件包,而不同版本的软件包之间往往存在接口不兼容的问题,给软件运行带来不可估量的隐患。因此,虚拟环境成为Python环境的一个重要手段,这使得不同的软件版本可以互相隔离。* 1

因此,要完整地安装一套基于深度学习的应用程序,通常来讲有虚拟环境创建、程序及依赖项下载安装、预训练模型等运行数据下载等重要步骤。对于一个从事深度学习的研究者来说,这些步骤不难,缺什么就补充安装什么。但对于普通的爱好者来说,这个过程就太过于复杂了,因此自动安装要把上述步骤全部在后台一步步下载安装和验证,建立起一个独立的虚拟运行环境;而整合包则更进一步,直接就是一个“绿色版”。

2. 为什么是Python3.10 ?

WebUI的作者AUTOMATIC1111在页面中,强调了Python的版本,需采用3.10.6版本,给出的理由是担心新版本的Python不支持Pytorch。

笔者的主机先前已经成功安装了Python 3.11.6和Pytorch 2.1.2,觉得作者的担心有点多余,就在主机环境中继续安装部署。

而且运行时,反正警告我们Python版本不兼容:

经过仔细比对,我们发现即便已经成功安装了xformers包,系统还是提示no module ‘xformers’,让我们颇感意外。

经分析,xformers依赖一个’triton’包:

而’triton’包没有编译好的适合于Windows的wheel,自然也就无法安装。而有人针对Python
3.10编译好好了一个版本,而这个包在Python 3.11版本下安装时失败的。我猜测,这可能是作者反复强调使用Python 3.10的原因。

六、小结

近年来,随着AIGC技术的飞速发展,深度学习模型的本地化部署和应用技术也得到了充分重视,各种一键式安装程序层出不穷,大大降低了模型的部署复杂性,进一步促进了AIGC的普惠应用。将虚拟环境创建、程序下载部署、数据下载部署等复杂过程一步步地串联起来,并将常用运行环节和数据整合成一体,实现一键直达,方便“小白”使用,成为一种流行而有效的方法。

本文仅仅安装部署了Stable Diffusion
WebUI的主要成分,SDXL,以及其丰富的插件尚未涉及,后续一要将各个插件系统用起来,二要深入Stable Diffusion原理,并与Stable
Diffusion使用结合,探索出更加有意思的东东。而对于具备极客精神的 AI 绘画爱好者来说,使用 Stable Diffusion
过程中可以学到很多关于模型技术的知识,理解了 Stable Diffusion 等于就掌握了 AI
绘画的精髓,可以更好的向下兼容其他任意一款低门槛的绘画工具。

译好的适合于Windows的wheel,自然也就无法安装。而有人针对Python
3.10编译好好了一个版本,而这个包在Python 3.11版本下安装时失败的。我猜测,这可能是作者反复强调使用Python 3.10的原因。

六、小结

近年来,随着AIGC技术的飞速发展,深度学习模型的本地化部署和应用技术也得到了充分重视,各种一键式安装程序层出不穷,大大降低了模型的部署复杂性,进一步促进了AIGC的普惠应用。将虚拟环境创建、程序下载部署、数据下载部署等复杂过程一步步地串联起来,并将常用运行环节和数据整合成一体,实现一键直达,方便“小白”使用,成为一种流行而有效的方法。

本文仅仅安装部署了Stable Diffusion
WebUI的主要成分,SDXL,以及其丰富的插件尚未涉及,后续一要将各个插件系统用起来,二要深入Stable Diffusion原理,并与Stable
Diffusion使用结合,探索出更加有意思的东东。而对于具备极客精神的 AI 绘画爱好者来说,使用 Stable Diffusion
过程中可以学到很多关于模型技术的知识,理解了 Stable Diffusion 等于就掌握了 AI
绘画的精髓,可以更好的向下兼容其他任意一款低门槛的绘画工具。

写在最后

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/70232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPS的AI助手进化跟踪(灵犀+插件)

Ver V0.0 250216: 如何给WPS安装插件用以支持其他大模型LLM V0.1 250217: WPS的灵犀AI现在是DeepSeek R1(可能是全参数671B) 前言 WPS也有内置的AI,叫灵犀,之前应是自已的LLM模型,只能说是属于“能用,有好过无”,所…

通俗理解-L、-rpath和-rpath-link编译链接动态库

一、参考资料 链接选项 rpath 的应用和原理 | BewareMyPower的博客 使用 rpath 和 rpath-link 确保 samba-util 库正确链接-CSDN博客 编译参数-Wl和rpath的理解_-wl,-rpath-CSDN博客 Using LD, the GNU linker - Options Directory Options (Using the GNU Compiler Colle…

SpringMVC环境搭建

文章目录 1.模块创建1.创建一个webapp的maven项目2.目录结构 2.代码1.HomeController.java2.home.jsp3.applicationContext.xml Spring配置文件4.spring-mvc.xml SpringMVC配置文件5.web.xml 配置中央控制器以及Spring和SpringMVC配置文件的路径6.index.jsp 3.配置Tomcat1.配置…

window中git bash使用conda命令

window系统的终端cmd和linux不一样,运行不了.sh文件,为了在window中模仿linux,可以使用gui bash模拟linux的终端。为了在gui bash中使用python环境,由于python环境是在anaconda中创建的,所以需要在gui bash使用conda命…

在线考试系统(代码+数据库+LW)

摘 要 使用旧方法对在线考试系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在在线考试系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的在线考试…

c/c++蓝桥杯经典编程题100道(19)汉诺塔问题

汉诺塔问题 ->返回c/c蓝桥杯经典编程题100道-目录 目录 汉诺塔问题 一、题型解释 二、例题问题描述 三、C语言实现 解法1:递归法(难度★) 解法2:迭代法(难度★★★) 四、C实现 解法1&#xff1…

赶AI大潮:在VSCode中使用DeepSeek及近百种模型的极简方法

1 赶AI大潮:在VSCode中使用DeepSeek及近百种模型的极简方法 1.1 背景 DeepSeek在春节期间突然大行其道,欣喜国力大增的同时,对于普通IT工作者,如何才能享受这一波AI红利,让自己的工作更出彩呢?   很多人…

【一文读懂】HTTP与Websocket协议

HTTP协议 概述 HTTP (Hypertext Transfer Protocol),即超文本传输协议,是一种用于在客户端和服务器之间传输超文本(例如网页、图片、音频、视频等)的通信协议。它是万维网(WWW)的基础,负责在浏…

IDEA集成DeepSeek

引言 随着数据量的爆炸式增长,传统搜索技术已无法满足用户对精准、高效搜索的需求。 DeepSeek作为新一代智能搜索技术,凭借其强大的语义理解与深度学习能力,正在改变搜索领域的游戏规则。 对于 Java 开发者而言,将 DeepSeek 集成…

从零开始部署DeepSeek:基于Ollama+Flask的本地化AI对话系统

从零开始部署DeepSeek:基于OllamaFlask的本地化AI对话系统 一、部署背景与工具选型 在AI大模型遍地开花的2025年,DeepSeek R1凭借其出色的推理能力和开源特性成为开发者首选。本文将以零基础视角,通过以下工具链实现本地化部署: …

图论入门算法:拓扑排序(C++)

上文中我们了解了图的遍历(DFS/BFS), 本节我们来学习拓扑排序. 在图论中, 拓扑排序(Topological Sorting)是对一个有向无环图(Directed Acyclic Graph, DAG)的所有顶点进行排序的一种算法, 使得如果存在一条从顶点 u 到顶点 v 的有向边 (u, v) , 那么在排序后的序列中, u 一定…

第1章大型互联网公司的基础架构——1.2 客户端连接机房的技术1:DNS

客户端启动时要做的第一件事情就是通过互联网与机房建立连接,然后用户才可以在客户端与后台服务器进行网络通信。目前在计算机网络中应用较为广泛的网络通信协议是TCP/IP,它的通信基础是IP地址,因为IP地址有如下两个主要功能。 标识设备&…

全面解析鸿蒙(HarmonyOS)开发:从入门到实战,构建万物互联新时代

文章目录 引言 一、鸿蒙操作系统概述二、鸿蒙开发环境搭建三、鸿蒙核心开发技术1. **ArkUI框架**2. **分布式能力开发**3. **原子化服务与元服务** 四、实战案例:构建分布式音乐播放器五、鸿蒙开发工具与调试技巧六、鸿蒙生态与未来展望结语 引言 随着万物互联时代…

Android:播放Rtsp视频流的两种方式

一.SurfaceView Mediaplayer XML中添加SurfaceView: <SurfaceViewandroid:id"id/surface_view"android:layout_width"match_parent"android:layout_height"match_parent"/> Activity代码&#xff1a; package com.android.rtsp;impor…

Next.js【详解】CSS 样式方案

全局样式 Global CSS 默认已创建&#xff0c;即 src\app\globals.css&#xff0c;可根据需要修改 默认在全局布局中导入 src\app\layout.tsx import "./globals.css";组件样式 CSS Modules 新建文件 src\app\test\styles.module.css .red {color: red;}导入目标页面…

LVS相关原理

一、LVS集群的体系结构 1.1 LVS简介 LVS 是 Linux Virtual Server 的简称&#xff0c;也就是 Linux 虚拟服务器 , 是一个由章文嵩博士发起的自由软件项目&#xff0c;它的官方站点是 www.linuxvirtualserver.org 。现在 LVS 已经是 Linux标准内核的一部分&#xff0c;在Linux2…

【2025深度学习系列专栏大纲:深入探索与实践深度学习】

第一部分:深度学习基础篇 第1章:深度学习概览 1.1 深度学习的历史背景与发展轨迹 1.2 深度学习与机器学习、传统人工智能的区别与联系 1.3 深度学习的核心组件与概念解析 神经网络基础 激活函数的作用与类型 损失函数与优化算法的选择 1.4 深度学习框架简介与选择建议 第2…

Java与C语言中取模运算符%的区别对比

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: Java 文章目录 &#x1f4af;前言&#x1f4af;C语言中的取模运算符 %基本行为示例 注意事项示例&#xff1a;负数取模 &#x1f4af;Java中的取模运算符 %基本行为示例 对浮点数的支持示例&#xff1a;浮点数取模 符…

OpenCV机器学习(4)k-近邻算法(k-Nearest Neighbors, KNN)cv::ml::KNearest类

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::ml::KNearest 是 OpenCV 机器学习模块中的一部分&#xff0c;它提供了实现 k-近邻算法&#xff08;k-Nearest Neighbors, KNN&#xff09;的…

过于依赖chatgpt编程会有哪些弊端?

过于依赖ChatGPT编程可能会带来以下问题&#xff1a; 1. 基础不扎实&#xff0c;容易“变菜” 以前遇到代码还会琢磨哪里不懂、怎么改&#xff0c;现在直接复制粘贴&#xff0c;时间长了可能连基本的语法和逻辑都搞不清楚。就像考试总抄答案&#xff0c;真让你自己写的时候脑子…