Stable Diffusion webUI 配置指南

Stable Diffusion webUI 配置指南

本博客主要介绍部署Stable Diffusion到本地,生成想要的风格图片。

文章目录

  • Stable Diffusion webUI 配置指南
    • 1、配置环境
      • (1)pip环境[可选]
      • (2)conda环境[可选]
    • 2、配置Stable Diffusion webUI项目
    • 3、遇到的问题
    • 4、参考

1、配置环境

  • 使用平台:Linux Ubuntu 18.04.5 LTS
  • 编程语言:Python 3.9
  • CUDA环境:CUDA 11.7

  Python环境配置可通过conda环境或者pip环境,如果不想用已有的环境或者使用python3.10及以上,可以直接跳过如下步骤。

(1)pip环境[可选]

requirements.txt文件内容如下:

accelerate==0.21.0
aenum==3.1.15
aiofiles==23.2.1
aiohttp==3.9.5
aiosignal==1.3.1
altair==5.3.0
antlr4-python3-runtime==4.9.3
anyio==3.7.1
async-timeout==4.0.3
attrs==23.2.0
blendmodes==2022
certifi==2024.2.2
chardet==5.2.0
charset-normalizer==2.0.4
clean-fid==0.1.35
click==8.1.7
clip==1.0
cmake==3.29.2
contourpy==1.2.1
cycler==0.12.1
deprecation==2.1.0
diskcache==5.6.3
einops==0.4.1
exceptiongroup==1.2.1
facexlib==0.3.0
fastapi==0.94.0
ffmpy==0.3.2
filelock==3.14.0
filterpy==1.4.5
fonttools==4.51.0
frozenlist==1.4.1
fsspec==2024.3.1
ftfy==6.2.0
gitdb==4.0.11
GitPython==3.1.32
gradio==3.41.2
gradio_client==0.5.0
h11==0.12.0
httpcore==0.15.0
httpx==0.24.1
huggingface-hub==0.23.0
idna==3.7
imageio==2.34.1
importlib_resources==6.4.0
inflection==0.5.1
Jinja2==3.1.3
jsonmerge==1.8.0
jsonschema==4.22.0
jsonschema-specifications==2023.12.1
kiwisolver==1.4.5
kornia==0.6.7
lark==1.1.2
lazy_loader==0.4
lightning-utilities==0.11.2
lit==18.1.4
llvmlite==0.42.0
MarkupSafe==2.1.5
matplotlib==3.8.4
mkl-fft==1.3.1
mkl-random==1.2.2
mkl-service==2.4.0
mpmath==1.3.0
multidict==6.0.5
networkx==3.2.1
numba==0.59.1
numpy==1.26.2
nvidia-cublas-cu11==11.10.3.66
nvidia-cublas-cu12==12.1.3.1
nvidia-cuda-cupti-cu11==11.7.101
nvidia-cuda-cupti-cu12==12.1.105
nvidia-cuda-nvrtc-cu11==11.7.99
nvidia-cuda-nvrtc-cu12==12.1.105
nvidia-cuda-runtime-cu11==11.7.99
nvidia-cuda-runtime-cu12==12.1.105
nvidia-cudnn-cu11==8.5.0.96
nvidia-cudnn-cu12==8.9.2.26
nvidia-cufft-cu11==10.9.0.58
nvidia-cufft-cu12==11.0.2.54
nvidia-curand-cu11==10.2.10.91
nvidia-curand-cu12==10.3.2.106
nvidia-cusolver-cu11==11.4.0.1
nvidia-cusolver-cu12==11.4.5.107
nvidia-cusparse-cu11==11.7.4.91
nvidia-cusparse-cu12==12.1.0.106
nvidia-nccl-cu11==2.14.3
nvidia-nccl-cu12==2.20.5
nvidia-nvjitlink-cu12==12.4.127
nvidia-nvtx-cu11==11.7.91
nvidia-nvtx-cu12==12.1.105
omegaconf==2.2.3
open-clip-torch==2.20.0
opencv-python==4.9.0.80
orjson==3.10.2
packaging==24.0
pandas==2.2.2
piexif==1.1.3
Pillow==9.5.0
pillow-avif-plugin==1.4.3
pip==23.3.1
protobuf==3.20.0
psutil==5.9.5
pydantic==1.10.15
pydub==0.25.1
pyparsing==3.1.2
python-dateutil==2.9.0.post0
python-multipart==0.0.9
pytorch-lightning==1.9.4
pytz==2024.1
PyWavelets==1.6.0
PyYAML==6.0.1
referencing==0.35.1
regex==2024.4.28
requests==2.31.0
resize-right==0.0.2
rpds-py==0.18.0
safetensors==0.4.2
scikit-image==0.21.0
scipy==1.13.0
semantic-version==2.10.0
sentencepiece==0.2.0
setuptools==68.2.2
six==1.16.0
smmap==5.0.1
sniffio==1.3.1
spandrel==0.1.6
starlette==0.26.1
sympy==1.12
tifffile==2024.4.24
timm==0.9.16
tokenizers==0.13.3
tomesd==0.1.3
toolz==0.12.1
torch==2.0.1
torchaudio==2.0.2
torchdiffeq==0.2.3
torchmetrics==1.3.2
torchsde==0.2.6
torchvision==0.15.2
tqdm==4.66.2
trampoline==0.1.2
transformers==4.30.2
triton==2.0.0
typing_extensions==4.11.0
tzdata==2024.1
urllib3==2.1.0
uvicorn==0.29.0
wcwidth==0.2.13
websockets==11.0.3
wheel==0.41.2
yarl==1.9.4
zipp==3.18.1

  安装shell命令

pip install -r requirements.txt

(2)conda环境[可选]

  requirements.txt文件内容如下:

# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: linux-64
_libgcc_mutex=0.1=main
_openmp_mutex=5.1=1_gnu
accelerate=0.21.0=pypi_0
aenum=3.1.15=pypi_0
aiofiles=23.2.1=pypi_0
aiohttp=3.9.5=pypi_0
aiosignal=1.3.1=pypi_0
altair=5.3.0=pypi_0
antlr4-python3-runtime=4.9.3=pypi_0
anyio=3.7.1=pypi_0
async-timeout=4.0.3=pypi_0
attrs=23.2.0=pypi_0
blas=1.0=mkl
blendmodes=2022=pypi_0
bzip2=1.0.8=h5eee18b_6
ca-certificates=2024.3.11=h06a4308_0
certifi=2024.2.2=py39h06a4308_0
chardet=5.2.0=pypi_0
charset-normalizer=3.3.2=pypi_0
clean-fid=0.1.35=pypi_0
click=8.1.7=pypi_0
clip=1.0=pypi_0
cmake=3.29.2=pypi_0
contourpy=1.2.1=pypi_0
cuda-cudart=11.7.99=0
cuda-cupti=11.7.101=0
cuda-libraries=11.7.1=0
cuda-nvrtc=11.7.99=0
cuda-nvtx=11.7.91=0
cuda-runtime=11.7.1=0
cudatoolkit=11.1.1=ha002fc5_10
cudnn=8.9.2.26=cuda11_0
cycler=0.12.1=pypi_0
deprecation=2.1.0=pypi_0
diskcache=5.6.3=pypi_0
einops=0.4.1=pypi_0
exceptiongroup=1.2.1=pypi_0
facexlib=0.3.0=pypi_0
fastapi=0.94.0=pypi_0
ffmpeg=4.3=hf484d3e_0
ffmpy=0.3.2=pypi_0
filelock=3.14.0=pypi_0
filterpy=1.4.5=pypi_0
fonttools=4.51.0=pypi_0
freetype=2.12.1=h4a9f257_0
frozenlist=1.4.1=pypi_0
fsspec=2024.3.1=pypi_0
ftfy=6.2.0=pypi_0
gitdb=4.0.11=pypi_0
gitpython=3.1.32=pypi_0
gmp=6.2.1=h295c915_3
gnutls=3.6.15=he1e5248_0
gradio=3.41.2=pypi_0
gradio-client=0.5.0=pypi_0
h11=0.12.0=pypi_0
httpcore=0.15.0=pypi_0
httpx=0.24.1=pypi_0
huggingface-hub=0.23.0=pypi_0
idna=3.7=py39h06a4308_0
imageio=2.34.1=pypi_0
importlib-resources=6.4.0=pypi_0
inflection=0.5.1=pypi_0
intel-openmp=2021.4.0=h06a4308_3561
jinja2=3.1.3=pypi_0
jpeg=9e=h5eee18b_1
jsonmerge=1.8.0=pypi_0
jsonschema=4.22.0=pypi_0
jsonschema-specifications=2023.12.1=pypi_0
kiwisolver=1.4.5=pypi_0
kornia=0.6.7=pypi_0
lame=3.100=h7b6447c_0
lark=1.1.2=pypi_0
lazy-loader=0.4=pypi_0
lcms2=2.12=h3be6417_0
ld_impl_linux-64=2.38=h1181459_1
lerc=3.0=h295c915_0
libcublas=11.10.3.66=0
libcufft=10.7.2.124=h4fbf590_0
libcufile=1.9.1.3=0
libcurand=10.3.5.147=0
libcusolver=11.4.0.1=0
libcusparse=11.7.4.91=0
libdeflate=1.17=h5eee18b_1
libffi=3.3=he6710b0_2
libgcc-ng=11.2.0=h1234567_1
libgomp=11.2.0=h1234567_1
libiconv=1.16=h5eee18b_3
libidn2=2.3.4=h5eee18b_0
libnpp=11.7.4.75=0
libnvjpeg=11.8.0.2=0
libpng=1.6.39=h5eee18b_0
libstdcxx-ng=11.2.0=h1234567_1
libtasn1=4.19.0=h5eee18b_0
libtiff=4.5.1=h6a678d5_0
libunistring=0.9.10=h27cfd23_0
libwebp-base=1.3.2=h5eee18b_0
lightning-utilities=0.11.2=pypi_0
lit=18.1.4=pypi_0
llvmlite=0.42.0=pypi_0
lz4-c=1.9.4=h6a678d5_1
markupsafe=2.1.5=pypi_0
matplotlib=3.8.4=pypi_0
mkl=2021.4.0=h06a4308_640
mkl-service=2.4.0=py39h7f8727e_0
mkl_fft=1.3.1=py39hd3c417c_0
mkl_random=1.2.2=py39h51133e4_0
mpmath=1.3.0=pypi_0
multidict=6.0.5=pypi_0
ncurses=6.4=h6a678d5_0
nettle=3.7.3=hbbd107a_1
networkx=3.2.1=pypi_0
numba=0.59.1=pypi_0
numpy=1.26.2=pypi_0
nvidia-cublas-cu11=11.10.3.66=pypi_0
nvidia-cublas-cu12=12.1.3.1=pypi_0
nvidia-cuda-cupti-cu11=11.7.101=pypi_0
nvidia-cuda-cupti-cu12=12.1.105=pypi_0
nvidia-cuda-nvrtc-cu11=11.7.99=pypi_0
nvidia-cuda-nvrtc-cu12=12.1.105=pypi_0
nvidia-cuda-runtime-cu11=11.7.99=pypi_0
nvidia-cuda-runtime-cu12=12.1.105=pypi_0
nvidia-cudnn-cu11=8.5.0.96=pypi_0
nvidia-cudnn-cu12=8.9.2.26=pypi_0
nvidia-cufft-cu11=10.9.0.58=pypi_0
nvidia-cufft-cu12=11.0.2.54=pypi_0
nvidia-curand-cu11=10.2.10.91=pypi_0
nvidia-curand-cu12=10.3.2.106=pypi_0
nvidia-cusolver-cu11=11.4.0.1=pypi_0
nvidia-cusolver-cu12=11.4.5.107=pypi_0
nvidia-cusparse-cu11=11.7.4.91=pypi_0
nvidia-cusparse-cu12=12.1.0.106=pypi_0
nvidia-nccl-cu11=2.14.3=pypi_0
nvidia-nccl-cu12=2.20.5=pypi_0
nvidia-nvjitlink-cu12=12.4.127=pypi_0
nvidia-nvtx-cu11=11.7.91=pypi_0
nvidia-nvtx-cu12=12.1.105=pypi_0
omegaconf=2.2.3=pypi_0
open-clip-torch=2.20.0=pypi_0
opencv-python=4.9.0.80=pypi_0
openh264=2.1.1=h4ff587b_0
openjpeg=2.4.0=h3ad879b_0
openssl=1.1.1w=h7f8727e_0
orjson=3.10.2=pypi_0
packaging=24.0=pypi_0
pandas=2.2.2=pypi_0
piexif=1.1.3=pypi_0
pillow=9.5.0=pypi_0
pillow-avif-plugin=1.4.3=pypi_0
pip=23.3.1=py39h06a4308_0
protobuf=3.20.0=pypi_0
psutil=5.9.5=pypi_0
pydantic=1.10.15=pypi_0
pydub=0.25.1=pypi_0
pyparsing=3.1.2=pypi_0
python=3.9.0=hdb3f193_2
python-dateutil=2.9.0.post0=pypi_0
python-multipart=0.0.9=pypi_0
pytorch-cuda=11.7=h778d358_5
pytorch-lightning=1.9.4=pypi_0
pytorch-mutex=1.0=cuda
pytz=2024.1=pypi_0
pywavelets=1.6.0=pypi_0
pyyaml=6.0.1=pypi_0
readline=8.2=h5eee18b_0
referencing=0.35.1=pypi_0
regex=2024.4.28=pypi_0
requests=2.31.0=py39h06a4308_1
resize-right=0.0.2=pypi_0
rpds-py=0.18.0=pypi_0
safetensors=0.4.2=pypi_0
scikit-image=0.21.0=pypi_0
scipy=1.13.0=pypi_0
semantic-version=2.10.0=pypi_0
sentencepiece=0.2.0=pypi_0
setuptools=68.2.2=py39h06a4308_0
six=1.16.0=pyhd3eb1b0_1
smmap=5.0.1=pypi_0
sniffio=1.3.1=pypi_0
spandrel=0.1.6=pypi_0
sqlite=3.45.3=h5eee18b_0
starlette=0.26.1=pypi_0
sympy=1.12=pypi_0
tifffile=2024.4.24=pypi_0
timm=0.9.16=pypi_0
tk=8.6.12=h1ccaba5_0
tokenizers=0.13.3=pypi_0
tomesd=0.1.3=pypi_0
toolz=0.12.1=pypi_0
torch=2.0.1=pypi_0
torchaudio=2.0.2=pypi_0
torchdiffeq=0.2.3=pypi_0
torchmetrics=1.3.2=pypi_0
torchsde=0.2.6=pypi_0
torchvision=0.15.2=pypi_0
tqdm=4.66.2=pypi_0
trampoline=0.1.2=pypi_0
transformers=4.30.2=pypi_0
triton=2.0.0=pypi_0
typing-extensions=4.11.0=pypi_0
typing_extensions=4.9.0=py39h06a4308_1
tzdata=2024.1=pypi_0
urllib3=2.2.1=pypi_0
uvicorn=0.29.0=pypi_0
wcwidth=0.2.13=pypi_0
websockets=11.0.3=pypi_0
wheel=0.41.2=py39h06a4308_0
xz=5.4.6=h5eee18b_1
yarl=1.9.4=pypi_0
zipp=3.18.1=pypi_0
zlib=1.2.13=h5eee18b_1
zstd=1.5.5=hc292b87_2

  安装shell命令

conda install --yes --file requirements.txt

2、配置Stable Diffusion webUI项目

(1)克隆项目
  目前克隆版本号为:v1.9.3。如果下载进度断了,建议下载后解压到目录下即可。

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

  然后切换到项目根目录下,输入命令:cd stable-diffusion-webui

(2)提前配置【可选,推荐配置】

  • 切换到第三方包文件夹下cd stable-diffusion-webui/repositories,提前安装open_clip(v2.24.0)和generative-models,离线安装open_clip具体命令如下:
git clone https://github.com/mlfoundations/open_clip.git
cd open_clip
python setup.py build install

  离线安装generative-models具体命令如下:

git clone https://github.com/Stability-AI/generative-models.git
cd generative-models
python setup.py build install

  如果在下面安装的过程中存在某些包拉取中断可以直接本地下载后再进行安装即可。笔者只遇到以上两个包安装存在中断的现象。

(3)运行脚本

  • 方式一:bash start.sh配置环境到根目录下的文件,项目根目录下会生成一个venv文件用于存放python环境文件包。
    如果使用该环境下的python的话,要找到文件夹里面的python执行脚本,比如:
    一般在conda或者pip环境下执行python launch.py,那么如果要使用venv文件夹里的环境就需要执行/venv/bin/python launch.py

  个人觉得比较麻烦,该环境复用性比较差,运行python不方便,所以后面都用第二种方式(如下面)

  • 方式二:python launch.py,命令过程中如果发现某些包没有装,如进行安装,建议按照上述章节提前安装好,不然会出现网络问题而终止。

  笔者运行命令行结果如下(推理了一次,红色字体是因为笔者没有设置外网映射,默认这个设置是不开的,“如果你想要的话需要去weibu.py中将shared.demo.launch()第一行,改为share=True”):

(4)下载预训练权重
  项目中models目录下会有一个存放模型路径(model/Stable-diffusion/),从https://hf-mirror.com/LarryAIDraw/v1-5-pruned-emaonly/tree/main下载v1-5-pruned-emaonly.ckpt存放到该路径下。如果你想生成人像比较逼真的话需要从https://hf-mirror.com/92john/chilloutmix_NiPrunedFp32Fix.safetensors/tree/main下载一个chilloutmix_NiPrunedFp32Fix.safetensors模型文件,放到model/Stable-diffusion/目录下,然后再接下来的web界面上选择对应的模型就可以了。

  打开本地7860端口,界面如下(选择好存放的模型):
在这里插入图片描述

  测试图片示例展示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、遇到的问题

  • 问题1

version libcudnn_ops_infer.so.8 not defined in file libcudnn_ops_infer.so.8 with link time reference.

  解决方法:命令行输入:conda install -c conda-forge cudnn安装cudnn和cudatoolkit。

  • 问题2

OSError: Can’t load tokenizer for ‘openai/clip-vit-large-patch14’. If you were trying to load it from ‘https://huggingface.co/models’, make sure you don’t have a local directory with the same name. Otherwise, make sure ‘openai/clip-vit-large-patch14’ is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.

  解决方法:下面https://huggingface.co/openai/clip-vit-large-patch14/tree/main的文件到stable-diffusion-webui/openai这个文件目录下(如果没有就创建)。参考【download files from https://huggingface.co/openai/clip-vit-large-patch14/tree/main and put them into the directory stable-diffusion-webui/openai (create it if doesn’t exist)】

  国内专用安装命令:(不用加.git

git clone https://hf-mirror.com/openai/clip-vit-large-patch14
  • 问题3

cannot import name ‘COMMON_SAFE_ASCII_CHARACTERS‘ from ‘charset_normalizer.constant’.

  解决方法:安装chardet:pip install chardet

4、参考

[1] https://zhuanlan.zhihu.com/p/611519270

[2] https://blog.csdn.net/weixin_40735291/article/details/129333599

[3] https://github.com/pytorch/pytorch/issues/104591

[4] https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/11507

[5] https://blog.csdn.net/weixin_47037450/article/details/129616415

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

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

相关文章

STM32 F103C8T6学习笔记17:类IIC通信(SMBus协议)—MLX90614红外非接触温度计

今日学习配置MLX90614红外非接触温度计 与 STM32 F103C8T6 单片机的通信 文章提供测试代码讲解、完整工程下载、测试效果图 本文需要用到的大概基础知识&#xff1a;1.3寸OLED配置通信显示、IIC通信、 定时器配置使用 这里就只贴出我的 OLED驱动方面的网址链接了&#xff1a…

图像处理ASIC设计方法 笔记21 标记ASIC的顶层状态机

目录 (一)标记ASIC的工作流程1 ASIC首先从控制寄存器内读出待标记图像的基本参数2若写入了有效的启动命令,则进入下面一帧图像的标记过程。3 ASIC通过接口模块从FIFO1中读取待标记的图像4一帧图像初步标记完成后进行等价表的整理压缩5从临时标记存储器中读取临时标记送入标记…

快速构建vscode pytest 开发测试环境

如果不想用 heavy 的pycharm vscode 也是1个很好的选择 安装python SDK pacman -S python [gatemanmanjaro-x13 tmp]$ pacman -Q python python 3.11.8-1安装Vscode 很多中方法 yay -S visual-studio-code-bin [gatemanmanjaro-x13 tmp]$ pacman -Q | grep -i visual visua…

【UE5】动态播放媒体

最近项目中有一个需求&#xff0c;需要将场景中的42块屏幕都显示媒体内容&#xff0c;想着如果每一块屏幕都创建一个MediaPlayer资产、一个MediaSource资产、一个MediaTexture资产及创建对应的Material&#xff0c;就是4*42168个资产需要维护了&#xff0c;所以想着就全部采用动…

DDD:根据maven的脚手架archetype生成ddd多模块项目目录结构

随着领域驱动的兴起&#xff0c;很多人都想学习如何进行ddd的项目开发&#xff0c;那ddd的项目结构是怎么样的&#xff1f;又是如何结合SpringBoot呢&#xff1f;那么针对这个问题&#xff0c;笔者使用maven的archetype封装一个相对通用的ddd的项目目录&#xff0c;方便一键生成…

【Github】将github仓库作为图床使用

创建github仓库 首先创建一个github仓库专门用于存储图片&#xff0c;具体步骤如下&#xff1a; 1.点击新的仓库按钮 2.初始配置&#xff1a;随便填写一个仓库名&#xff1b;这里的仓库状态一定要是public公开的&#xff0c;不然后面访问不了图片 下载PicGo PicGo官网 在A…

微信小程序 uniapp家庭食谱菜谱食材网上商城系统小程序ko137

随着生活节奏的不断加快&#xff0c;越来越多的人因为工作忙而没有时间自己出去订购喜欢的菜品。随着Internet的飞速发展&#xff0c;网络已经成为我们日常生活中必不可少的部分&#xff0c;越来越多的人也接受了电子商务这种快捷、方便的交易方式。网上订餐其独有的便捷性和直…

Ubuntu20安装torch1.13和pytorch_geometric2.3.0(对应cuda11.6)

在torch下载页面搜索1.13https://pytorch.org/get-started/previous-versions/&#xff0c;wheel安装方式&#xff08;激活conda虚拟环境&#xff09; pip install torch1.13.0cu116 torchvision0.14.0cu116 torchaudio0.13.0 --extra-index-url https://download.pytorch.org…

WPF之XmlDataProvider使用

1&#xff0c;WPF XAML支持数据提供&#xff08;DataProvider&#xff09;&#xff0c;但其提供的数据只供查看不可进行修改&#xff0c;删除&#xff0c;添加等。 数据提供者都继承自System.Windows.DataSourceProvider类&#xff0c;目前&#xff0c;WPF只提供两个数据提供者…

Docker入门篇来啦~

文章目录 1虚拟化技术1.1 硬件级虚拟化1.2 操作系统级虚拟化 2 Docker是什么2.1 Docker介绍2.2 容器和虚拟机的区别2.3 为什么使用Docker 3 Docker运行环境部署3.1 Docker安装3.2 Docker服务启动 4 Docker核心组件4.1 镜像4.1.1 镜像的基本概念4.1.2 镜像的组成结构4.1.3 镜像的…

【Hadoop】--基于hadoop和hive实现聊天数据统计分析,构建聊天数据分析报表[17]

目录 一、需求分析 1、背景介绍 2、目标 3、需求 4、数据内容 5、建库建表 二、ETL数据清洗 1、数据问题 2、需求 3、实现 4、扩展概念&#xff1a;ETL 三、指标计算 1、指标1&#xff1a;统计今日消息总量 2、指标2&#xff1a;统计每小时消息量、发送量和接收用…

Unity UGUI Image 点击事件忽略空白像素区域

我们会遇到图片不是方形的不规则图片。这个时候我们希望只有点击到图像内容本身才算点击&#xff0c;点击空白区域则不算点击。而UGUI对图片的处理是整个图片都会算作点击区域&#xff0c;这样不能满足于我们的使用需求了。 首先我们需要把图片本身的Read/Write 选项打开 然后…

CSS精灵图、字体图标、HTML5新增属性、界面样式和网站 favicon 图标

精灵图 为什么要使用精灵图 一个网页中往往会应用很多小的背景图像作为修饰&#xff0c;当网页中的图像过多时&#xff0c;服务器就会频繁地接收和发送请求图片&#xff0c;造成服务器请求压力过大&#xff0c;这将大大降低页面的加载速度,因此&#xff0c;为了有效地减少服务…

【源码阅读】Golang中的go-sql-driver库源码探究

文章目录 前言一、go-sql-driver/mysql1、驱动注册&#xff1a;sql.Register2、驱动实现&#xff1a;MysqlDriver3、RegisterDialContext 二、总结 前言 在上篇文章中我们知道&#xff0c;database/sql只是提供了驱动相关的接口&#xff0c;并没有相关的具体实现&#xff0c;具…

分层图像金字塔变压器

文章来源&#xff1a;hierarchical-image-pyramid-transformers 2024 年 2 月 5 日 本文介绍了分层图像金字塔变换器 (HIPT)&#xff0c;这是一种新颖的视觉变换器 (ViT) 架构&#xff0c;设计用于分析计算病理学中的十亿像素全幻灯片图像 (WSI)。 HIPT 利用 WSI 固有的层次结…

JDK14特性

JDK14 1 概述2 语法层面的变化1_instanceof的模式匹配(预览)2_switch表达式(标准)3_文本块改进(第二次预览)4_Records 记录类型(预览 JEP359) 3 API层面的变化4 关于GC1_G1的NUMA内存分配优化2_弃用SerialCMS,ParNewSerial Old3_删除CMS4_ZGC on macOS and Windows 4 其他变化1…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-8.2-链接脚本

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

3.9设计模式——Strategy 策略模式(行为型)

意图 定义一系列的算法&#xff0c;把它们一个个封装起来&#xff0c;并且使他们可以相互替换此模式使得算法可以独立于使用它们的客户而变化 结构 Strategy&#xff08;策略&#xff09;定义所有支持的算法的公共入口。Context使用这个接口来调用某ConcreteStrategy定义的方…

实验14 MVC

二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握MVC的用法。【参考课本 例1 】 三、源代码以及执行结果截图&#xff1a; example7_1.jsp&#xff1a; <% page contentType"text/html" %> <% page pageEncoding "ut…

【信息收集-基于字典爆破敏感目录--御剑/dirsearch

两个工具都是内置字典来对于目录进行爆破的&#xff0c;这是信息收集的一部分&#xff0c;若能在列举出的目录中找到有价值的信息能为后续渗透做准备。 御剑比较简便 dirsearch需要集成python3.x环境&#xff0c;但是可选的命令更多。两者爆破的结果不一定相同&#xff0c;可以…