零基础入门 Stable Diffusion - 无需显卡把 AI 绘画引擎搬进家用电脑

2023-11-20

我从小特别羡慕会画画的伙伴。他们能够将心中的想法画出来,而我最高水平的肖像画是丁老头。但在接触 Stable Diffusion 之后,我感觉自己脱胎换骨,给自己贴上了「会画画」的新标签。

img丁老头进化旅程

Stable Diffusion 是一个「文本到图像」的人工智能模型,也是唯一一款开源且能部署在家用电脑(对硬件要求不高)上的 AI 绘图工具。使用 Stable Diffusion,你可以在拥有 6GB 显存显卡,16GB 内存或只依赖 CPU 的电脑上生成图像,并且仅需几秒钟的时间,无需进行预处理或后处理。

想要体验 AI 绘图,你可以使用在线工具 Hugging Faceopen in new windowDreamStudioopen in new window百度文心open in new window。但相对于本地部署来说,Hugging Face 需要排队,生成一张图约 5 分钟;DreamStudio 可以免费生成 200 张图片,之后需要缴费;百度文心能用中文生成图片,但仍处于 beta 阶段,未正式商用。此外,这些在线工具的图片调整功能比较有限,无法批量生成图片,只适用于测试和体验。

如果你需要生成大量的 AI 图片,可以通过 Docker Desktop 将 Stable Diffusion WebUI Dockeropen in new window 部署到家用电脑上,从而实现免费的 AI 文字绘画,并摆脱在线工具的限制。对于 Mac 用户,推荐选择 Stable Diffusion 的 invoke 分支,如果在部署过程中出现错误,你可以参考 InvokeAI 文档open in new window进行排查。对于 M1/M2 Mac 用户,推荐使用更简便的 CHARL-Eopen in new windowDiffusionBeeopen in new window

imgStable Diffusion 部署流程

以 Windows 平台为例,本文将依次介绍 Docker 环境配置、Stable Diffusion 安装及基本使用方法。

#Docker 环境配置

本方案基于 Docker 配置,Docker 实质上是在运行的 Linux 系统中创建了一个隔离的文件环境。因此,Docker 必须部署在基于 Linux 内核的系统上。[1] 对于 Mac 用户,无需特别配置即可使用。而对于 Windows 用户,若想部署 Docker,则需要安装一个虚拟 Linux 环境,配置 WSL 或启用 Hyper-V 二选一。我推荐使用 Windows 子系统 WSL,它需要占用系统盘 30G 的空间。

#安装 WSL

在管理员 PowerShell 输入命令 wsl --install,之后终端会默认安装 Ubuntu。系统下载时间较长,注意别关机。[2] 安装 Ubuntu 完成后,按提示设置 Ubuntu 账户和密码。

#启用 Hyper-V

以管理员身份打开 PowerShell 控制台,输入命令 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All。[3] 重启电脑后,将开启 Hyper-V。

#Linux 路径(Windows)

配置 WebUI Docker 要进入 Linux 环境,因此 Windows 用户需要将其路径转换为 Linux 路径。而 Mac 和 Linux 用户则可以忽略此步骤。

假设容器位于 D:\Desktop\stable-diffusion-webui-docker

  1. 把磁盘符号改为小写,转换为 d:\Desktop\stable-diffusion-webui-docker
  2. 添加 /mnt/ 前缀,转换为 /mnt/d:\Desktop\stable-diffusion-webui-docker。因为 Windows 本地磁盘是挂载在 Linux 的 mnt 目录下的。
  3. 将反斜扛 \ 替换为 /。最终得到 Linux 路径 /mnt/d:/Desktop/stable-diffusion-webui-docker

#配置 Stable Diffusion

#安装 Docker Desktop

按平台选 Docker Desktopopen in new window 版本,安装后点击左侧的 Add Extensions,推荐安装 Disk usage 扩展,这将便于管理 Docker 的存储空间。

注意

Docker Desktop 4.17.1 存在 bug,可能会导致 Attaching to webui-docker-auto-1 报错。建议升级 Docker Desktop 4.18.0 或降级到更早版本。

#下载 WebUI Docker

下载 Stable Diffusion WebUI Docker 配置包open in new window阿里云盘聚合版open in new window(定期更新),然后将其解压到指定路径。聚合版包括相关依赖和模型,因此文件较大。如果需要更新 Stable Diffusion WebUI Docker,你可以按照上述步骤重新构建容器。

#分支介绍

目前,Stable Diffusion 有 sygil、auto、auto-cpu 和 invoke 四个分支。如果需要更换分支,可以修改镜像构建命令 docker compose --profile [ui] up --build 中的 [ui],将其替换为所需的镜像名即可。原先的 hlky 分支已经更名为 sygillstein 分支更名为 invoke

  • sygil:界面直观,最高分辨率为 1024x1024,镜像构建命令为 docker compose --profile sygil up --build
  • auto(推荐):设置模块最丰富,显示绘画过程,支持随机插入艺术家、参数读取和否定描述,最高分辨率为 2048x2048(高分辨率对显存要求更高),镜像构建命令为 docker compose --profile auto up --build。默认使用 6GB 以上的显存,如果你的显卡内存较低,则将配置中的 --medvram 改为 --lowvram。A 卡用户注意修改显卡设置open in new window
  • auto-cpu:唯一不依赖显卡的分支。如果没有符合要求的显卡,可以使用 CPU 模式,内存配置需满足 16G 以上,构建镜像的命令为 docker compose --profile auto-cpu up --build
  • invoke:cli 端非常成熟,WebUI 端参数较少,能自动读取图片记录,适合无进阶需求的新手和 Mac 用户使用,镜像构建命令为 docker compose --profile invoke up --build

#构建 Stable Diffusion

在启动 Docker Desktop 后,打开 WSL(Ubuntu)或 Mac 终端,输入路径切换命令 cd /mnt/d/Desktop/stable-diffusion-webui-docker(路径为 Stable Diffusion WebUI Docker 解压文件目录)。接着,输入以下的部署命令:

# 自动下载采样模型和依赖包
docker compose --profile download up --build
# 上方命令需要 20 分钟或更长,完成后执行镜像构建命令

docker compose --profile sygil up --build
# auto 是功能最多的分支,可以选择 auto | auto-cpu | invoke | sygil | sygil-sl

img

等待构建完成后,在终端中会提示访问 http://localhost:7860/,你就可以在本地电脑上用 AI 生成图片了。[4]

#使用说明

以下示例以 sygil 分支为例,其他分支的主题界面略有不同,但在功能上并没有根本性的差异。

#启动 Stable Diffusion

  1. 打开 Docker Desktop。
  2. 在 Containers 中选中分支容器,点击启动。
  3. 浏览器中访问 http://localhost:7860/

imgDocker Desktop 界面

#Text-to-Image

Text-to-Image 是 Stable Diffusion 依据文字描述来生成图像的方法。对于崇尚空间结构的画作类型,如风景、创意画等,推荐使用竖图或横图。对于人像类画作,推荐使用 1:1 的方形图像,否则可能会出现多个人脸叠加的情况。生成的图片分辨率受到一定限制,你可以使用 Upscale 对结果图片进行放大处理。

imgText-to-Image 界面

默认情况下使用的是 Simple 简单模式。如果你想要使用更多的功能,你可以点击右侧的 Advanced 按钮,进入进阶选项。在进阶选项中,你可以使用场景矩阵、面部修复和分辨率放大等多种高级功能。

#Image-to-Image

Image-to-Image 是依据文字描述和输入源图来生成相关图像。如果输入源图是 Text-to-Image、素描或结构画,该模式可充分填充图像细节。而如果输入源图是细节充分的照片,生成的结果与原图差异较大。此外,你还可以限定区域来生成图像,这非常适合进行图像修改。

imgImage-to-Image 界面

CLIP interrogator 会根据图像来生成文字描述。Denoising Strength 指与原图的差异度,建议设置在 0.75-0.9 之间。若要魔改图片,可将 Denoising Strength 设为 0.5 或以下。下图中的 Denoising Strength 只有 0.44,整体图片结构及要素未变,但结果如何,你看到了。

img超级魔改图片

Image-to-Image 还可以用来移除、替换或修复图像,甚至可以将源图作为结果图的一部分,利用 Stable Diffusion 扩展绘画。

#Image Lab

Image Lab 有批量修正面孔和放大图片分辨率的功能。

Fix Faces 是通过 GFPGAN 模型来改善图片中的面孔,Effect strength 滑块可以控制效果的强度。但实际效果别报太高期许,下图右侧开启了 Fix Faces,只能说勉强有了五官。

imgA woman flying in the air laughing

Upscale 可以通过 RealESRGAN、GoBIG、Latent Diffusion Super Resolution 和 GoLatent 四种模型来放大图片分辨率。其中,RealESRGAN 有普通和卡通两种模式,你可以根据需要进行选择。放大图片主要消耗 CPU 和内存资源。

#参数解释

#Classifier Free Guidance

Classifier Free Guidance (CFG) 的默认值为 7。数字越小,创作自由度越高,模型与 Prompt 相关性越低。CFG 参数不影响所需的 VRAM 或生成时间。

  • CFG 2-6:虽然有创意,但可能不符合提示。
  • CFG 7-10:这些提示适用于大多数情况,既富有创意又具有指导性。
  • CFG 10-15:当你确信 Prompt 足够好、足够具体时可以使用。
  • CFG 16-20:除非提示非常详细,否则不建议使用。这可能会影响连贯性和质量。

#Step

Step(采样步长/精度)的默认值为 50。Stable Diffusion 通过充满噪音的画布开始创建图像,并逐步去噪以达到最终输出。Step 参数控制这些去噪步骤的数量。通常情况下,越高越好。对于初学者来说,建议使用默认值。Step 参数不影响所需的 VRAM,但 Step 数值的变化会与生成图像的时间成正比。

#Seed

Seed(种子)的默认值为 -1,代表随机值。Seed 是控制初始噪声的数字,在其他参数固定的情况下,每次生成的图像都会不同,这就是种子的作用。如果你保持提示、种子和所有其他参数不变,你可以得到相同的结果。如果一个 Seed 生成了高质量图片,保存该 Seed 并将其应用到其他图片上,以保持高质量。

#Sampler

Sampling method/Diffusion Sampler(扩散采样器)是用来在生成图像过程中对图像进行去噪的方法。由于不同的扩散采样器在计算图像下一步的方式不同,因此它们需要不同的持续时间和步骤来生成可用的图像。建议初学者使用 DDIM,因为它速度快,通常只需要 10 步就能生成好的图像,因此可以很容易和快速地进行试验和改进。

#文字描述图像

Stable Diffusion 通过英文文字内容来描述场景或物体,以此来决定生成的图像中会出现什么。文字描述是决定图像生成质量的关键因素。[5]

样例:A beautiful painting {画作种类} of a singular lighthouse, shining its light across a tumultuous sea of blood {画面描述} by greg rutkowski and thomas kinkade {画家/画风}, Trending on artstation {参考平台}, yellow color scheme {配色}。[6]

描述图像需要多种描述,因此我开发了一个开源工具 IMGPromptopen in new window,以便生成图像提示词。

#常规描述

  1. 输入图像的对象、主体,比如一只熊猫、一个持剑的战士,不要描述动作、情绪和事件;[7]
  2. 图像种类:一幅画(a painting of + raw prompt)还是一张照片(a photograph of + raw prompt),或者 Watercolor(水彩)、Oil Paint(油画)、Comic(漫画)、Digital Art(数码艺术)、Illustration(插画)、realistic painting(写实画)、photorealistic(写实照片)、Portrait photogram(肖像照)、Low Poly(低面建模)、3D Item Rende(三维渲染)、sculpture (雕塑) 等等,图像种类可以叠加。
  3. 画家/画风:建议混合多个画家的风格,比如 Studio Ghibli, Van Gogh, Monet,或描述风格种类,比如 very coherent symmetrical artwork,将作品结构设为「连贯且对称」。
  4. 色调:yellow color scheme 指整个画面的主色调为黄色。
  5. 参考平台:Trending on ArtStation,也可以替换为「Facebook」「Pixiv」「Pixbay」等。 相同参数下,不同平台生成的图片

#特征描述

除画面主体外,可以用其他具象物体和形容词来填充画面细节。描述词要具体,讲出你要的物体和它的特征。

  • 次要元素:物体不要太多,两到三个就好。若要特别强调某个元素,可以加很多括号或者惊叹号,比如 beautiful forest background, desert!!, (((sunset))) 中会优先体现「desert」和「sunset」元素。
  • 人物特征:detailed gorgeous face, delicate features, elegant, Googly Eyes, Bone, big tits, silver hair, olive skin, Mini smile
  • 特定润色:insanely detailed and intricate, gorgeous, surrealism, smooth, sharp focus, Painting, Digital Art, Concept Art, Illustration, Artstation, in a symbolic and meaningful style, 8K
  • 光线描述:Natural Lighting, Studio Lighting, Cinematic Lighting, Crepuscular Rays, X-Ray, Backlight
  • 镜头视角:Cinematic, Magazine, Golden Hour, F/22, Depth of Field, Side-View,虚化背景 Bokeh
  • 画面质量:professional, award winning, breathtaking, groundbreaking, superb, outstanding,或虚幻引擎 Unreal Engine
  • 其他描述:细节和纹理、物体占据画面的大小、年代、渲染 / 建模工具等,比如 Vivid Colors(艳丽色彩)。

#prompt 权重

假设你在提示词中使用了 mountain,生成的图像很可能会有树。但如果你想要生成没有树的山的图像,可以使用 mountain | tree:-10。其中 tree:-10 表示对于树的权重非常负,因此生成的图像中不会出现树。通过权重词,我们还能生成更复杂的图像,例如 A planet in space:10 | bursting with color red, blue, and purple:4 | aliens:-10 | 4K, high quality。[8]

Prompt 中的词语顺序代表其权重,越靠前权重越大。如若某物未出现在图像中,可以将该名词放在首位。

#否定提示

auto/auto-cpu 分支中可以设置 Negative prompt(否定提示),以避免画面中出现指定元素。

  • 修正畸形:disfigured, deformed hands, blurry, grainy, broken, cross-eyed, undead, photoshopped, overexposed, underexposed, lowres, bad anatomy, bad hands, extra digits, fewer digits, bad digit, bad ears, bad eyes, bad face, cropped: -5
  • 避免裸体:nudity, bare breasts
  • 避免黑白照:black and white,monochrome

#prompt 参考

除画面主体描述外,其他要素并非必须。如果你只是简单尝试,输入主体「apples」即可。

如果你不知道生成什么图像,可以使用 promptoMANIAopen in new windowWEIRD WONDERFUL AI ARTopen in new window 按提示组合描述,或参考 AI 图库 PromptHeroopen in new windowOpenArtopen in new window 上其他人分享的成品图和描述文案,比如

goddess close-up portrait skull with mohawk, ram skull, skeleton, thorax, x-ray, backbone, jellyfish phoenix head, nautilus, orchid, skull, betta fish, bioluminiscent creatures, intricate artwork by Tooth Wu and wlop and beeple, highly detailed, digital painting, Trending on artstation, very coherent symmetrical artwork, concept art, smooth, sharp focus, illustration, 8k

#Prompt matrix

Prompt matrix 是 sygil 分支的功能,可以按不同条件组合生成多张相关但不同的画面,适合用于制作视频素材。[9] 此时,批次数量的设置会被忽略。如果你对将图像转化为视频有兴趣,可以尝试使用 Deforum Stable Diffusion Local Versionopen in new window

A BiliBili video

上方视频的调教词为 A mecha robot in World War II in realistic style|Shoot with another mecha robot|Bombed by planes|Missile drop|broken|Repaired|cinematic lighting| 符号后的场景条件将进行排列组合,视频样例有 6 个场景条件生成 64 张图。

另外,我们可以指定场景条件位置,比如 @(moba|rpg|rts) character (2d|3d) model 表示 (moba|rpg|rts 三选一) character (2d|3d 二选一) model,也就是会生成 3*2 张图片。开头的 @ 是触发指定场景条件位置的符号,不能省略。

#Textual Inversion

Textual Inversion(文本倒置)是 auto/auto-cpu 分支提供的功能,可以个人定制单词在模型中的含义。比如大众模型中医生多是白人男性,而我们可以输入 5 张亚洲女性照片并将其与 doctor 关联,经过 Textual Inversion 处理后的模型生成的医生形象将以亚洲女性为主。[10]

Textual Inversion 定制流程:

  1. Preprocess images:设置源图目录和输出目录。
  2. Create embedding(新建嵌入):建立模型属性。
  3. 待续。

#常见问题

#Docker Desktop failed

未正常安装/关闭 Docker 容器时,可能会报错 Docker Desktop failed to start/stop

先删除 %AppData% 路径下的 Docker 文件夹,然后在 PowerShell 中输入下方命令,关闭 WSL 和 docker-desktop。最后,手动重启 Docker Desktop。

wsl --shutdown
wsl -l -v
wsl --unregister docker-desktop
wsl -l -v

#Docker Desktop cannot start

Hardware assisted virtualization and data execution protection must be enabled in the BIOS 报错说明电脑没开启虚拟化。

在开机的时候多按几次 F2DEL 进入 BIOS,然后设置中开启「Intel Virtual Technology」,AMD 则是将「SVM Support」设置为设置为「Enable」的状态;最后点击「F10」保存退出即可。

#docker 命令失败

The command 'docker' could not be found 说明当前命令行确实 Docker 环境缺失,检查 Docker Desktop 是否启动。

#exited with code 137

通常来说,exited with code 137 意味着内存不足,超出内存限制导致进程被关闭。建议硬件配置最低为 16G 内存,尤其是在使用 auto-cpu 模式时。

#端口访问被拒

Docker 容器原本运行正常,端口访问突然被拒绝了,显示 Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:7860 -> 0.0.0.0:0: listen tcp 0.0.0.0:7860: bind: An attempt was made to access a socket in a way forbidden by its access permissions

在 Powershell 中输入 netsh int ipv4 show excludedportrange protocol=tcp 检查是否处于被排除端口范围,然后输入 reg add HKLM\SYSTEM\CurrentControlSet\Services\hns\State /v EnableExcludedPortRange /d 0 /f 开启端口。操作完成后,重启电脑即可解封端口。[11]

#FileNotFoundError

再次架构容器时报错 FileNotFoundError: [Errno 2] No such file or directory: '/models/model.ckpt',这是架构位置错误导致的。此时,我们需要检查是否通过 WSL 输入的架构命令,并且 Stable Diffusion WebUI Docker 解压路径是否配置正确。

#采样模型

采样模型是 AI 绘画的核心。2022.09.10 已支持自动下载采样模型,下方列表仅做参考。

#最后

尽管 Stable Diffusion 目前还不能作为生产力工具,但它使设计变得更加简单,也为普通人开启了 AI 绘画的可能性。建议你亲自体验,实际部署一下,让自己拥有更多的可能性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

零基础入门 Stable Diffusion - 无需显卡把 AI 绘画引擎搬进家用电脑 的相关文章

  • 蒙特卡洛在发电系统中的应用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 喜报|华测导航荣获“张江之星”领军型企业称号

    近日 2023年度 张江之星 企业培育名单发布 上海华测导航荣获2023年度 张江之星 领军型企业称号 据悉 张江之星 企业培育是上海科创办为落实 关于推进张江高新区改革创新发展建设世界领先科技园区的若干意见 张江高新区加快世界领先科技园区
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 让CHAT介绍下V2ray

    CHAT回复 V2Ray是一个网络工具 主要用于科学上网和保护用户的网络安全 它的名字源自Vmess Ray 光线 通过使用新的网络协议 为用户提供稳定且灵活的代理服务 下面是一些V2Ray的主要特性 1 多协议支持 V2Ray 提供了大量
  • 利用CHAT上传文件的操作

    问CHAT autox js ui 上传框 CHAT回复 上传文件的操作如果是在应用界面中的话 由于Android对于文件权限的限制 你可能不能直接模拟点击选择文件 一般来说有两种常见的解决方案 一种是使用intent来模拟发送一个文件路径
  • 打造完美人像,PixCake像素蛋糕助您一键修图

    您是否曾经为自己的人像照片需要进行繁琐的修图而感到困扰 是否曾经想要打造出完美的自拍照 却不知道该如何下手 现在 我们为您推荐一款强大的人像处理技术修图软件 PixCake像素蛋糕 PixCake像素蛋糕是一款基于AI人像处理技术的修图软件
  • 渗透测试常用工具汇总_渗透测试实战

    1 Wireshark Wireshark 前称Ethereal 是一个网络分包分析软件 是世界上使用最多的网络协议分析器 Wireshark 兼容所有主要的操作系统 如 Windows Linux macOS 和 Solaris kali
  • 作物叶片病害识别系统

    介绍 由于植物疾病的检测在农业领域中起着重要作用 因为植物疾病是相当自然的现象 如果在这个领域不采取适当的护理措施 就会对植物产生严重影响 进而影响相关产品的质量 数量或产量 植物疾病会引起疾病的周期性爆发 导致大规模死亡 这些问题需要在初
  • 2024 人工智能与大数据专业毕业设计(论文)选题指导

    目录 前言 毕设选题 选题迷茫 选题的重要性 更多选题指导 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生
  • 如何快速申请GPT账号?

    详情点击链接 如何快速申请GPT账号 一OpenAI 1 最新大模型GPT 4 Turbo 2 最新发布的高级数据分析 AI画图 图像识别 文档API 3 GPT Store 4 从0到1创建自己的GPT应用 5 模型Gemini以及大模型
  • 机器学习算法实战案例:时间序列数据最全的预处理方法总结

    文章目录 1 缺失值处理 1 1 统计缺失值 1 2 删除缺失值 1 3 指定值填充 1 4 均值 中位数 众数填充
  • AI在广告中的应用——预测性定位和调整

    营销人员的工作就是在恰当的时间将适合的产品呈现在消费者面前 从而增加他们购买的可能性 随着时间的推移 营销人员能够深入挖掘越来越精准的客户细分市场 他们不仅具备了实现上述目标的能力 而且这种能力还在呈指数级提升 在AI技术帮助下 现在的营销
  • 【EI复现】基于深度强化学习的微能源网能量管理与优化策略研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 有 无策略奖励 2 2 训练结果1
  • 蒙特卡洛在发电系统中的应用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 国产化率100%,北斗导航单日定位4500亿次,外媒:GPS将被淘汰

    追赶30年的技术差距 国产卫星导航系统 北斗 开始扬眉吐气 数据显示 北斗导航目前单日定位量达4500亿次 已经获得100多个国家的合作意向 甚至国际民航也摒弃以往 独宠 GPS的惯例 将北斗纳入参考标准 对此 有媒体直言 GPS多年来的技
  • 深度学习(5)--Keras实战

    一 Keras基础概念 Keras是深度学习中的一个神经网络框架 是一个高级神经网络API 用Python编写 可以在TensorFlow CNTK或Theano之上运行 Keras优点 1 允许简单快速的原型设计 用户友好性 模块化和可扩
  • 自动驾驶离不开的仿真!Carla-Autoware联合仿真全栈教程

    随着自动驾驶技术的不断发展 研发技术人员开始面对一系列复杂挑战 特别是在确保系统安全性 处理复杂交通场景以及优化算法性能等方面 这些挑战中 尤其突出的是所谓的 长尾问题 即那些在实际道路测试中难以遇到的罕见或异常驾驶情况 这些问题暴露了实车
  • 两个月进口猛增10倍,买近百台光刻机,难怪ASML不舍中国市场

    据统计数据显示 2023年11月和12月 中国从荷兰进口的光刻机设备同比猛增10倍 进口金额超过19亿美元 让ASML赚得盆满钵满 ASML早前表示中国客户在2023年订购的光刻机全数交付 2023年11月中国进口的光刻机达到42台 进口金
  • 2023下半年软考「单独划线」合格标准公布

    中国计算机技术职业资格网发布了 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告 2023下半年软考单独划线地区合格标准各科目均为42分 01 官方通告 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告
  • AI 赋能绿色制冷,香港岭南大学开发 DEMMFL 模型进行建筑冷负荷预测

    近年来 城市化进程加速所带来的碳排放量骤增 已经严重威胁到了全球环境 多个国家均已给出了 碳达峰 碳中和 的明确时间点 一场覆盖全球 全行业的 绿色革命 已经拉开序幕 在一众行业中 建筑是当之无愧的能耗大户 其中又以暖通空调 Heating

随机推荐

  • 验证微信号的正则表达式

    var wxreg a zA Z 1 a zA Z0 9 5 19
  • vue项目使用视频播放器vue-video-player

    安装使用 插件有版本限制 如果项目使用的是vue2 0版本 请选择安装 4 x版本 否则会安装不成功 yarn add vue video palyer save 或者 npm install vue video palyer save 组
  • python里出现breakoutsideloop_Python ast.Break方法代码示例

    本文整理汇总了Python中ast Break方法的典型用法代码示例 如果您正苦于以下问题 Python ast Break方法的具体用法 Python ast Break怎么用 Python ast Break使用的例子 那么恭喜您 这里
  • Java对JSON路径解析JsonPath例子

    1 jsonpath的特点 不需要定义java bean 不用对多层map多次迭代 就可以获得json解析树中深层次的节点 Jayway的jsonpath解析需要把要解析的json一次加载进内存 2 1 jsonpath表达式的两种方式 t
  • html创建添加地图(超简单)

    1 打开百度地图创建平台 百度地图创建平台 2 根据个人需求改就行了 可加标注 3 点击获取代码 复制下来就可以用了 4 个人用的是HBulider 复制到里面可直接用了 如果有文字显示问题 把编码改成utf 8就行了 5 地图控件位置在网
  • Unity3d + NGUI 的多分辨率适配

    移动端的多机型适配 现在要介绍的是 锁链战记 这款游戏的适配方法 这种适配方法是UI是一个基础尺寸 背景是一个基础尺寸 背景比UI多出的部分是一些没有实际作用的部分 这样的适配方式避免了在iPhone5这样的小屏幕上镶边 首先设定UIRoo
  • matlab函数式里虚数i怎么表示,matlab虚数_matlab 中复数如何表示?

    matlab 中复数如何表示 你i是不是已经被定义为变量了 正常i就是复数单位 可以这样表示的 matlab是否可以定义虚数 想来想去只想到一个比较笨的办法 不过不用if find和循环语句 而且确实管用 a 1 2 3 3i 2i 1i
  • 在任何地方使用Active Directory映像

    介绍 Introduction Active Directory has a neat feature that enables you to upload user images Unfortunately not all systems
  • 算术转换之寻常算术转换

    算术转换之寻常算术转换 题目 include
  • Python之动态规划

    序言 最近在学习python语言 语言有通用性 此文记录复习动态规划并练习python语言 动态规划 Dynamic Programming 动态规划是运筹学的一个分支 是求解决策过程最优化的过程 20世纪50年代初 美国数学家贝尔曼 R
  • 如何理解c++中的引用折叠?

    感觉上叫引用坍塌好理解点 reference collapsing rules 就这样 A 变成 A A 变成 A A 变成 A A 变成 A 就是左值引用会传染 只有纯右值 沾上一个左值引用就变左值引用了 作者 知乎用户 链接 https
  • 安卓手机屏幕坏了如何导出数据_ICMAX教你如何导出坏手机里面的EMMC存储芯片资料...

    手机主板坏了或者是手机坏了开不了机了 不想拿去修 又想把手机内存里面的东西导出来 该怎办才好 今天宏旺半导体就和大家聊聊如何把坏掉手机里的资料导出来 之前写过 废旧手机里的eMMC芯片如何重新利用 宏旺半导体亲身实验 eMMC改U盘 等文章
  • Spring源码分析(八)依赖注入源码解析1:autowire自动注入 和 @Autowired注入

    Spring中到底有几种依赖注入的方式 首先分两种 手动注入 自动注入 手动注入 在XML中定义Bean时 就是手动注入 因为是程序员手动给某个属性指定了值
  • hbuilderx 小程序分包_如何使用HBuilderX开发微信小程序

    注意 本文讲的是使用HBuilderX开发原生微信小程序 不是uni app 使用uni app请在HBuilderX中新建uni app项目 很多开发者需要开发小程序 但小程序的开发IDE却总被众多开发者吐槽 很多开发者只把微信开发工具当
  • Redis的五种数据类型及应用场景

    文章目录 1 数据类型 1 String 2 List 3 Set 4 Hash 5 ZSet 6 五种数据类型的原理 2 五种数据类型的应用场景 1 数据类型 String 字符串 整数 浮点数 做简单的键值对缓存 List 列表 储存一
  • Springboot结合Redis实现分布式定时任务

    一 背景 之前分享过分布式定时任务的技术选型方案 分布式定时任务技术选型方案 个人青睐xxl job 分享了搭建接入流程 xxl job搭建方案 本次项目需求较为简单 同时时间紧张 下面介绍利用Redis锁实现分布式定时任务的方案 二 Sc
  • OpenCV学习目录

    1 张正友相机标定Opencv实现以及标定流程 标定结果评价 图像矫正流程解析 附标定程序和棋盘图 https blog csdn net dcrmg article details 52939318 2 opencv视频操作基础 Vide
  • 运行npm install 时 postinstall: sill install executeActions,卡住不动

    npm install一直停留在postinstall sill install executeActions卡住不动 可以使用如下命令设置为淘宝的镜像源 npm config set registry https registry npm
  • 原生JS获取cookie并转换成json

    原生获取cookie var cookieString document cookie 原生获取的cookie转换为JSON的方法 1 原始转换 function cookie to json var cookie text documen
  • 零基础入门 Stable Diffusion - 无需显卡把 AI 绘画引擎搬进家用电脑

    我从小特别羡慕会画画的伙伴 他们能够将心中的想法画出来 而我最高水平的肖像画是丁老头 但在接触 Stable Diffusion 之后 我感觉自己脱胎换骨 给自己贴上了 会画画 的新标签 丁老头进化旅程 Stable Diffusion 是