当前位置: 首页 > news >正文

相似性搜索(2)

在本篇中,我们通过播客相似性搜索为例,进一步研究基于chroma 的相似性搜索:

参考:

https://www.kaggle.com/code/switkowski/building-a-podcast-recommendation-engine/notebook

数据集来源:

https://www.kaggle.com/code/switkowski/building-a-podcast-recommendation-engine/input

数据的预处理 

import pandas as pd 
#print(os.listdir("./input"))
from IPython.core.interactiveshell import InteractiveShell
def preprocessor(file):InteractiveShell.ast_node_interactivity = "all"podcasts = pd.read_csv('./input/podcasts.csv')podcasts = podcasts[podcasts.language == 'English']#选择英语的项目podcasts = podcasts.dropna(subset=['description'])#删除缺失 description 的项目podcasts = podcasts.drop_duplicates('itunes_id')#删除重复的itunes_idsum(podcasts.description.isnull())podcasts['description_length'] = [len(x.description.split()) for _, x in podcasts.iterrows()]#podcasts['description_length'].describe()#显示description_length的统计摘要podcasts = podcasts[podcasts.description_length >= 20]#选择长度>20的项目podcasts = podcasts[0:10].reset_index(drop=True)#选择前10个项目,并且重新index 编号,不连续的index 变成连续 return podcasts
new_list=preprocessor('./input/podcasts.csv')
for index,row in new_list.iterrows():print("index:",index)print (row["description"])

搜索

#https://www.kaggle.com/code/switkowski/building-a-podcast-recommendation-engine?select=episodes.csv
#https://www.aicrowd.com/challenges/spotify-million-playlist-dataset-challenge#task
import pandas as pd 
import osfrom sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import linear_kernel
print(os.listdir("./input"))from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
podcasts = pd.read_csv('./input/podcasts.csv')
podcasts = podcasts[podcasts.language == 'English']
podcasts = podcasts.dropna(subset=['description'])
podcasts = podcasts.drop_duplicates('itunes_id')
sum(podcasts.description.isnull())
podcasts['description_length'] = [len(x.description.split()) for _, x in podcasts.iterrows()]
podcasts['description_length'].describe()
podcasts = podcasts[podcasts.description_length >= 20]
favorite_podcasts = ['The MFCEO Project', 'Up and Vanished', 'Lore']
favorites = podcasts[podcasts.title.isin(favorite_podcasts)]
favorites
podcasts = podcasts[~podcasts.isin(favorites)].sample(15000)
data = pd.concat([podcasts, favorites], sort = True).reset_index(drop = True)
tf = TfidfVectorizer(analyzer = 'word', ngram_range = (1, 3), min_df = 0, stop_words = "english")
tf_idf = tf.fit_transform(data['description'])
tf_idf
similarity = linear_kernel(tf_idf, tf_idf)
similarity
x = data[data.title == 'Up and Vanished'].index[0]
similar_idx = similarity[x].argsort(axis = 0)[-4:-1]
for i in similar_idx:print(similarity[x][i], '-', data.title[i], '-', data.description[i], '\n')
print('Original - ' + data.description[x])
x = data[data.title == 'Lore'].index[0]
similar_idx = similarity[x].argsort(axis = 0)[-4:-1]
for i in similar_idx:print(similarity[x][i], '-', data.title[i], '-', data.description[i], '\n')
print('Original - ' + data.description[x])

使用TfidfVectorizer将选出来的播客的描述矢量化。

使用linear_kernel 找出两两之间播客描述的相似性。

找出与“Up and Vanished” ,“Lore”相似的播客

        倒数第4个到倒数第1个。

        similar_idx = similarity[x].argsort(axis = 0)[-4:-1]

 将结果打印出来

for i in similar_idx:print(similarity[x][i], '-', data.title[i], '-', data.description[i], '\n')

将 “Up and Vanished” ,“Lore”的标题和描述打印出来。

DeepSeek 的解释笔记

TfidfVectorizer

TfidfVectorizer 是 自然语言处理(NLP) 中常用的工具,用于将文本数据转换为数值特征向量。它是 scikit-learn 库中的一个类,结合了 TF(词频,Term Frequency) 和 IDF(逆文档频率,Inverse Document Frequency) 两种统计方法,能够有效地表示文本数据并捕捉其重要特征。

TfidfVectorizer 的主要参数

以下是 TfidfVectorizer 的一些常用参数:

  • input: 输入类型,可以是文件名、文件对象或文本内容(默认是 content)。

  • encoding: 文本编码方式(默认是 utf-8)。

  • lowercase: 是否将文本转换为小写(默认是 True)。

  • stop_words: 是否移除停用词(如“的”、“是”等),可以设置为 'english' 或自定义列表。

  • max_df: 忽略在超过一定比例的文档中出现的单词(用于去除常见词)。

  • min_df: 忽略在少于一定数量的文档中出现的单词(用于去除罕见词)。

  • ngram_range: 指定 n-gram 的范围,例如 (1, 1) 表示只使用单词,(1, 2) 表示使用单词和二元词组。

  • max_features: 限制特征向量的最大维度(即最多保留多少个单词)。

使用示例

以下是一个简单的示例,展示如何使用 TfidfVectorizer 将文本数据转换为 TF-IDF 特征矩阵:

from sklearn.feature_extraction.text import TfidfVectorizer# 示例文本数据
documents = ["我喜欢机器学习","机器学习很有趣","自然语言处理是机器学习的一个分支"
]# 初始化 TfidfVectorizer
vectorizer = TfidfVectorizer()# 拟合并转换文本数据
tfidf_matrix = vectorizer.fit_transform(documents)# 查看结果
print("TF-IDF 特征矩阵:")
print(tfidf_matrix.toarray())  # 转换为稠密矩阵并打印print("\n词汇表:")
print(vectorizer.get_feature_names_out())  # 打印词汇表

输出结果

TF-IDF 特征矩阵:
[[0.         0.         0.70710678 0.70710678 0.         0.        ][0.57735027 0.57735027 0.         0.         0.57735027 0.        ][0.         0.         0.         0.         0.40824829 0.81649658]]词汇表:
['一个' '分支' '喜欢' '很有趣' '是' '机器学习']

 

  • TF-IDF 特征矩阵:每一行对应一个文档,每一列对应一个单词,值是该单词的 TF-IDF 权重。

  • 词汇表:列出了所有被提取的单词。


应用场景

  1. 文本分类
    将文本转换为 TF-IDF 特征后,可以用于训练分类模型(如朴素贝叶斯、支持向量机等)。

  2. 信息检索
    计算查询词与文档的 TF-IDF 相似性,用于搜索引擎排名。

  3. 文本聚类
    使用 TF-IDF 特征对文本进行聚类分析。

  4. 推荐系统
    计算用户评论或商品描述的 TF-IDF 特征,用于推荐相似商品。


优点

  1. 简单高效:能够快速将文本数据转换为数值特征。

  2. 捕捉关键词:通过 TF-IDF 权重,能够突出文档中的重要单词。

  3. 降噪:通过移除停用词和低频词,减少噪声。


局限性

  1. 无法捕捉语义:TF-IDF 只考虑词频和文档频率,无法理解单词的语义。

  2. 稀疏性问题:对于大规模语料库,TF-IDF 矩阵可能会非常稀疏,导致计算效率下降。

  3. 依赖预处理:需要配合分词、去停用词等预处理步骤才能发挥最佳效果。


总结

TfidfVectorizer 是一个强大的工具,能够将文本数据转换为数值特征,适用于文本分类、聚类、信息检索等任务。它是 NLP 中常用的特征提取方法之一,尤其适合处理中小规模的文本数据。如果需要捕捉语义信息,可以结合词嵌入(如 Word2Vec、BERT)等方法使用。

开启新对话

linear_kernel 

linear_kernel 的主要用途是计算两个向量或矩阵之间的线性核(Linear Kernel),也就是它们的点积(dot product)。它在机器学习和数据科学中常用于衡量样本之间的相似性,尤其是在使用核方法(Kernel Methods)或支持向量机(SVM)时。 

假设我们有以下两个矩阵 XX 和 YY,分别表示两组样本的特征向量:

python
复制
import numpy as np
from sklearn.metrics.pairwise import linear_kernel# 样本特征矩阵
X = np.array([[1, 2, 3], [4, 5, 6]])  # 2个样本,每个样本有3个特征
Y = np.array([[7, 8, 9], [10, 11, 12]])  # 2个样本,每个样本有3个特征# 计算线性核
kernel_matrix = linear_kernel(X, Y)
print(kernel_matrix)

输出结果:

[[ 50  68][122 167]]

这里的输出是一个相似性矩阵,其中每个元素 (i,j)(i,j) 表示 XX 中第 ii 个样本与 YY 中第 jj 个样本的点积(即线性核值)。


优点

  1. 简单高效
    线性核的计算非常简单,只需要计算点积,因此计算速度快。

  2. 适合线性可分数据
    如果数据本身是线性可分的,线性核可以直接用于分类或回归任务。

  3. 可解释性强
    线性核的结果易于解释,因为它直接反映了样本在特征空间中的方向相似性。


局限性

  1. 不适合非线性数据
    如果数据是非线性可分的,线性核可能无法捕捉复杂的模式。此时可以使用其他核函数,如 RBF 核(高斯核)或多项式核。

  2. 表达能力有限
    线性核只能捕捉线性关系,无法处理更复杂的特征交互。


总结

   linear_kernel 是一个简单但非常有用的工具,主要用于计算样本之间的线性相似性。它在支持向量机、文本分类、推荐系统等任务中都有广泛应用。如果你的数据是线性可分的,或者你需要一个高效的相似性度量方法,linear_kernel 是一个很好的选择。

结论

    DeepSeek 对于程序猿学习帮助非常大,从本文开始,我会在博文中添加一些DeepSeek 提示的笔记。

在下面,我们会进一步地讨论急于大模型Embedding 的相似性搜索的编程

 

 

 

相关文章:

相似性搜索(2)

在本篇中,我们通过播客相似性搜索为例,进一步研究基于chroma 的相似性搜索: 参考: https://www.kaggle.com/code/switkowski/building-a-podcast-recommendation-engine/notebook 数据集来源: https://www.kaggle.…...

Linux 本地部署 Deepseek-R1 大模型!

DeepSeek-R1 的发布,掀起了一场风暴! 开源、强大、本地可部署,真正私有的 AI 助手,不受网络、隐私等限制,数据安全感直接拉满! 今天,手把手带你在 Linux 上本地部署 DeepSeek-R1,关…...

软件测试高频面试题

以下是一些软件测试高频面试题: 基础概念类 HTTP和HTTPS的区别:HTTPS使用SSL/TLS协议对传输数据加密,HTTP没有加密;HTTPS可确保数据完整性,防止传输中被篡改,HTTP不保证;HTTP默认用80端口&…...

光明谷推出AT指令版本的蓝牙音箱SOC 开启便捷智能音频开发新体验

前言 在蓝牙音箱市场竞争日益激烈的当下,开发一款性能卓越且易于上手的蓝牙音箱,成为众多厂商追求的目标。而光明谷科技有限公司推出的 AT 指令版本的蓝牙音箱 SOC,无疑为行业带来了全新的解决方案,以其诸多独特卖点,迅…...

数据安全_笔记系列01:数据分类分级与敏感数据识别详解

数据安全_笔记系列01:数据分类分级与敏感数据识别详解 1)、数据分类分级与敏感数据识别详解 数据分类分级是数据安全治理的核心环节,旨在根据数据的敏感性和重要性,制定差异化的保护策略。以下从 定义、法规、方法、工具、案例 等维度全面解…...

SOUI基于Zint生成UPC码

UPC 码(Universal Product Code,通用产品代码)是一种广泛使用的条形码系统,主要用于零售商品的标识和追踪。有两种主要格式:UPC-A 和 UPC-E。 UPC-A 长度12位数字。适用于大型商品 UPC-E 长度8位数字。UPC-E是UPC-A…...

MySQL 主从同步延迟:原因剖析与解决之道

在现代数据库应用中,MySQL 的主从同步是一种常见且重要的架构模式,它能提供数据备份、读写分离等诸多优势,有效提升系统的可用性和性能。然而,主从同步延迟问题却常常困扰着数据库管理员和开发者,严重时甚至会影响业务…...

C语言数据结构—二叉树的链式结构实现

目录 1、建立二叉树 1.1 二叉树的结构 1.2 手动建立二叉树 2、二叉树的遍历 2.1 二叉树的三种遍历方式 2.1.1 前序遍历 2.1.2 中序遍历 2.1.2 后序遍历 3、求二叉树的结点数和二叉树的高度 3.1 求二叉树结点数 3.2 求二叉树叶子结点 3.3 求二叉树第k层结点的个数 …...

sysbench压测pgsql数据库 —— 筑梦之路

这里主要使用sysbench工具对Pgsql数据库进行基准测试。 1. 创建数据库和用户名 # 创建用户和数据库CREATE USER sysbench WITH PASSWORD 123456;CREATE DATABASE sysbench owner sysbench;# 给用户授权访问 vim pg_hba.confhost sysbench sysbench 127…...

超级详细Spring AI运用Ollama大模型

大模型工具Ollama 官网:https://ollama.com/ Ollama是一个用于部署和运行各种开源大模型的工具; 它能够帮助用户快速在本地运行各种大模型,极大地简化了大模型在本地运行的过程。用户通过执行几条命令就能在本地运行开源大模型,如Lama 2等; 综上&#x…...

CF934B A Prosperous Lot

算法:贪心 rating : 1200 思路: 题目要求输出的数不能超过10^18; 10^18共有19位,那么不超过范围的前提下最多能输出几个环呢? 环最多为2个,也就是数字8,不超过数据范围的情况下能输出18个8…...

四步彻底卸载IDEA!!!

各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连,小编尽全力做到更好 欢迎您分享给更多人哦 大家好,我们今天来学习四步彻底卸载IDEA!!! 首先我要提醒各位 如果你想删除 IDEA 相关&#xf…...

基于Spring Boot的健康医院门诊在线挂号系统设与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

快速搭建SOCKS5代理服务器教程(一键多ip脚本)

文章目录 前言环境要求一、先看效果二、使用一键脚本总结 前言 华为云服务器一键搭建一拖10 或者20 ip 脚本 环境要求 操作系统:CentOS 7.8服务器:建议至少1核1G配置云服务器 可多ip 搭建一键输出 一、先看效果 二、使用一键脚本 yum install -y wge…...

鸿蒙ArkTS页面如何与H5页面交互?

鸿蒙页面如何与H5页面交互? 先看效果前言通信功能介绍Web组件使用问题 Harmony OS NEXT版本(接口及解决方案兼容API12版本或以上版本) 先看效果 功能介绍 点击Click Me按钮可以接收展示鸿蒙传递给html的内容点击霓虹灯按钮可以同步更新底部鸿蒙页面的按…...

深度解析SmartGBD助力Android音视频数据接入GB28181平台

在当今数字化时代,视频监控与音视频通信技术在各行各业的应用愈发广泛。GB28181协议作为中国国家标准,为视频监控设备的互联互通提供了规范,但在实际应用中,许多Android终端设备并不具备国标音视频能力,这限制了其在相…...

软件安全测评报告内容和作用简析,如何获取权威安全测评报告?

软件安全测评报告是对软件系统进行安全性评估后形成的一份详细文档。它通过对软件系统的设计、实现及运行环境等多个方面进行系统性分析,以识别潜在的安全风险和漏洞。该报告不仅包含漏洞的详细信息和修复建议,也是对软件开发者和管理者的重要决策支持工…...

leetcode 207. 课程表

题目如下 数据范围 做题之前先搞清楚一个概念:拓扑序列 即在一个简单图内找一个入度为0的节点, 删除这个节点并删去与之相连接的边并把这条边连接的节点入度减一(如果存在)。 如此循环往复直到图内不存在节点我们认为拓扑序列存在。 那么在本题中参与课程的要求…...

第4章 4.4 EF Core数据库迁移 Add-Migration UpDate-Database

4.4.1 数据库迁移原理 总结一下就是: 1. 数据库迁移命令的执行,其实就是生成在数据库执行的脚本代码(两个文件:数字_迁移名.cs 数字_迁移名.Designer.cs),用于对数据库进行定义和修饰。 2. 数据库迁移…...

PyEcharts 数据可视化:从入门到实战

一、PyEcharts 简介 PyEcharts 是基于百度开源可视化库 ECharts 的 Python 数据可视化工具,支持生成交互式的 HTML 格式图表。相较于 Matplotlib 等静态图表库,PyEcharts 具有以下优势: 丰富的图表类型(30)动态交互功…...

数仓搭建实操(传统数仓oracle):DWD数据明细层

数据处理思路 DWD层, 数据明细层>>数据清洗转换, 区分事实表,维度表 全是事实表,没有维度表>>不做处理 数据清洗>>数据类型varchar 变成varchar2, 日期格式统一(时间类型变成varchar2); 字符数据去空格 知识补充: varchar 存储定长字符类型 ; 存储的数据会…...

《Mycat核心技术》第17章:实现MySQL的读写分离

作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 星球项目地址:https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀&#xff0c…...

区块链(14):FISCO BCOS配置及使用控制台

1 获取控制台并回到fisco目录 cd ~/fisco && curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh && bash download_console.sh 2 拷贝控制台配置文件 若节点未采用默认端口,请将文件中的20200替换成节点对应的…...

react路由总结

目录 一、脚手架基础语法(16~17) 1.1、hello react 1.2、组件样式隔离(样式模块化) 1.3、react插件 二、React Router v5 2.1、react-router-dom相关API 2.1.1、内置组件 2.1.1.1、BrowserRouter 2.1.1.2、HashRouter 2.1.1.3、Route 2.1.1.4、Redirect 2.1.1.5、L…...

Python爬虫处理网页中的动态内容

文章目录 前言一、Python环境搭建1.Python安装2.选择Python开发环境 二、Python爬虫处理网页中的动态内容1. 使用 Selenium 库2. 使用 Pyppeteer 库3. 分析 API 请求 前言 在网页中,动态内容通常是指那些通过 JavaScript 在页面加载后动态生成或更新的内容&#xf…...

Lineageos 22.1(Android 15)Launcer简单调整初始化配置

一、前言 Launcer的初始化配置主要在如下的xml文件夹下,默认读取的5x5 这里我们把device_profiles调整一下,然后新建一个default_workspace_my.xml作为我们自己的配置就行。 二、配置 注意Lineageos 的Launcer是在lineageos/packages/apps/Trebuchet…...

计算机毕业设计SpringBoot+Vue.js教师工作量管理系统(源码+LW文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

【Scrapy】Scrapy教程7——存储数据

上一节我们对爬虫程序的默认回调函数parse做了改写,提取的数据可以在Scrapy的日志中打印出来了,光打印肯定是不行的,还需要把数据存储,数据可以存到文件,也可以存到数据库,我们一一来看。 存储数据到文件 首先我们看看如何将数据存储到文件,在讲[[【Scrapy】Scrapy教程…...

使用Socket编写超牛的http服务器和客户端(一)

实现一个高性能的基于 IOCP(I/O Completion Ports)的 HTTP 服务器,支持多线程、动态线程池调整和路由处理。 主要功能和特性 IOCP 模型: 使用多个 IOCP 句柄(IOCP_COUNT),将客户端连接均匀分配到不同的 IOCP 上,减少线程竞争。 工作线程使用 GetQueuedCompletionStatu…...

centos服务器巡检脚本

服务器巡检脚本 系统负载shell脚本python将txt文件转换成excel,不正常巡检结果标记红色 系统负载shell脚本 #!/bin/bash#文件路径 path"/root/monitor.txt"#yum -y install bc sysstat net-tools lrzsz #获取主机名 system_hostname$(hostname | awk {pr…...

Linux-Ansible模块完结

文章目录 User和GroupHostname、Cron、Yum和Service 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2025年02月23日19点59分 User和Group User和Group模块实践 ansible 192.168.1.100 -m …...

厦大团队:DeepSeek大模型概念、技术与应用实践 140页PDF完整版下载

DeepSeek使用教程系列: 厦门大学: DeepSeek大模型概念、技术与应用实践 140页PDF完整版文件 厦大团队:DeepSeek大模型概念、技术与应用实践(140页PPT读懂大模型).pdf https://pan.baidu.com/s/1de4UIxqPsvMBIYcpen_M-…...

跟据spring boot版本,查看对应的tomcat,并查看可支持的tomcat的版本范围

一 查看springboot自带的tomcat版本: 可直接在项目中找到Maven Dependencies中找到tomcat版本 二、查看SpringBoot内置tomcat版本的支持范围 我这边是跟据maven仓库查看的 首先跟据链接打开maven仓库:https://mvnrepository.com/ 然后搜索&#xff1a…...

小米AX3000T 路由器如何开启 SSH 安装 OpenWRT 系统,不需要降级 v1.0.91 (2025)

小米AX3000T 路由器如何开启 SSH 安装 OpenWRT 系统,不需要降级 v1.0.91 (2025) 本文内容需要你有一定的 Linux 操作基础,最好是程序员那种,英文水平足够用才行。一般人不需要使用这么复杂的路由器操作系统&#xff0c…...

跳格子游戏

跳格子游戏 真题目录: 点击去查看 E 卷 100分题型 题目描述 地上共有N个格子,你需要跳完地上所有的格子,但是格子间是有强依赖关系的,跳完前一个格子后,后续的格子才会被开启,格子间的依赖关系由多组steps数组给出,steps[0]表示前一个格子,steps[1]表示steps[0]可以开…...

抓包工具是什么?

抓包工具是一种用于捕获和分析网络数据包的软件或硬件设备。它可以帮助用户监控网络通信过程,查看网络中传输的数据内容、协议类型、源地址、目的地址等信息。以下是关于抓包工具的一些详细解释: 1. 主要功能 捕获数据包:抓包工具能够实时捕…...

【用deepseek和chatgpt做算法竞赛】——还得DeepSeek来 -Minimum Cost Trees_5

往期 【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_0:介绍了题目和背景【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_1:题目输入的格式说明,选择了邻接表…...

edge浏览器将书签栏顶部显示

追求效果,感觉有点丑,但总归方便多了 操作路径:设置-外观-显示收藏夹栏-始终...

[漏洞篇]文件上传漏洞详解

[漏洞篇]文件上传漏洞详解 一、介绍 1. 概念 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传” 本身没有问题,有问题的是文件上传后&#xf…...

计算机毕业设计SpringBoot+Vue.js企业客户管理系统(源码+LW文档+PPT+讲解+开题报告)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

【多模态处理篇三】【DeepSeek语音合成:TTS音色克隆技术揭秘】

最近帮某明星工作室做AI语音助手时遇到魔幻需求——要求用5秒的咳嗽声克隆出完整音色!传统TTS系统直接翻车,生成的语音像得了重感冒的电音怪物。直到祭出DeepSeek的TTS音色克隆黑科技,才让AI语音从"机器朗读"进化到"声临其境"。今天我们就来扒开这个声音…...

华为 网络安全 认证

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 华为 网络安全 认证:保障信息安全的重要一环 在数字化时代的今天,网络安全成为了企业和个人都需要高度重视的问题。尤其是在企业信息化的…...

计算机视觉:经典数据格式(VOC、YOLO、COCO)解析与转换(附代码)

第一章:计算机视觉中图像的基础认知 第二章:计算机视觉:卷积神经网络(CNN)基本概念(一) 第三章:计算机视觉:卷积神经网络(CNN)基本概念(二) 第四章:搭建一个经典的LeNet5神经网络(附代码) 第五章&#xff1…...

开源嵌入式实时操作系统uC/OS-II介绍

一、uC/OS-II的诞生:从开源实验到行业标杆 背景与起源 uC/OS-II(Micro-Controller Operating System Version II)诞生于1992年,由嵌入式系统先驱Jean J. Labrosse开发。其前身uC/OS(1991年)最初作为教学工…...

QT基础八、与时间相关的UI控件

目录 一、时间类:QTime 1. 创建 QTime 对象 2. 获取当前时间 3. 设置时间 4. 时间格式化 5. 时间加减操作 6. 时间比较 7. 计算时间间隔 8. 判断时间是否有效 9. 使用 QElapsedTimer 测量时间间隔 二、日期类:QDate 1. 创建 QDate 对象 2. 获…...

大道至简 少字全意 易经的方式看 缓存 mybatis缓存 rendis缓存场景 案例

目录 介绍 mybatis缓存 一级缓存 1.是什么 2.特点 3.场景 mybatis 二级缓存 1.是什么 2.特点 3.配置步骤 注意 一级缓存问题 二级缓存问题 扩展 1.MyBatis集成 Redis 2.直接使用Redis redis 缓存 一、String 字符串 二、Llst 列表 三、Hash 哈希 四、Set…...

Python爬虫selenium验证-中文识别点选+图片验证码案例

1.获取图片 import re import time import ddddocr import requests from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service from selenium.webdriver.support.wait import WebDriverWait from …...

设计模式Python版 中介者模式

文章目录 前言一、中介者模式二、中介者模式示例 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对象之间的组…...

docker-compose Install deepseek

前言 deepseekAI助手。它具有聊天机器人功能,可以与用户进行自然语言交互,回答问题、提供建议和帮助解决问题。DeepSeek 的特点包括: 强大的语言理解能力:能够理解和生成自然语言,与用户进行流畅的对话。多领域知识&…...

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_process_options

ngx_process_options 声明在 src\core\nginx.c static ngx_int_t ngx_process_options(ngx_cycle_t *cycle); 定义在 src\core\nginx.c static ngx_int_t ngx_process_options(ngx_cycle_t *cycle) {u_char *p;size_t len;if (ngx_prefix) {len ngx_strlen(ngx_prefix);p …...