国内Ubuntu环境Docker部署Stable Diffusion入坑记录
国内Ubuntu环境Docker部署Stable Diffusion入坑记录
本文旨在记录使用docker+python进行部署 stable-diffusion-webui
项目时遇到的一些问题,以及解决方案,原项目地址: https://github.com/AUTOMATIC1111/stable-diffusion-webui
问题一览:
- 国内如何下载大模型?
- 手写Docker运行时遇到的问题记录。
国内如何快速下载大模型?
使用 modelscope 模块进行下载,你可以在官网找到你需要的模型。
官网地址:https://modelscope.cn/models
# SDK模型下载
from modelscope import snapshot_download
# 示例
snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
Docker运行时遇到的问题
1、安装带gpu版本的torch?
在requirements_versions.txt
和 requirements.txt
的第一行加入以下文本:
国外:--extra-index-url https://download.pytorch.org/whl/cu121
国内:--extra-index-url https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/wheel/cu121/
一般我们安装带GPU的torch时通常会去 download.pytorch.org
找对应的torch版本。
加上上述文本后会自动从该网址查找并下载安装。
2、以下问题需要重新编译python
是因为手动编译python时,系统依赖安装不足,导致有些依赖库找不到指定的系统包。这种情况只能安装相关系统软件后,重新编译python。
ModuleNotFoundError: No module named '_ctypes'
使用 apt-get install libffi-dev
安装 libffi-dev。
ModuleNotFoundError: No module named '_lzma'
使用 apt-get install liblzma-dev
安装 liblzma-dev。
重新编译方法:
wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz
tar -xzf Python-3.10.13.tgz
cd Python-3.10.13
./configure --with-system-ffi --enable-shared --enable-optimizations && make && make install && echo "/usr/local/lib" | tee /etc/ld.so.conf.d/python3.conf && ldconfig
3、以下问题安装需要安装git
root@58befcdcc1d7:/workspace/automatic1111-stable-diffusion-webui# python3 webui.py
/usr/local/lib/python3.10/site-packages/torchvision/transforms/functional_tensor.py:5: UserWarning: The torchvision.transforms.functional_tensor module is deprecated in 0.15 and will be **removed in 0.17**. Please don't rely on it. You probably just need to use APIs in torchvision.transforms.functional or in torchvision.transforms.v2.functional.warnings.warn(
Traceback (most recent call last):File "/usr/local/lib/python3.10/site-packages/git/__init__.py", line 87, in <module>refresh()File "/usr/local/lib/python3.10/site-packages/git/__init__.py", line 76, in refreshif not Git.refresh(path=path):File "/usr/local/lib/python3.10/site-packages/git/cmd.py", line 341, in refreshraise ImportError(err)
ImportError: Bad git executable.
The git executable must be specified in one of the following ways:- be included in your $PATH- be set via $GIT_PYTHON_GIT_EXECUTABLE- explicitly set via git.refresh()All git commands will error until this is rectified.This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:- quiet|q|silence|s|none|n|0: for no warning or exception- warn|w|warning|1: for a printed warning- error|e|raise|r|2: for a raised exceptionExample:export GIT_PYTHON_REFRESH=quietThe above exception was the direct cause of the following exception:Traceback (most recent call last):File "/workspace/automatic1111-stable-diffusion-webui/webui.py", line 15, in <module>from modules import import_hook, errors, extra_networks, ui_extra_networks_checkpointsFile "/workspace/automatic1111-stable-diffusion-webui/modules/ui_extra_networks_checkpoints.py", line 6, in <module>from modules import shared, ui_extra_networks, sd_modelsFile "/workspace/automatic1111-stable-diffusion-webui/modules/shared.py", line 16, in <module>from modules import localization, extensions, script_loading, errors, ui_components, shared_itemsFile "/workspace/automatic1111-stable-diffusion-webui/modules/extensions.py", line 6, in <module>import gitFile "/usr/local/lib/python3.10/site-packages/git/__init__.py", line 89, in <module>raise ImportError('Failed to initialize: {0}'.format(exc)) from exc
ImportError: Failed to initialize: Bad git executable.
The git executable must be specified in one of the following ways:- be included in your $PATH- be set via $GIT_PYTHON_GIT_EXECUTABLE- explicitly set via git.refresh()All git commands will error until this is rectified.This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:- quiet|q|silence|s|none|n|0: for no warning or exception- warn|w|warning|1: for a printed warning- error|e|raise|r|2: for a raised exceptionExample:export GIT_PYTHON_REFRESH=quiet
使用 apt install git
安装 git即可。
4、以下问题是因为缺少python依赖包或依赖包的版本问题
ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor'
这是因为高版本的torch有些包已经移动或者更改了导入方式,可选择降torch版本到1.13以下或者更改高版本的源码的导入方式。
请参考这篇博客:
https://blog.csdn.net/lanxing147/article/details/136625264
这篇博客讲到了有些版本是可以使用的,比如笔者使用的 torch 2.12 + torchvision0.16.2 + torchaudio2.1.2。
可使用以下命令安装:
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
但是国内比较慢,可以选择使用国内镜像源进行提速。使用以下命令:
pip install torch==2.1.2 torchvision torchaudio -f https://mirrors.aliyun.com/pytorch-wheels/cu121/
参考以下文章:
https://docs.infini-ai.com/posts/download-pytorch-from-mirror.html
TypeError: AsyncConnectionPool.__init__() got an unexpected keyword argument 'socket_options'
这是由于 httpcore
版本太低导致的, 使用 pip3 install -U httpcore
升级 httpcore 到最新版本即可。
ModuleNotFoundError: No module named 'clip'
使用 pip3 install clip
安装 clip 库即可。
No module named 'pytorch_lightning.utilities.distributed'
pytorch_lightning的版本较低,安装高版本的 pytorch_lightning
即可。
笔者使用的是 pip3 pytorch_lightning==1.9
。
No module named 'gdown'
使用 pip3 install gdown
安装 gdown库即可。
No module named 'open_clip_torch'
使用 pip3 install open_clip_torch
安装 open_clip_torch库即可。
5、启动时遇到的问题
最终启动用命令:
python3 webui.py --listen --port=7860 --no-half --disable-nan-check
写在最后
附上完整的Docker 镜像构筑的相关文件,国内基本上也能够很顺畅的一键构筑好docker镜像,总大小约28G。
请在项目根目录下创建一个 docker
目录,然后将 Dockerfile、compose.yaml、requirements.txt 、 requirements_versions.txt、start.sh等文件放进去。
然后执行 cd docker && docker compose -f compose.yaml up
命令。
如果访问浏览器的 7860 端口出现以下界面,恭喜你成功了。
Dockerfile
FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04ARG VENV_NAME="sd-webui"
ENV VENV=$VENV_NAME
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8ENV DEBIAN_FRONTEN=noninteractive
SHELL ["/bin/bash", "-c"]RUN apt-get update -y
RUN apt-get install -y libgl1-mesa-glx libglib2.0-0
RUN apt-get install -y net-tools wget curl gitRUN apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libffi-dev liblzma-dev# 从国内镜像源下载安装python
# wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tar.xz && tar Jxf Python-3.10.13.tar.xz
RUN wget https://mirrors.huaweicloud.com/python/3.10.13/Python-3.10.13.tar.xz && tar Jxf Python-3.10.13.tar.xz
RUN cd Python-3.10.13 && ./configure --with-system-ffi --enable-shared --enable-optimizations && make && make install && echo "/usr/local/lib" | tee /etc/ld.so.conf.d/python3.conf && ldconfig
RUN python3 -V && pip3 -V# 设置国内镜像源
RUN pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && pip3 config set install.trusted-host mirrors.aliyun.comWORKDIR /workspace
COPY ./requirements_versions.txt ./
COPY ./requirements.txt ./RUN pip3 install -r requirements_versions.txt
RUN pip3 install -r requirements.txt
compose.yaml
services:sd-webui:container_name: sd-webuiimage: sd-webui:1.0restart: alwaysports:- 7860:7860environment:- TZ=Asia/Tokyo- NVIDIA_VISIBLE_DEVICES=allvolumes:- ../../automatic1111-stable-diffusion-webui:/workspace/automatic1111-stable-diffusion-webui# command: tail -f /dev/nullcommand: sh -c "sh /workspace/automatic1111-stable-diffusion-webui/docker/start.sh"deploy:resources:reservations:devices:- driver: nvidiacapabilities: [gpu]
requirements.txt
--extra-index-url https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/wheel/cu121/
blendmodes
accelerate
basicsr
fonts
font-roboto
gfpgan
gradio
invisible-watermark
numpy
omegaconf
opencv-contrib-python
requests
piexif
Pillow
# pytorch_lightning==1.7.7
pytorch_lightning==1.9
realesrgan
scikit-image>=0.19
timm==0.4.12
transformers==4.25.1
# torch
torch==2.1.2
torchaudio==2.1.2
einops
jsonmerge
clean-fid
resize-right
torchdiffeq
kornia
lark
inflection
GitPython
torchsde
safetensors
psutil
open_clip_torch
gdown
clip
requirements_versions.txt
--extra-index-url https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/wheel/cu121/
blendmodes==2022
transformers==4.25.1
accelerate==0.12.0
basicsr==1.4.2
gfpgan==1.3.8
gradio==3.16.2
numpy==1.23.3
Pillow==9.4.0
realesrgan==0.3.0
torch
omegaconf==2.2.3
# pytorch_lightning==1.7.6
pytorch_lightning
scikit-image==0.19.2
fonts
font-roboto
timm==0.6.7
piexif==1.1.3
einops==0.4.1
jsonmerge==1.8.0
clean-fid==0.1.29
resize-right==0.0.2
torchdiffeq==0.2.3
kornia==0.6.7
lark==1.1.2
inflection==0.5.1
GitPython==3.1.27
torchsde==0.2.5
safetensors==0.2.7
# httpcore<=0.15
httpcore
fastapi==0.90.1
open_clip_torch
start.sh
#! /bin/bash
cd automatic1111-stable-diffusion-webui && python3 webui.py --listen --port=7860 --no-half --disable-nan-check
以上就是本次踩坑的记录。愿看到的小伙伴不迷路。
相关文章:
国内Ubuntu环境Docker部署Stable Diffusion入坑记录
国内Ubuntu环境Docker部署Stable Diffusion入坑记录 本文旨在记录使用dockerpython进行部署 stable-diffusion-webui 项目时遇到的一些问题,以及解决方案,原项目地址: https://github.com/AUTOMATIC1111/stable-diffusion-webui 问题一览: …...
速盾:服务器CDN加速解析的好处有哪些呢?
随着互联网应用的普及,越来越多的企业开始关注如何提升网站的访问速度和用户体验。为了实现这一目标,许多企业选择使用CDN(内容分发网络)来加速网站的内容分发。CDN通过在全球范围内分布多个节点,将内容缓存到离用户最…...
【sql】CAST(GROUP_CONCAT())实现一对多对象json输出
数据库:mysql 5.7版本以上 问题:一对多数据,实现输出一条数据,并将多条数据转换成json对象输出,可以实现一对多个字段。 项目中关系较为复杂,以下简化数据关系如下: t1是数据表,t…...
[创业之路-221]:企业的责任中心:收入中心、利润中心、成本中心、费用中心、投资中心
目录 一、大部分企业责任中心定义 投资中心:战略决策部 利润中心:事业部 收入中心:进账 成本中心:成本 费用中心:消耗 二、华为对责任中心定义 投资中心 利润中心(事业部:BU࿰…...
人工智能之基于阿里云图像人脸融合部署
人工智能之基于阿里云图像人脸融合部署 需求描述 基于阿里云搭建图像人脸融合模型,模型名称:iic/cv_unet-image-face-fusion_damo使用上述模型输出人脸融合照片 模型路径:人脸融合 业务实现 阿里云配置 阿里云配置如下: SD…...
GXUOJ-算法-补题:22级《算法设计与分析》第一次课堂练习
2.最大子数组和 问题描述 代码解答 #include<bits/stdc.h> using namespace std; const int N1005; int sum,n,a[N]; int res-1;int result(){for(int i0;i<n;i){if(sum<0) suma[i];else{suma[i];resmax(res,sum);}}return res; } int main(){cin>>n;for(i…...
Redisson 分布式锁获取tryLock和lock的区别
问题 boolean isLock lock.tryLock(10, 30, TimeUnit.SECONDS); boolean isLock lock.lock(30, TimeUnit.SECONDS); boolean isLock lock.lock(); 三者的区别?? 这三个方法都是用于获取 Redisson 分布式锁的,但它们在获取锁的方式和行为…...
mysql及其兼容语法数据库对于注释的特殊要求
我司大部分数据库使用MS-SQL,其中使用大量–开头的行注释,由于业务需要,切换到了Starrocks数据库(兼容mysql语法)后发现使用with开头子查询的时候,大量报错,单独执行内部的子查询又正常…...
开源模型应用落地-工具使用篇-Spring AI(七)
一、前言 在AI大模型百花齐放的时代,很多人都对新兴技术充满了热情,都想尝试一下。但是,实际上要入门AI技术的门槛非常高。除了需要高端设备,还需要面临复杂的部署和安装过程,这让很多人望而却步。不过,随…...
多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测
多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测 目录 多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测预测效果基本介绍模型背景程序设计参考资料 预测效果 基本介绍 Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入…...
【golang学习之旅】使用VScode安装配置Go开发环境
1. 下载并安装Go 1.1 下载地址1.2 选择版本并下载1.3 安装目录1.4 验证是否安装成功 2. 配置环境变量 2.1 配置步骤2.2 GO部分环境变量说明 3. 下载或更新 Vscode 3.1 下载地址3.2 安装步骤 4. 为Go开发配置VScode 1. 下载并安装Go 1.1 下载地址 https://studygolang.com/dl…...
HarmonyOS Next“说书人”项目 单机版 实践案例
前段时间开发了一个软件,取名为“说书人”,后由于备案暂时没有通过,于是删除了联网功能,重新做了一个单机版,这里对于单机版的开发实践案例进行一个发出,希望能帮助到大家 文章最后给出了AtomGit仓库地址 p…...
Vue3 + ElementPlus动态合并数据相同的单元格(超级详细版)
最近的新项目有个需求需要合并单元列表。ElementPlus 的 Table 提供了合并行或列的方法,可以参考一下https://element-plus.org/zh-CN/component/table.html 但项目中,后台数据返回格式和指定合并是动态且没有规律的,Element 的示例过于简单&…...
前端开发中依赖包有问题怎么办
在前端开发中,如果你发现某个依赖包存在问题,可以考虑以下步骤来解决: 一、简单方案 1. 检查问题来源: 确认问题是否由依赖包引起,而不是你的代码或其他配置问题。查看错误信息、文档和相关的 GitHub issue…...
Oracle exp和imp命令导出导入dmp文件
目录 一. 安装 instantclient-tools 工具包二. exp 命令导出数据三. imp 命令导入数据四. expdp 和 impdp 命令 一. 安装 instantclient-tools 工具包 ⏹官方网站 https://www.oracle.com/cn/database/technologies/instant-client/linux-x86-64-downloads.html ⏹因为我们在…...
阿里云人工智能工程师ACA认证免费课程学习笔记
阿里云人工智能工程师ACA认证免费课程学习笔记 0. 引言第1章:人工智能基础课时1:人工智能概述课时2:人工智能产业结构课时3:人工智能项目开发的基本流程 第2章:机器学习PAI平台基础第3章:数据处理基础课时8…...
单片机库函数-io输出操作
1、需要使用模块 使用库函数做跑马灯,要用到: misc.h misc.c 时钟模块: stm32f10x_rcc.h stm32f10x_rcc.c gpio模块: 头文件:stm32f10x_gpio.h 源文件:stm32f10x_gpio.c 2、库函数 2.1、初始化GPIO void GPIO_Init(GPIO_TypeDef* …...
SpringAI从入门到熟练
学习SpringAI的记录情况 文章目录 前言 因公司需要故而学习SpringAI文档,故将自己所见所想写成文章,供大佬们参考 主要是为什么这么写呢,为何不抽出来呢,还是希望可以用的时候更加方便一点,如果大家有需求可以自行去…...
Javascript-web API-day04
文章目录 01-实例化日期对象02-常见的日期对象方法03-年月日案例04-年月日简化05-得到时间戳06-倒计时07-关闭节点08-子节点09-增加节点10-克隆节点11-删除节点12-m端时间13-(swiper插件的使用)移动端轮播图游乐园项目 学成在线重构 01-实例化日期对象 <!DOCTYPE html> …...
等待事件 ‘latch: row cache objects‘ 说明及解决方法
早上刚来的时候,收到zabbix 数据库连接数增长的告警,同时应用负责人也说查询很慢、很卡 查看该时间段 最多的等待事件 SELECT event,COUNT(1) num FROM V$ACTIVE_SESSION_HISTORY A WHERE A.SAMPLE_TIME BETWEEN TO_DATE(2025-01-02 09:00:00, YYYY-M…...
Mac电脑python多版本环境安装与切换
我当前是python3.9.6环境,需要使用3.9.8环境,通过brew安装3.9.8版本,然后通过pyenv切换环境 步骤 1: 安装 pyenv brew install pyenv brew install pyenv-virtualenv 步骤 2: 安装 Python 3.9.8(使用 pyenv 安装指定版本的 Pyth…...
MySQL 锁那些事
Q1 : MySQL有哪些锁,功能是什么,如何项目中使用?Q2 : 行锁是如何实现的?什么情况下会使用行锁?Q3 : 四种事务隔离形式的行锁有什么不一样?读未提交读提交可重复读串行 Q4 : MySQL 的读写都是怎样加锁的?Q5 : 需要注意什么? Q1 : MySQL有哪些锁,功能是什么,如何项目中使用…...
面试手撕笔记ML/DL
数据集 数据集的批处理迭代器 Deep-ML | Batch Iterator for Dataset 实现一个批量可迭代函数,该函数在numpy数组X和可选numpy数组y中进行采样。该函数应该生成指定大小的批量。如果提供了y,则该函数应生成(X, y)对的批次&#…...
WPF使用ContentControl控件实现区域导航,并使用Prism依赖注入优化
背景:使用ContentControl控件实现区域导航是有Mvvm框架的WPF都能使用的,不限于Prism 主要是将ContenControl控件的Content内容在ViewModel中切换成不同的用户控件 下面是MainViewModel: private object body;public object Body {get { retu…...
NineData 荣获年度“创新解决方案奖”
近日,国内知名 IT 垂直媒体 & 技术社区 IT168 再次启动“技术卓越奖”评选,由行业 CIO/CTO 大咖、技术专家及 IT 媒体多方联合评审,NineData 凭借技术性能和产品创新等方面表现出色,在数据库工具领域荣获“2024 年度创新解决方…...
Windows 11 系统中npm-cache优化
在 Windows 11 系统中,C:\Users\K\AppData\Local\npm-cache 文件夹是 npm(Node Package Manager) 用于缓存已下载的包的目录。缓存的存在可以加快包的安装速度,因为当再次安装相同的包时,npm 可以直接从缓存中获取&…...
【运维工具】Ansible一款好用的自动化工具
Ansible一款好用的自动化工具 概述一、基本概念与特点二、核心组件三、主要功能与应用场景四、优缺点 如何使用一、安装Ansible二、配置Ansible三、使用Ansible四、注意事项 Playbook语法详解一、YAML文件的基本结构二、Playbook的主要组成部分三、Playbook示例四、注意事项 概…...
4.Web安全——JavaScript基础
一、JavaScript是什么? JavaScript 是一种高级的、解释型的编程语言,广泛应用于网页开发和各种软件应用程序中。 二、为什么要学习JavaScript XSS(跨站脚本攻击)防范 XSS 是一种常见的 Web 安全漏洞,攻击者将恶意脚…...
mysql删除无用用户
1、删除不用的账户 (1) 查看当前已存在账户 mysql> select user,host,password from mysql.user; 或下面的命令 #mysql> sELECT DISTINCT CONCAT(User: ,user,,host,;) AS query FROM mysql.user; --------------------------------------- | query …...
2025元旦源码免费送
我们常常在当下感到时间慢,觉得未来遥远,但一旦回头看,时间已经悄然流逝。对于未来,尽管如此,也应该保持一种从容的态度,相信未来仍有许多可能性等待着我们。 免费获取源码。 更多内容敬请期待。如有需要可…...
静态库封装之ComFile类
ComFile.h /* author:EricsT data:20241024 version:V1.0 history:author data version contentEricsT 20241024 V1.0 新增ComFile类[common、FILE以及stream部分] */#pragma once#include <string> #include <fstream> using namespace std;class ComFile { publi…...
概率论与数理统计
概率论占比更多,三分之二左右 数理统计会少一些 事件之间的概率 ab互斥,不是ab独立 古典概型吃高中基础,考的不会很多 条件概率公式,要记 公式不要全记,很多有名称的公式是通过基础公式转换而来的 目的在于解决一…...
鸿蒙HarmonyOS开发:基于Swiper组件和自定义指示器实现多图片进度条轮播功能
文章目录 一、概述1、场景介绍2、技术选型 二、实现方案1、图片区域实现2、底部导航点设计3、手动切换 三、所有代码1、设置沉浸式2、外层Tabs效果3、ImageSwiper组件 四、效果展示 一、概述 在短视频平台上,经常可以见到多图片合集。它的特点是:由多张…...
django --递归查询评论
表数据 树状结构 action(methods(GET, ), detailFalse) def get_info_pinglun(self, request, *args, **kwargs) -> Response:根据评论id查所有回复params wenxian_pinglun_id --> 评论id;wenxian_pinglun_id self.request.GET.get(wenxian_pinglun_id)results se…...
kafka怎么保证顺序消费?
kafka怎么保证顺序消费? 1. 分区内的顺序保证2. 并发消费3. 实现顺序消费的策略4. 注意事项 kafka创建 topic 的时候没有指定分区数量,那么默认只会有一个分区。如果你想要创建一个具有多个分区的 topic,你可以在创建 topic 的命令中指定 --p…...
springboot原生socket通讯教程
需求背景 最近需要对接一些硬件设备,他们选择了socket通讯,并且使用的是私有化协议加密通讯。这种情况下适合原生的socket加解密解析,不适合NettySocket,这在开发中增加了难度。所有的代码都要手动去敲。如果你的只想通过socket传输一些数据,而且都是json的数据,例如聊天…...
革新排版机产线:一体式IO模块引领自动化高效控制新时代
在瞬息万变的制造业浪潮中,自动化与智能化已成为推动产业升级的关键力量。特别是在印刷行业,排版机的效率与精度直接关系到产品的质量与市场竞争力。近年来,随着技术的不断革新,明达技术MR20一体式IO模块凭借其高度集成、灵活配置…...
《深度学习梯度消失问题:原因与解决之道》
在深度学习的训练过程中,梯度消失是一个常见且棘手的问题,它会严重影响模型的训练效果和性能。以下是对该问题的原因分析与解决办法。 梯度消失问题的原因 首先是激活函数选择不当。像Sigmoid和Tanh这类传统激活函数,在输入值较大或较小时&…...
IP-MS常见问题(一)
用于IP-MS实验的样品,需要多少样品量? 建议使用约2107数量的细胞(约5 mg蛋白)进行IP实验。 其他类型的IP起始样品,如组织、细菌等可根据蛋白含量进行换算。 经过IP实验步骤或纯化富集的蛋白通常不超过10 μg…...
四种线程池的创建及任务提交
1. 线程池概述 1.1 线程池的定义 线程池是管理和控制线程使用的一种手段。它通过提前创建一定数量的线程,并将任务提交给这些线程执行,来实现资源的合理分配和任务的高效处理。 关键点: 线程复用:线程池在任务执行完毕后&#…...
【优选算法】查找总价格为目标值的两个商品
链接:LCR 179. 查找总价格为目标值的两个商品 - 力扣(LeetCode) 解法:利用单调性,使用双指针算法解决问题 1.先从小到大排序 2. sum > t : right--; sum < t : left; sum t : return class Solution {public…...
从零开始学架构——互联网架构的演进
1 技术演进 1.1 技术演进的动力 对于新技术,我们应该站在行业的角度上思考,哪些技术我们要采取,哪些技术我们不能用,投入成本过大会不会导致满盘皆输?市场、技术、管理三者组成的业务发展铁三角,任何一个…...
Linux 系统常见问题
SSH问题 SSH连接服务器时报错: ssh_exchange_identification: read: Connection reset by peer 报错信息: ssh_exchange_identification: read: Connection reset by peer可以通过ssh -p root -v查看连接时详情 解决方法: vi /etc/host…...
工厂模式与抽象工厂模式在Unity中的实际应用案例
一、实验目的 实践工厂模式和抽象工厂模式的实际应用。 创建一个小型的游戏场景,通过应用这些设计模式提升游戏的趣味性和可扩展性。 掌握在复杂场景中管理和使用不同类型的对象。 比较在实际游戏开发中不同设计模式的实际效果和应用场景。 学习如何进行简单的性…...
AI定义汽车/跨域融合/整车智能,汽车智能化2.0时代新机会来了
汽车智能化2.0,产业正在发生深度变革。 一方面,AI大模型开始在多个域同步赋能智能汽车,从智能座舱到智能驾驶,再到底盘域,AI大模型正在快速推动汽车变革为超级智能体,AI定义汽车时代开始来临。 另一方面&…...
QT----------多媒体
实现思路 多媒体模块功能概述: QT 的多媒体模块提供了丰富的功能,包括音频播放、录制、视频播放和摄像头操作等。 播放音频: 使用 QMediaPlayer 播放完整的音频文件。使用 QSoundEffect 播放简短的音效文件。 录制音频: 使用 QMe…...
[ubuntu-22.04]ubuntu不识别rtl8153 usb转网口
问题描述 ubuntu22.04插入rtl8153 usb转网口不识别 解决方案 安装依赖包 sudo apt-get install libelf-dev build-essential linux-headers-uname -r sudo apt-get install gcc-12 下载源码 Realtek USB FE / GBE / 2.5G / 5G Ethernet Family Controller Softwarehttps:/…...
洛谷P1525 [NOIP2010 提高组] 关押罪犯(种子并查集基础)
题目链接:P1525 [NOIP2010 提高组] 关押罪犯 - 洛谷 | 计算机科学教育新生态 题目难度:普及+/提高 题目描述: S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为 1∼N,有m对罪犯,每对之间有仇恨值,问如何分配罪犯使得现 Z 市长要看到其中最大的矛盾值最小。 输入格…...
Android笔试面试题AI答之Android基础(11)
Android入门请看《Android应用开发项目式教程》,视频、源码、答疑,手把手教 文章目录 1.Android的权限有哪些?**1. 普通权限****常见普通权限** **2. 危险权限****权限分组****常见危险权限组及权限** **3. 特殊权限****常见特殊权限** **4. …...
【智行安全】基于Synaptics SL1680的AI疲劳驾驶检测方案
随著车载技术的快速进步,驾驶安全越来越受到重视,而疲劳驾驶是造成交通事故的重要原因之一。传统的驾驶监控技术因精度不足或反应迟缓,无法满足实时监测需求。因此,结合人工智能技术的疲劳驾驶检测系统成为行业新方向,…...