AI有关的学习和python

news2024/9/27 8:17:53

一、基本概念

AIGC(AI Generated content AI 生成内容)

AI生成的文本、代码、图片、音频、视频。都可以成为AIGC。

Generative AI(生成式AI)所生成的内容就是AIGC

  • AI指代计算机人工智能,模仿人类的智能从而解决问题和完成任务。
    • 机器学习是AI的子集,不需要做显示编程,而是通过算法让计算机自动学习和改进
      • 监督学习算法接受带有标签的训练数据,也就是期望的输出值(例如进行分类和回归)

      • 无监督学习自主发现数据里的模式或规律( 例如聚类)

      • 强化学习在环境里采取行动,根据反馈学习(下围棋)

      • 深度学习使用人工神经网络,模仿人脑处理信息的方式,通过层次化提取和表示数据的特征

知识库

想象一下你是一个机器人,你要去帮助人们回答问题。但是你自己并不知道所有的答案,所以你需要一个地方来存储这些信息,就像是一个巨大的书库一样,里面装满了各种各样的书。

这个“书库”就是知识库。里面可能有各种书籍,每本书都代表了一个特定的知识领域。比如,有一本书是关于天气预报的,里面包含了各种关于天气的知识,比如什么样的云会带来雨水,哪种气象条件会导致雷暴等等。

另一本书可能是关于烹饪的,里面包含了各种菜谱、食材和烹饪技巧。每本书都是一种知识表示方式,它们可能是规则、概念、图表或者其他形式的知识结构。

当有人向你提问时,你可以去搜索这些书籍,找到相关的信息,并根据它们给出答案。比如,如果有人问你明天的天气如何,你可以去查找天气预报这本书,然后告诉他们明天会是晴天还是多云。它提供了一个结构化的方式来存储和组织知识,使得智能系统能够理解和处理人类的信息需求。

微调

微调指在预训练的基础上,使用特定领域的少量数据进一步训练模型,以适应特定的任务需求。它能让模型更准确地处理特定类型的问题。微调就是在一个已经训练好的人工智能模型基础上,稍微修改一些参数,以便适应新的任务或数据。就像是在一个已经学会了一些知识的学生基础上,再加上一点新的知识,以适应新的考试题目一样。

AI Agent

AI代理(Agent)是一种在人工智能领域中常见的概念,它指的是能够感知环境、进行决策和执行动作的程序或系统。这些代理可以是物理实体,如机器人,也可以是虚拟实体,如在计算机程序中运行的智能系统。

大模型相当为大脑,agent为手脚。模型负责下达指令,agent负责收集执行等。

提示词工程

提示词直接决定了反馈结果的优劣,想让大模型回答我们想要的内容,就需要优化提示词,使得模型的回答更加符合我们的预期的要求。提示词就起到了数据清洗和筛选作用。

提示词的作用有三点

  • 更精确的答案:确保大模型能够准确理解并回答用户的问题。
  • 多样性:一个稍有不同的提示,会导致截然不同的答案。
  • 控制输出风格:提示词可以用来指导模型的输出风格或内容。

提示词的制定环节

  1. 明确目标:首先确定你希望大模型或者机器人为你做什么?
  2. 优化提示:可以给大模型更加具体的指示。
  3. 评估和迭代:通过不同的提示词,来问它同样的问题,查看模型反馈是否满意。

提示词的核心技术

N-gram :通过统计通过计算N个词出现的概率,来预测下一个词(N为不固定的数)

深度学习:由多层神经网络组成,可以自动从数据中心学习,让模型不断自我学习优化,直到反馈符合预期

如何使用提示词

  1. 语言清晰
  2. 尽量把任务要求和用户输入用分隔符来隔开,尽量使用英文的""
  3. 给模型足够的信息,充分引导模型沿着正确的道路得出正确的答案。

提示词结构

  1. Context上下文(可选)

    1. 角色
    2. 任务
    3. 知识
  2. instruction命令(必选)

    1. 步骤
    2. 思维链
    3. 示例
  3. input data输入数据(必选)

    1. 句子

    2. 文章

    3. 问题

  4. output indicator输出格式(可选)

机器学习和神经网络

【偏难,看不懂可跳过】机器学习和神经网络基础知识_哔哩哔哩_bilibili

神经网络的基础概念

  1. 神经元(Neuron): 神经网络的基本单元,也称为节点或者单元。它模拟了生物神经元的功能,接收输入信号、进行加权求和、经过激活函数处理后产生输出。
  2. 连接权重(Weights): 连接权重是神经元之间连接的强度,用来调节输入信号对神经元输出的影响程度。权重越大,表示该输入对神经元的影响越大。
  3. 激活函数(Activation Function): 激活函数决定了神经元是否被激活(输出非零值)。常用的激活函数包括sigmoid、ReLU、tanh等,它们用于引入非线性特性,使神经网络能够学习更复杂的模式。
  4. 输入层(Input Layer): 输入层接收来自外部的数据输入,并将数据传递给网络中的其他层。每个输入层节点对应输入数据的一个特征。
  5. 隐藏层(Hidden Layer): 隐藏层位于输入层和输出层之间,负责处理输入数据并提取特征。一个神经网络可以包含多个隐藏层。
  6. 输出层(Output Layer): 输出层负责将神经网络的计算结果输出,通常用于进行分类、回归等任务。
  7. 前向传播(Forward Propagation): 前向传播是指输入数据经过神经网络各层的计算和传递过程,最终产生输出结果的过程。
  8. 反向传播(Backpropagation): 反向传播是一种通过计算梯度来更新神经网络参数的方法,它是训练神经网络的核心算法之一。
卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是一种专门用于处理具有网格状拓扑结构数据的人工神经网络。CNN 在图像识别、计算机视觉和自然语言处理等领域取得了巨大成功。

CNN 的核心特点包括:

  1. 卷积层(Convolutional Layer): CNN 使用卷积层来提取输入数据中的特征。卷积操作将一个滤波器(也称为卷积核)应用于输入数据的不同位置,从而生成特征图。
  2. 池化层(Pooling Layer): 池化层通常紧随在卷积层之后,用于减少特征图的维度并提取最显著的特征。最常见的池化操作是最大池化,即在特定区域内选择最大值作为输出。
  3. 激活函数(Activation Function): 在卷积层和池化层之间,通常会添加一个激活函数,如ReLU(Rectified Linear Unit),用于引入非线性特性。
  4. 全连接层(Fully Connected Layer): 在卷积和池化层之后,通常会有一到多个全连接层,用于将提取的特征映射到输出类别或者结果上。

CNN 的工作流程包括:

  1. 输入层: 将输入数据(如图像)送入网络。
  2. 卷积层: 在卷积层中,通过应用多个滤波器来提取输入数据中的不同特征。
  3. 池化层: 池化层用于减少特征图的尺寸,并提取最显著的特征。
  4. 全连接层: 最后的全连接层将提取的特征映射到输出类别。
  5. 输出层: 输出层产生最终的预测结果。
自然语言处理

自然语言处理(NLP)是人工智能领域的一个分支,旨在让计算机能够理解、处理和生成人类自然语言的文本和语音数据。它涉及文本分类、命名实体识别、机器翻译、问答系统等任务,广泛应用于搜索引擎、智能助手、智能客服等领域。

多模态

多模态模型是指能够同时处理多种不同类型数据(例如文本、图像、音频等)的机器学习模型。这些模型通常设计用于解决多模态任务,如图像描述生成、视觉问答、视频理解等。多模态模型通常结合了不同类型数据的处理能力,使其能够更全面地理解和处理复杂的输入信息。

Embedding(嵌入)

嵌入是一种技术,用于将高维、复杂的数据(如文本、图像)转换成计算机容易处理的低维向量表示。在自然语言处理(NLP)中,单词嵌入将单词表示为向量,使得机器学习模型能够更好地理解和处理文本数据。

RAG(检索增强生成)

是一种结合了信息检索和生成技术的AI模型框架。在这个框架中,模型首先通过检索找到相关的文档或信息,然后在生成答案时利用检索结果进行增强。这可以显著提高生成的准确性和相关性。

LangChain

LangChain 是一个用于构建基于语言模型应用的框架,特别适用于构建复杂的应用程序,如问答系统、对话机器人、智能助理等。它旨在帮助开发者更方便地整合和定制各种功能模块,以充分发挥大型语言模型的潜力。

数据输入(数据清洗)------>数据分析与处理------>数据输出

数据输入:手动、文件上传、数据库连接

数据分析与处理:

  1. 算法:文本分类模型、情感分析模型、主题建模
  2. 分析过程与步骤:准备阶段(对数据进行切割等)、烹饪(根据不同的要求选择算法)、调味(进行微调)

数据输出:图表类、文字报告、互动界面

主要特点和概念

  1. 链(Chains):LangChain 通过“链”的概念来将不同的语言模型或功能模块组合起来。每个链可以执行不同的任务,例如接收用户输入、与外部数据源交互、生成答案等。这些链可以独立使用,也可以串联起来创建复杂的应用逻辑。
  2. 代理(Agents):代理是一种高级功能,允许语言模型动态选择并调用不同的工具或功能模块,以执行复杂任务。比如,代理可以根据用户的问题选择调用特定的 API 或数据库,检索到相关信息后返回答案。
  3. 工具(Tools):这些是与外部数据源或 API 交互的组件,通常包括检索系统、数据库、搜索引擎等。它们为链或代理提供扩展能力,让模型能够回答更复杂的问题。
  4. 记忆(Memory):LangChain 支持在链或代理的对话过程中引入“记忆”,使其能够在多轮对话中保持上下文一致性。这种记忆可以让应用程序更加个性化和智能化。
  5. 文档加载(Document Loaders):该模块用于加载外部文档(如 PDF、网页内容、数据库记录等),然后供检索或生成模型使用。

应用场景

  • 对话系统:可以基于用户输入构建具有多轮对话能力的系统,并利用链和工具动态检索相关信息。
  • 问答系统:结合外部数据源的检索工具,可以回答开放性或特定领域的问题。
  • 文档生成:从现有文档中提取相关信息,然后利用生成模型编写新的文档或报告。

LangChain 框架为开发者提供了丰富的组件和接口,便于集成外部工具和服务,从而让语言模型的功能更加强大。

部署(Chatglm2+langchain)

在这里插入图片描述

https://www.codewithgpu.com/i/chatchat-space/Langchain-Chatchat/Langchain-Chatchat

cd /root/Langchain-Chatchat/
conda actibate /root/pyenv
python startup.py -a

连接: ssh -p 12910 root@connect.westb.seetacloud.com

映射到本地 :ssh -CNg -L 6006:127.0.0.1:6006 root@connect.westb.seetacloud.com -p 12910
密码:ATM8/b/qhG//

http://127.0.0.1:6006/

# 智谱AI API,具体注册及api key获取请前往 http://open.bigmodel.cn
"zhipu-api": {
    "api_key": "*************************",
    "version": "glm-4",
    "provider": "ChatGLMWorker",
},


微调模型

在阿里云打开
在这里插入图片描述

按顺序执行命令

在这里插入图片描述

demos/chatglm_6b/ChatGLM-6B-main/ptuning/AdvertiseGen_Simple/train.json

该json文数据集,按照格式修改,然后重新执行如下数据准备和微调模型,命令

在这里插入图片描述

私有化大模型

先到https://supabase.com获取项目API
在这里插入图片描述

__创建阿里云实例(新加坡)__普通2*4c7就可以

# 克隆仓库
git clone https://github.com/n4ze3m/dialoqbase.git

# 进入目录
cd dialoqbase/docker

# 编辑文件
nano .env

#然后输入 API key 以及数据库密钥

#安装docker
curl -fsSl https://get.docker.com | sh
#安装docker compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o/usr/local/bin/docker-compose

#给二进制文件添加权限
sudo chmod +x /usr/local/bin/docker-compose

#运行docker compose 
sudo systemctl start docker 
sudo systemctl status docker

#新建终端
cd dialoqbase/docker
#执行程序
docker-compose up -d
#然后在浏览器打开公网ip+3000端口

初始账户:admin
初始密码:admin

投喂的数据集格式:问题和答案要在同一行

#1. 更新软件包
sudo apt update
sudo apt upgrade

#2.安装git
sudo apt install git 

#3.安装项目
git clone https://github.com/aiwaves-cn/agents.git

#4.安装python虚拟环境包
apt install python3.10-venv

#5.创建虚拟环境
python3 -m venv myenv

#6.开启虚拟环境
source myenv/bin/activate

#7.更新pip包
pip install --upgrade pip

#8.安装项目依赖
pip install ai-agents

部署Bisheng

bisheng/docker at main · dataelement/bisheng (github.com)

推荐云配置:cpu:32*188 GPU:A10

  1. 安装docker

    sudo apt update
    sudo apt upgrade
    
    # 安装依赖工具
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    	
    # 添加docker官方的GPG密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    # 将Docker官方存储库添加到APT源列表中
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
    # 更新索引
    sudo apt update
    
    # 安装docker
    sudo apt install docker-ce
    
    # 验证安装	
    sudo systemctl start docker
    
    
  2. 安装docker -compose

# 下载compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 赋权
sudo chmod +x /usr/local/bin/docker-compose

docker compose version

  1. 安装git并下载项目
sudo apt install git

git clone https://github.com/dataelement/bisheng.git

cd bisheng/docker

sudo docker-compose up -d

git --version

验证项目,3001端口  用户admin 密码1234
  1. 安装向量数据库Milvus(前面似乎已经安装了)
cd ~
# 下载
wget https://github.com/milvus-io/milvus/releases/download/v2.2.10/milvus-standalone-docker-compose.yml -O docker-compose.yml

# 启动
sudo docker-compose up -d

  1. 安装ElasticSearch(前面似乎已经安装了)
# 创建docker网络
docker network create elastic

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.9.2

docker run --name elasticsearch --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -it -d docker.elastic.co/elasticsearch/elasticsearch:8.9.2


  1. 安装 BISHENG-RT 和下载大模型和检查N卡(新终端)
docker pull dataelement/bisheng-rt:0.0.1
# 创建目录
mkdir -p model_repository
# 进入到目录
cd model_repository
#更新索引
sudo apt update
#安装git-lfs
sudo apt install git-lfs
#初始化
git lfs install
#拉取模型
git clone https://huggingface.co/THUDM/chatglm3-6b

#如果停止不动停止任务,进入目录执行如下
git lfs pull

#检查LFS对象是否存在
ls-lh .git/lfs/objects
#检查文件的完整性
git lfs ls-files
#尝试重新下载
git lfs fetch --all

#查看n卡驱动和GPTU状态
nvidia-smi

#检查nvidia-container-toolkit是否已经安装(若没有输出就没有安装)
dpkg -l | grep nvidia-container-toolkit

#添加NVIDIA的软件包仓库
distribution=$(./etc/os-release;echo SIDSVERSION ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add-
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

#更新索引
sudo apt-get update

#安装nvidia-container-toolkit
sudo apt-get install -y nvidia-container-toolkit

function run container({
LOCAL MODEL REPO="/root/model repository'”#改成你自己的repo地址
MOUNT="-v $LOCAL_MODEL_REPO:/opt/bisheng-rt/models/model_repository"
IMAGE="dataelement/bisheng-rt:0.0.1"
docker run --gpus=all -p 9000:9000 -p 9001:9001 -p 9002:9002 -itd --workdir /opt/bisheng-rt\
 --shm-size=10G --name bisheng_rt_v001 $(MOUNT) $IMAGE ./bin/rtserver f

web界面gradio学习

【Gradio系列教程】 https://www.bilibili.com/video/BV19m411U7K8/?p=3&share_source=copy_web&vd_source=d2d1bdec77776a27cbcb4517d05c2c52

常见的输入组件

import gradio as gr

input_list = [
    gr.Audio(sources=["microphone","upload"], type="numpy", label="Audio file"),  # 音频
    gr.Checkbox(label="Checkbox"),  # 复选框
    gr.ColorPicker(label="Color Picker"),
    gr.Dataframe(headers=None, label="Dataframe"),  # 表格
    gr.Dropdown(choices=["Option 1", "Option 2", "Option 3"], label="Dropdown"),  # 下拉框
    gr.File(label="File Upload", type="binary"),  # 文件
    gr.Image(sources=["webcam","upload"], label="Image"),  # 图片
    gr.Radio(choices=["Option 1", "Option 2", "Option 3"], label="Radio"),  # 单选框
    gr.Slider(minimum=0, maximum=10, step=2, label="Slider"),  # 滑动条
    gr.Textbox(label="Textbox"),  # 文本框
    gr.TextArea(label="Textarea"),  # 多行文本框
    gr.Video(sources=["webcam","upload"], label="Video"),  # 视频
    gr.CheckboxGroup(choices=["Option 1", "Option 2", "Option 3"])
]

output_list = [
    gr.Textbox(label="Audio output", lines=7),
    gr.Textbox(label="Checkbox output"),
    gr.Textbox(label="Color Picker output"),
    gr.Textbox(label="Dataframe output"),
    gr.Textbox(label="Dropdown output"),
    gr.Textbox(label="File Upload output"),
    gr.Textbox(label="Image output"),
    gr.Textbox(label="Radio output"),
    gr.Textbox(label="Slider output"),
    gr.Textbox(label="Textbox output"),
    gr.Textbox(label="Textarea output"),
    gr.Textbox(label="Video output"),
    gr.Textbox(label="Checkbox Group output")  # 复选框组,返回一个列表,包含所选的项
]

def input_and_output(*input_data):
    return input_data

iface = gr.Interface(fn=input_and_output, inputs=input_list, outputs=output_list, description="This is a test interface.", live=True)
iface.launch()

常见输出组件

# 音频输出
def audio_fn(audio):
    hz=audio[0]
    data=audio[1]
    print(f"Audio data received with {hz} Hz")
    print(f"Data shape: {data}")
    return (hz, data)

demo =gr.Interface(fn=audio_fn,inputs=gr.Audio(type="numpy"),outputs="audio")
demo.launch()

# 柱状图
import pandas as pd
#创建数据框
simple = pd.DataFrame({
    "a": [1, 2, 3],
    "b": [4, 5, 6]
})
print(simple)
demo=gr.Interface( fn=None, inputs=None, outputs=gr.BarPlot(simple, x="a", y="b"))
demo.launch()



# 给图片地址,输出图片,还能对图片进行排序
def process():
    cheetahs = [
        "https://upload.wikimedia.org/wikipedia/commons/0/09/TheCheethcat.jpg",
        "https://nationalzoo.si.edu/sites/default/files/animals/cheetah-003.jpg",
        "https://img.etimg.com/thumb/msid-50159822,width-650,imgsize-129520,,resizemode-4,quality-100/.jpg",
        "https://nationalzoo.si.edu/sites/default/files/animals/cheetah-002.jpg",

    ]
    cheetahs= [(cheetah, f"Cheetah {i + 1}") for i, cheetah in enumerate(cheetahs)]
    return cheetahs
demo=gr.Interface( fn=process, inputs=None, outputs=gr.Gallery())
demo.launch()



#各种图
import numpy as np
import matplotlib.pyplot as plt

def fig_output():
        Fs = 8000
        f = 5
        sample = 10
        x = np.arange(sample)
        y = np.sin(2 * np.pi * f * x / Fs)
        plt.plot(x,y)
        return plt

demo =  gr.Interface(fn=fig_output, inputs=None, outputs=gr.Plot())
demo.launch()

#展示json数据
json_sample ={"name":"John","age":30,"city":"New York"}

demo =  gr.Interface(fn=None, inputs=None, outputs=gr.Json(json_sample) )

Blocks(更加灵活搭建页面)

gr.Blocks()
gr.Row()
gr.Column()
gr.Tab()
gr.Accordion()
gr.Group()

布局代码
在这里插入图片描述

效果
在这里插入图片描述

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

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

相关文章

JAVA中的泛型机制详解

1.泛型的概念 java泛型是java5引入的一个特性,它允许我们为类,接口,方法指定类型参数,从而提供编译时类型安全检查。泛型的本质是参数化类型,即在声明类,接口或者方法时不指定具体的类型,而是使…

sed利用脚本处理文件

一、sed是什么 sed 命令是利用脚本来处理文本文件。它可以依照脚本的指令来处理、编辑文本文件。主要用来自动编 辑一个或多个文件、简化对文件的反复操作、编写转换程序等。 二、sed的原理 读入新的一行内容到缓存空间; 从指定的操作指令中取出第一条指令&…

C++ 列式内存布局数据存储格式 Arrow

Apache Arrow 优点 : 高性能数据处理: Arrow 使用列式内存布局,这特别适合于数据分析和查询操作,因为它允许对数据进行高效批量处理,减少CPU缓存未命中,从而提升处理速度。 零拷贝数据共享: Arrow …

【PyTorch】基于YOLO的多目标检测项目(一)

【PyTorch】基于YOLO的多目标检测项目(一) 【PyTorch】基于YOLO的多目标检测项目(二) 目标检测是对图像中的现有目标进行定位和分类的过程。识别的对象在图像中显示有边界框。一般的目标检测方法有两种:基于区域提议的…

javaEE-02-servlet

文章目录 Servlet 技术servlet程序示例通过实现Servlet接口实现Servlet程序通过继承 HttpServlet 实现 Servlet 程序 Servlet的声明周期 ServletConfig 类ServletContext 类HttpServletRequest 类请求的转发 HttpServletResponse 类请求重定向 HTTP 协议GET 请求Post请求常用请…

三维影像系统PACS源码,图像存储与传输系统,应用于医院中管理医疗设备如CT,MR等产生的医学图像的信息系统

PACS,即图像存储与传输系统,是应用于医院中管理医疗设备如CT,MR等产生的医学图像的信息系统。目标是支持在医院内部所有关于图像的活动,集成了医疗设备,图像存储和分发,数字图像在重要诊断和会诊时的显示&a…

unity ui toolkit的使用

UIToolkitExamples (github)样例 GitHub - ikewada/UIToolkitExamples: チュートリアル動画「使ってみようUI Toolkit」のためのサンプルプロジェクトです官网 Unity - Manual: UI Toolkit视频教程 使用 UI Toolkit - 上集_哔哩哔哩_bilibili 使用 UI Toolkit - 下集_哔哩哔哩_…

vue3前端开发-小兔鲜项目-使用pinia插件完成token的本地存储

vue3前端开发-小兔鲜项目-使用pinia插件完成token的本地存储!实际业务开发中,token是一个表示着用户登录状态的重要信息,它有自己的生命周期。因此,这个参数值必须实例化存储在本地中。不能跟着pinia。因为pinia是基于内存设计的模…

go语言day18 reflect反射

Golang-100-Days/Day16-20(Go语言基础进阶)/day19_Go语言反射.md at master rubyhan1314/Golang-100-Days (github.com) 一、interface接口 接口类型内部存储了一对pair(value,Type) type interface { type *Type // 类型信息 data unsafe.Pointer // 指向具体数据 } 1)创建R…

Git基本原理讲解、常见命令、Git版本回退、Git抛弃本地分支拉取仓库最新分支

借此机会写篇博客汇总一下自己去公司实习之后遇到的一些常见关于Git的操作。 Git基本认识 Git把数据看作是对小型文件系统的一组快照,每次提交更新,或在Git中保存项目状态时,Git主要对当时的全部文件制作一个快照并保存这个快照的索引。同时…

嵌入式C++、MQTT、数据库、Grafana、机器学习( Scikit-learn):智能建筑大数据管理平台(代码示例)

项目概述 智能建筑管理系统(Intelligent Building Management System, IBMS)是一个集成多种技术的复杂系统,旨在通过智能化手段提升建筑的管理效率、节能效果和居住舒适度。该系统涉及嵌入式系统、物联网(IoT)、大数据…

数据库-触发器,存储过程

按照题目要求完成下列题目: 1.触发器 mysql> use mydb16_trigger; Database changed mysql> create table goods(-> gid char(8) primary key,-> name varchar(10),-> price decimal(8,2),-> num int); Query OK, 0 rows affected (0.01 sec)my…

01 Redis引入和概述

Redis引入和概述 一、Redis的历史和发展过程 ​ Redis是在2008年由意大利的一家创业公司Merzia的创始人Salvatore Sanfilippo(萨尔瓦托.圣菲利波)创造的。 ​ 当时,Salvatore 正在开发一款基于MySQL的网站实时统计系统LLOOGG,然而他发现MySQL的性能并…

VAE、GAN与Transformer核心公式解析

VAE、GAN与Transformer核心公式解析 VAE、GAN与Transformer:三大深度学习模型的异同解析 【表格】VAE、GAN与Transformer的对比分析 序号对比维度VAE(变分自编码器)GAN(生成对抗网络)Transformer(变换器&…

计算机网络(四)数字签名和CA认证

什么是数字签名和CA认证? 数字签名 数字签名的过程通常涉及以下几个步骤: 信息哈希:首先,发送方使用一个哈希函数(如SHA-256)对要发送的信息(如电子邮件、文件等)生成一个固定长度…

GIS场景升级:支持多种影像协议与天气效果

在GIS场景编辑领域,升级视效的需求日益增加。有一款名为山海鲸可视化的免费工具,本人亲测能够完美满足这一需求。山海鲸可视化不仅支持多种GIS影像协议(如TMS、WMS、WMTS等),还能一键添加天气效果,瞬间提升…

【Unity】 HTFramework框架(五十三)使用 Addressables 可寻址系统

更新日期:2024年7月25日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 Addressables 可寻址系统使用 Addressables 可寻址系统一、导入 Addressables二、切换到 Addressables 加载模式三、切换资源加载助手四、加载资源五、注…

【全面介绍Python多线程】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 🦇目录 1. 🦇前言2. 🦇threading 模块的基本用法3. 🦇Thre…

编程类精品GPTs

文章目录 编程类精品GPTs前言种类ChatGPT - GrimoireProfessional-coder-auto-programming 总结 编程类精品GPTs 前言 代码类的AI, 主要看以下要点: 面对含糊不清的需求是否能引导出完整的需求面对完整的需求是否能分步编写代码完成需求编写的代码是否具有可读性和可扩展性 …

【个人亲试最新】WSL2中的Ubuntu 22.04安装Docker

文章目录 Wsl2中的Ubuntu22.04安装Docker其他问题wsl中执行Ubuntu 报错:System has not been booted with systemd as init system (PID 1). Can‘t operate. 参考博客 😊点此到文末惊喜↩︎ Wsl2中的Ubuntu22.04安装Docker 确定为wsl2ubuntu22.04&#…