- 博客(240)
- 资源 (1)
- 收藏
- 关注
原创 第2章 语言模型基础
词库中的每个单词在句子中的每个位置都会有一个分数。该模型的原理是首先训练好一个静态的语言模型来表征词向量,该模型存在上述提到的缺点,即无法理解歧义,当执行实际任务时,可实时根据上下文单词的语义去调整之前表征好的词向量,这样经过调整后的词向量更能表达具体语境中的含义,从而解决多义词问题。ELMo的预训练过程完成后,单词经过ELMo模型可以得到三层编码信息,Ei代表最底层的单词特征信息编码,从下往上第一层LSTM包含了句法特征的单词位置编码信息,第二层LSTM包含了语义特征的单词位置编码信息。
2025-12-23 17:20:38
652
原创 第1章 RAG与大模型应用
在智能代理(agent)应用中,RAG系统可以根据用户的问题从预先配置好的工具列表中检索出对问题回复有帮助的工具,然后模型会判断是否调用某个工具生成一个观察结果来确定最终的答案。输出的质量取决于数据的质量和检索策略,同时生成输出的指令也会极大地影响输出的质量。其次,如果知识库覆盖面不够,无法召回相应的知识块,那么模型因为需要遵循指令的约束而无法给出答案,这就会影响到整个系统的问题覆盖率。据,就可以使模型适应新的知识领域。伸缩法则是指随着模型的大小、数据集的大小以及用于训练的计算量的增加,模型的性能会提升。
2025-12-23 10:04:34
556
原创 CV特征匹配
crossCheck表示两个特征点要互相匹,例如A中的第i个特征点与B中的第j个特征点最近的,并且B中的第j个特征点到A中的第i个特征点也是。#NORM_L2: 归一化数组的(欧几里德距离),如果其他特征计算方法需要考虑不同的匹配计算方式。每一次拟合后,容差范围内都有对应的数据点数,找出数据点个数最多的情况,就是最终的拟合结果。如果需要更快速完成操作,可以尝试使用cv2.FlannBasedMatcher。选择初始样本点进行拟合,给定一个容忍范围,不断进行迭代。
2025-12-10 09:59:59
253
原创 图像特征-harris和sift
import cv2import numpy as npimg = cv2.imread(‘test_1.jpg’)print (‘img.shape:’,img.shape)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#gray = np.float32(gray)dst = cv2.cornerHarris(gray, 2, 3, 0.04)print (‘dst.shape:’,dst.shape)输出:img.shape: (800, 12
2025-12-10 09:12:12
1136
原创 直方图与模板匹配
import cv2 #opencv读取的格式是BGRimport matplotlib.pyplot as plt#Matplotlib是RGB。
2025-12-09 16:31:07
1097
原创 /图像处理
type:二值化操作的类型,包含以下5种类型: cv2.THRESH_BINARY;opencv中主要就是cv2.dft()和cv2.idft(),输入图像需要先转换成np.float32 格式。cv2.dft()返回的结果是双通道的(实部,虚部),通常还需要转换成图像格式才能展示(0,255)。cv2.THRESH_BINARY_INV THRESH_BINARY的反转。cv2.THRESH_TOZERO_INV THRESH_TOZERO的反转。
2025-12-09 14:31:30
879
原创 图像基本操作
输出:<matplotlib.image.AxesImage at 0x20a6b5f39e8>输出:<matplotlib.image.AxesImage at 0x20a6b58b908>输出:<matplotlib.image.AxesImage at 0x20a6b7bcb00>#等待时间,毫秒级,0表示任意键终止。输出:(414, 500, 3)输出:(414, 500, 3)输出:(414, 500, 3)输出:(414, 500, 3)输出:(414, 500)输出:(414, 500)
2025-12-09 10:24:43
860
原创 数据集Dataloader制作
1.数据和标签的目录结构先搞定(得知道到哪读数据)2.写好读取数据和标签路径的函数(根据自己数据集情况来写)3.完成单个数据与标签读取函数(给dataloader举一个例子)
2025-11-28 15:05:43
327
原创 图像识别模块
transforms.ColorJitter(brightness=0.2, contrast=0.1, saturation=0.1, hue=0.1),#参数1为亮度,参数2为对比度,参数3为饱和度,参数4为色相。model_name = ‘resnet’ #可选的比较多 [‘resnet’, ‘alexnet’, ‘vgg’, ‘squeezenet’, ‘densenet’, ‘inception’]transforms.RandomVerticalFlip(p=0.5),#随机垂直翻转。
2025-11-28 11:22:33
753
原创 卷积神经网络
当前epoch: 1 [12800/60000 (21%)] 损失: 0.120306 训练集准确率: 98.59% 测试集正确率: 98.97%当前epoch: 1 [25600/60000 (43%)] 损失: 0.068475 训练集准确率: 98.59% 测试集正确率: 98.87%当前epoch: 1 [51200/60000 (85%)] 损失: 0.009284 训练集准确率: 98.69% 测试集正确率: 98.97%
2025-11-28 08:39:46
757
原创 搭建PyTorch神经网络进行气温预测
看看数据长什么样子输出数据表中print(‘数据维度:’, features.shape)数据维度: (348, 9)#处理时间数据#分别得到年,月,日#datetime格式dates[:5]输出#准备画图#指定默认风格#设置布局#标签值#昨天#前天#我的逗逼朋友#独热编码#标签#在特征中去掉标签#名字单独保存一下,以备后患#转换成合适的格式输出:(348, 14)
2025-11-27 11:12:30
704
原创 神经网络分类任务
一般情况下,如果模型有可学习的参数,最好用nn.Module,其他情况nn.functional相对更简单一些。当前step:24 验证集损失:0.38733808159828187。当前step:10 验证集损失:0.7927186088562012。当前step:14 验证集损失:0.5643046331882476。当前step:15 验证集损失:0.5317994566917419。当前step:4 验证集损失:1.9517273582458496。
2025-11-27 10:28:28
792
原创 Linux 快速入门
在安装了 Windows 和 Linux 双系统后,系统是以 Linux 的 GRUB 作为引导装入器来选择启动Windows 或 Linux 的,因此,若此时直接在 Windows 下把 Linux 的分区删除,会导致系统因没有引导装入器而无法启动 Windows,这点要格外小心。比如把文件从一个磁盘目录移到另一实际磁盘的目录时(实际上是通过读取索引节点表来检测这种行动的),这时,原先文件的磁盘索引号删除,而且在新磁盘上建立相应的索引节点。一个索引节点包含文件的所有信息,包括磁盘上数据的地址和文件类型。
2025-11-24 09:41:29
1098
原创 面试高频题
保存字符串的数组被 final 修饰且为私有的,并且String 类没有提供/暴露修改这个字符串的方法。String 类被 final 修饰导致其不能被继承,进而避免了子类破坏 String 不可变。String 中的 equals 方法是被重写过的,比较的是 String 字符串的值是否相等。Object 的 equals 方法是比较的对象的内存地址。字符串常量池 是 JVM 为了提升性能和减少内存消耗针对字符串(String 类)专门开辟的一块区域,主要目的是为了避免字符串的重复创建。
2025-11-22 20:56:52
1028
原创 AI学习环境准备
JupyterLab 是最新的基于 Web 的交互式开发环境,适用于notebooks、代码和数据。其灵活的界面允许用户配置和安排数据科学、科学计算、计算新闻和机器学习中的工作流程。模块化设计允许扩展来扩展和丰富功能。
2025-11-20 11:28:26
949
原创 阿里云ACP认证
OSS以HTTP RESTful API的形式对外提供服务,当访问不同的Region的时候,需要不同的域名。默认情况下,为保证存储在OSS中数据的安全性,OSS资源(包括Bucket和Object)默认为私有权限,只有资源拥有者或者被授权的用户允许访问。出于安全考虑,目前控制台针对私有bucket的获取URL链接签名操作做了优化,使用的AccessKey是临时生成的密钥对,主账号用户最长有效时间是64800秒(18小时),RAM子账号用户以及sts用户最长有效时间是3600秒(1小时),超时人。
2025-11-19 16:11:38
838
原创 力扣hot100第十天
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?思路:二维dp,dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
2025-02-21 20:22:50
690
原创 力扣hot100第九天
给你一个字符串 s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s。返回一个表示每个字符串片段的长度的列表。思路:先遍历一次字符串,记录每个字母最后一次出现的位置。第二次遍历数组时,记录当前字符串遇到的所有字母的最后一次出现位置的最大值,当当前位置恰好为一个子串的结尾时进行分割,然后进行下一个子串的遍历。
2025-02-21 20:13:59
984
原创 力扣hot100第八天
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数。算法的时间复杂度应该为 O(log (m+n))。
2025-02-20 22:59:15
1008
原创 力扣hot100第七天
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。
2025-02-20 22:38:24
672
原创 力扣hot第六天
算法流程为,对于每一个结点,先求当前结点到根节点的前缀和sum,然后检查哈希表中是否存在sum-target的值,如果存在则进行计数,这里要注意一个问题,某一段节点值之和可能也包括根节点,所以可以在哈希表中加入0值或者直接进行一个sum==target的判断,计数完之后将当前的前缀和加入哈希表中,继续遍历左子树和右子树,遍历完成之后需要进行回溯,即退出当前节点防止对其他路径上的结果造成干扰,这里分别需要对哈希表和sum值进行回溯,最后返回计数结果。该路径 至少包含一个 节点,且不一定经过根节点。
2025-02-17 20:39:18
1001
原创 力扣hot100第四天
新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。给定一个链表的头节点 head ,返回链表开始入环的第一个节点。新链表是通过拼接给定的两个链表的所有节点组成的。给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。
2025-02-16 15:51:17
856
原创 力扣hot100第三天
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请 不要使用除法,且在 O(n) 时间复杂度内完成此题。题意:求数组除了某个元素之外所有元素的乘积思路:和接雨水一模一样,只不过取最大值换成了数值相乘。
2025-02-14 21:27:24
1035
原创 力扣hot100第二天
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值。
2025-02-13 22:51:12
633
原创 力扣hot100刷题第一天
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。题意:从给定数组中找到两个数的和为target,返回这两个数的下标思路:使用哈希表存储数和对应下标,遍历的同时进行寻找。
2025-02-10 21:22:23
947
原创 Java基础面试
装箱和拆箱是基本数据类型和对应包装类之间进行交换的过程。装箱:将基本类型用它们对应的引用类型包装起来;自动装箱:赋值时和方法调用时拆箱:将包装类型转换为基本数据类型;Java中泛型只能使用引用类型,而不能使用基本类型。因此,泛型要使用int类型必须使用包装类。基本类型和引用类型不能直接进行交换,必须使用包装类。集合中只能存储对象,不能存储基本数据类型。要将int类型的数据存储在集合中,必须使用包装类。int的缓存。
2025-02-02 21:24:27
668
原创 力扣--LCR146.螺旋遍历二维数组
给定一个二维数组 array,请返回「螺旋遍历」该数组的结果。螺旋遍历:从左上角开始,按照 向右、向下、向左、向上 的顺序 依次 提取元素,然后再进入内部一层重复相同的步骤,直到提取完所有元素。示例 1:输入:array = [[1,2,3],[8,9,4],[7,6,5]]输出:[1,2,3,4,5,6,7,8,9]示例 2:输入:array = [[1,2,3,4],[12,13,14,5],[11,16,15,6],[10,9,8,7]]
2025-01-08 14:11:07
605
原创 力扣--76.最小覆盖子串
给你一个字符串 s 、一个字符串 t。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “”。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”解释:最小覆盖子串 “BANC” 包含来自字符串 t 的 ‘A’、‘B’ 和 ‘C’。示例 2:输入:s = “a”, t = “a”输出:“a”解释:整个字符串 s 是最小覆盖子串。示例 3:输入: s = “a”, t = “aa”
2025-01-07 21:36:29
304
原创 力扣904.水果成篮
你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类。你想要尽可能多地收集水果。给你一个整数数组 fruits ,返回你可以收集的水果的 最大 数目。示例 1:输入:fruits = [1,2,1]输出:3解释:可以采摘全部 3 棵树。示例 2:输入:fruits = [0,1,2,2]输出:3解释:可以采摘 [1,2,2] 这三棵树。
2025-01-07 21:10:45
633
原创 力扣--167.两数之和II 输入有效数组
给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。
2025-01-07 20:31:57
520
原创 力扣--977.有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]
2025-01-07 20:01:59
327
原创 力扣--844.比较含退格的字符串
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true。# 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:s = “ab#c”, t = “ad#c”输出:true解释:s 和 t 都会变成 “ac”。示例 2:输入:s = “ab##”, t = “c#d#”输出:true解释:s 和 t 都会变成 “”。示例 3:输入:s = “a#c”, t = “b”输出:false。
2025-01-07 19:52:01
359
原创 力扣--283.移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]
2025-01-07 19:18:54
613
原创 力扣--26.删除有序数组中的重复项&&80.删除有序数组中的重复项II
给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致。然后返回 nums 中唯一元素的个数。判题标准:系统会用下面的代码来测试你的题解:// 输入数组// 长度正确的期望答案// 调用i < k;i++) {如果所有断言都通过,那么您的题解将被 通过。示例 1:输入:nums = [1,1,2]输出:2, nums = [1,2,_]
2025-01-07 19:13:37
758
原创 力扣--34.在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。
2025-01-05 17:15:41
778
原创 力扣--35.搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4。
2025-01-05 12:59:14
443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅