自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 机试学习记录2

private:// 记录结果:用于存储所有可能的有效IP地址组合。累积数字:通过逐个字符地将字符串中的数字字符转换为整数,并累加到一个变量中。有效性检查:确保累加后的数字不超过255,从而保证其作为IP地址段的有效性。这种实现方式既简洁又高效,适用于任何长度的数字字符串,并且能够快速判断其是否符合IP地址段的要求.如果所有检查都通过,则返回true。private:// 记录所有可能的结果result:用于存储所有可能的有效棋盘布局。

2025-03-19 17:07:43 789

原创 cuda并行归约

并行归约是一种常见的数据并行操作,用于将一个大规模的数据集通过逐步合并的方式减少至一个单一的结果。常见的归约操作包括求和、求最大值、求最小值等。并行归约在高性能计算、图形处理、机器学习等领域中广泛应用,尤其是在GPU等并行计算平台上。划分数据:将输入数据划分为多个部分,每个部分由一个线程或线程块处理。局部归约:每个线程或线程块对其负责的部分进行归约操作,得到局部结果。递归归约:将局部结果进一步归约为更少的部分,直到最终得到单一结果。同步:确保所有线程在每个阶段都完成其任务后,才能进入下一个阶段。当。

2025-03-18 16:46:38 759

原创 生成任务,大模型

train_df = pd.read_csv(pre_train_file, header=None, names=["id", "input", "tgt"]) # 读入数据:指定要读取的CSV文件路径。:表示CSV文件没有表头(第一行不是列名)。:为每一列指定名称。:打印前五行数据,以便检查读取是否正确。datas = []# 训练集else:load_data函数打开指定路径的文件并读取每一行。使用strip()去除每行的前后空白字符,并使用split(",")

2025-03-09 22:23:52 2160

原创 Bert的使用

data = []label = []if i == 0:continuecontinueline = line.split(",", 1) # 把这句话,按照逗号分割, 1表示分割次数print("读了%d的数据" % len(data))read_file函数打开指定路径的文件并读取每一行。跳过第一行(假设是表头)。忽略第201到7499行的数据。使用去除每行末尾的换行符。使用按照第一个逗号分割每行数据,生成包含两个元素的列表。

2025-03-07 18:27:55 1182

原创 自然语言处理:Transformer、BERT

是一种新型的深度学习架构,利用自注意力机制处理序列数据,具有并行处理能力和捕捉长距离依赖的优势。BERT是基于Transformer架构的预训练语言模型,采用双向编码器和预训练任务(MLM和NSP),能够生成上下文相关的词嵌入,并在多种NLP任务上表现出色。通过使用Hugging Face的Transformers库,可以方便地加载和使用预训练的BERT模型,并在特定任务上进行微调。是一种通用的深度学习架构,适用于广泛的序列数据处理任务,特别是那些需要生成新序列的任务(如机器翻译、文本摘要)。

2025-03-07 18:03:08 1986

原创 图片分类实战:食物分类问题(含半监督)

HW = 224transforms.ToPILImage(), # 将numpy.ndarray转换为PIL.Imagetransforms.RandomResizedCrop(224), # 随机裁剪并调整大小到224x224transforms.RandomRotation(50), # 随机旋转角度在[-50, 50]之间transforms.ToTensor() # 将PIL.Image转换为tensor。

2025-03-05 14:09:59 1174

原创 图片分类学习:AlexNet,VggNet,ResNet

准确率:直接反映模型在测试集上的总体表现。精确率、召回率和 F1-score:帮助我们了解模型在每个类别上的表现,尤其是类别不平衡的情况。混淆矩阵:直观展示模型对每个类别的分类情况。AUC-ROC:评估模型的整体性能,尤其适用于类别不平衡的问题。训练曲线:评估模型的稳定性和收敛性。最终,通过对比这些指标,可以得出ResNet在准确率和稳定性上表现最佳的结论。

2025-03-03 15:23:28 2183

原创 机试练习记录1

这段代码优雅地解决了两数之和问题,利用哈希表实现了高效的查找。通过合理的逻辑设计和边界条件处理,确保了算法的正确性和性能。

2025-03-02 20:02:29 616

原创 回归实战:covid

1. 用于数据可视化。可绘制折线图、柱状图、散点图等,帮助分析模型性能或数据分布。2. PyTorch 是一个流行的深度学习框架。提供张量运算、自动求导等功能,支持 GPU 加速。3. 和 :定义数据集的抽象类,用户需要继承并实现自己的数据集类。:用于加载数据,支持批量加载、随机打乱和多线程加速。4. 用于读取和写入 CSV 文件。在处理表格数据时非常有用,例如加载 COVID 数据集。5. 强大的数据分析工具。提供 和 数据结构,便于数据清洗、转

2025-02-22 15:31:20 978

原创 从0写一个线性回归,一个神经网络基本训练过程

2、w_0 = torch.normal(0, 0.01, true_w.shape, requires_grad=True):使用正态分布随机初始化参数 w_0,均值为 0,标准差为 0.01,形状与 true_w 相同,并设置 requires_grad=True 以便后续计算梯度。1、使用 torch.normal(0, 1, (data_num, len(w))) 生成一个服从均值为 0,标准差为 1 的正态分布的随机张量 x,形状为 (data_num, len(w))。

2025-02-21 19:16:12 494

原创 零基础代码随想录算法学习9|栈与队列理论基础、232.用栈实现队列、225. 用队列实现栈、 20. 有效的括号、1047. 删除字符串中的所有相邻重复项

以保持栈的原始结构不变。(注意和pop的区别)4、将que1赋值为que2,这样que1中就存储了原始栈中除了栈顶元素之外的其他元素。5、最后,使用while循环清空que2队列,以便下一次操作。

2025-02-19 15:28:48 912

原创 零基础代码随想录算法学习8|151.翻转字符串里的单词、卡码网55. 右旋字符串、28. 实现 strStr()、459.重复的子字符串

说到KMP,先说一下KMP这个名字是怎么来的,为什么叫做KMP呢。因为是由这三位学者发明的:Knuth,Morris和Pratt,所以取了三位学者名字的首字母。所以叫做KMP。

2025-02-17 23:37:27 991

原创 零基础代码随想录算法学习7|334.反转字符串、541. 反转字符串Ⅱ、卡码网54. 替换数字

1、字符串是若干字符组成的有限序列,也可以理解为是一个字符数组,但是很多语言对字符串做了特殊的规定,接下来我来说一说C/C++中的字符串。在C语言中,把一个字符串存入一个数组时,也把结束符 '\0’存入数组,并以此作为该字符串是否结束的标志。a[i]!= '\0';i++) {2、在C++中,提供一个string类,string类会提供 size接口,可以用来判断string类字符串是否结束,就不用’\0’来判断是否结束。i++) {

2025-02-17 15:59:01 641

原创 零基础代码随想录算法学习6|454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和

但是有一些细节需要注意,例如: 不要判断nums[k] > target 就返回了,三数之和 可以通过 nums[i] > 0 就返回了,因为 0 已经是确定的数了,四数之和这道题目 target是任意值。先用数组记录ransomNote的字母出现次数,+1,然后遍历magazine数组-1,最终得到的数组对应值<=0,则返回true,>0就返回false。2、遍历大A和大B数组,统计两个数组元素之和,和出现的次数,放到map中。一些同学可能想,用数组干啥,都用map完事了,其实在本题的情况下,

2025-02-15 22:10:23 841

原创 零基础代码随想录算法学习5|哈希表理论基础、242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

1、这道题目,主要要学会使用一种哈希数据结构:unordered_set,这个数据结构可以解决很多类似的问题。注意题目特意说明:输出结果中的每个元素一定是唯一的,也就是说输出的结果的去重的, 同时可以不考虑输出结果的顺序用数组来做哈希的题目,是因为题目都限制了数值的大小。而这道题目没有限制数值的大小,就无法使用数组来做哈希表了。而且如果哈希值比较少、特别分散跨度非常大,使用数组就造成空间的极大浪费。

2025-02-03 15:13:24 882

原创 零基础代码随想录算法学习4| 24. 两两交换链表中的节点 、 19.删除链表的倒数第N个节点、07. 链表相交 、142.环形链表II

1、尽量用一个指针主导总线,避免混乱。2、被操作的节点的前一个节点有指针,该节点才能被操作3、什么时候要判断空指针?①访问指针成员之前:在访问指针成员之前,先检查指针是否为 nullptr,以避免访问空指针导致的异常。②函数参数检查:如果函数中使用了指针参数,建议在函数内部首先检查这些指针是否为 nullptr。③链表、树等数据结构操作:在对链表、树等数据结构进行操作时,需要确保相关指针不为空,以避免空指针异常。④循环中的指针操作。

2025-01-14 19:41:08 1033

原创 零基础代码随想录算法学习3| 链表理论基础 、 203.移除链表元素 、707.设计链表 、206.反转链表

链表操作的两种方式:1、直接使用原来的链表来进行删除操作。(如上述解题)2、设置一个虚拟头结点在进行删除操作。(借用代码随想录原话)移除头结点和移除其他节点的操作是不一样的,因为链表的其他节点都是通过前一个节点来移除当前节点,而头结点没有前一个节点。所以头结点如何移除呢,其实只要将头结点向后移动一位就可以,这样就从链表中移除了一个头结点。依然别忘将原头结点从内存中删掉。

2025-01-11 00:22:40 603

原创 零基础代码随想录算法学习2| 209.长度最小的子数组、59.螺旋矩阵II、区间和、开发商购买土地

主要就是要弄清楚是怎么一步步由外向内转圈的,处理好边界问题,坚持循环不变量。vector(n, 0):创建一个大小为 n 的一维向量,所有元素初始化为 0。vector<vector> res(n, …):创建一个大小为 n 的二维向量,其中每个元素是一个一维向量,每个一维向量的大小为 n,并且初始值都是 0。前缀和的思想是重复利用计算过的子数组之和,从而降低区间查询需要累加计算的次数。前缀和在涉及计算区间和的问题时非常有用!延续前缀和的思想(其实还有挺多要写的,今天不太想写了,明天补上)

2025-01-09 23:36:52 934

原创 零基础代码随想录算法学习1|704. 二分查找、27. 移除元素、977.有序数组的平方

错误总结红温,想的和写的不一样,以后多检查一下代码,特别是像这道题一样,大于小于写错。知识总结● 最重要的就是区间不变量●所谓区间不变量,举个例子,区间取左闭右闭的话,那么每次区间二分,范围都是新区间的左闭右闭 ,后面做判断时 ,要一直基于这个左闭右闭的区间● 要注意从不同定义区间出发,代码边界细节不同,注意每次区间二分后,是否有遗漏元素或多余的元素(指已经被比较过的元素)

2025-01-08 22:34:41 677 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除