自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 迁移学习实现图片分类任务

训练集的数据加载器# 测试集的数据加载器查看一个batch的图像与标注# DataLoader 是 python生成器,每次调用返回一个 batch 的数据labels。

2024-01-31 15:21:48 397

原创 迁移学习的三种策略

3.从头训练所有层:数据集与大模型完全不一致,只载入模型的结构,权重参数自己训练。例如用显微镜、天文望远镜这种设备拍的图片。1.只微调模型的最后一层:数据分布与模型相似,只是全连接分类层不同,例如模型可能分成1000类,而我们不需要分成这么多类。2.微调训练所有层:数据分布与大模型数据分布不一致。取决于数据分布与大模型的分布是否相似。

2024-01-31 13:45:57 167

原创 ImageNet预训练图像分类模型预测单张图像

torch.Size([1, 3, 224, 224]),即一张3通道224*224的图片。如何知道430、514是哪一类?

2024-01-31 13:26:31 517

原创 深度学习-自注意力机制

one-hot编码,让模型自己去学习怎么进行编码。

2024-01-24 16:56:25 661

原创 机器学习-半监督

半监督的实现需要创建新的数据集,添加新的无标签数据。还需要修改readfile函数,只返回x。当模型准确率达到阈值后,给数据打标签(通过模型给数据打标签)。重复这个流程,一步步给无标签数据打标签即为半监督过程。既有有标签的数据,又有无标签的数据。只有数据,没有标签。指的是数据有标签的监督。

2024-01-22 15:01:27 399

原创 深度学习-分类任务-食物分类

是最终的图像数据数组,用于存储所有子文件夹中的图像数据。在循环的每次迭代中,将当前子文件夹的图像数据添加到。是一个临时的变量,用于存储当前子文件夹(类别)中的所有图像数据。通过两个循环,将图片和其标签分别保存在xi,yi在中,然后存在X和Y中,每次xi,yi更新一次。大佬们的模型花了很多钱、在千万数据集上训练,提取的特征特别好,所以借用大佬的模型。则在每次循环迭代后被重新创建,用于下一个子文件夹的图像数据存储。数组,用于存储当前子文件夹中所有图像的像素值。是循环内每个子文件夹中图像数据的临时存储,而。

2024-01-22 15:00:41 405

原创 深度学习-分类任务

定义几个类别将输出与类别对比,判断是哪一类。

2024-01-22 14:59:16 455

原创 深度学习与特征

例如,将这几个图形分为两类,可以按着形状或者颜色分类或形状分类,上面的模型关注颜色,下面的模型关注形状,具有提取形状特征的能力。深度学习,就是将我们输入转换成一个高维的向量,一定程度上可以理解为编码,或者为压缩。食物分类的例子中,所有的数据都没有标签。大部分的数据都没有标签的。对比学习:让自己和自己靠的更近,把自己和自己的增广作为一类。autoencoder自编码器,把自己的一部分当做学习的目标。降维:PCA主成分分析,之前新冠任务中的降维。自监督学习:对比学习和生成式自监督。

2024-01-22 14:56:37 396

原创 深度学习-回归实战-新冠预测

以上的三个部分,所有部分完成,接下来导入进训练流程中即可。model = model.to(device) # 模型和数据 ,要在一个设备上。cpu - gpumin_val_loss = 100000 # 记录训练验证loss 以及验证loss和结果for i in range(epoch): # 训练epoch 轮start_time = time.time() # 记录开始时间model.train() # 模型设置为训练状态 结构。

2024-01-13 21:19:00 947

原创 树-判断顺序存储的二叉树是否是二叉搜索树

【代码】树-判断顺序存储的二叉树是否是二叉搜索树。

2023-12-04 18:19:18 339

原创 链表暴力解-判断一个链表B是否是链表A的子序列

【代码】链表暴力解-判断一个链表B是否是链表A的子序列。

2023-12-04 18:04:01 367

原创 暴力解-删除链表中的重复元素

【代码】暴力解-删除链表中的重复元素。

2023-12-04 18:02:25 328

原创 链表旋转的问题

【代码】链表旋转的问题。

2023-09-29 21:30:49 29

原创 逆置链表与数组

数组逆置算法——对位交换。

2023-09-28 23:36:20 39 1

原创 哈希数组解决一类问题

【代码】哈希数组解决一类问题。

2023-09-28 23:27:48 39 1

原创 二叉树的非递归遍历

后序遍历非递归口诀:入栈向左一直走,判定,出栈访问,标记重置。中序非递归口诀:入栈向左一直走,出栈访问右子树。

2023-07-09 15:56:47 35 1

原创 东北大学842-2015求二叉树的最大密度

1.在while里出队操作的位置,因为是要对层中的每个节点做处理,因此要加一个for循环,再循环里面出队,这点和根据层序遍历求x的层数那道题的想法一样。都是在for循环里做处理。

2023-07-08 15:58:35 79

原创 基于先序遍历找到节点X所在的层数

【代码】基于先序遍历找到节点X所在的层数。

2023-07-08 15:02:06 62 1

原创 东北大学842-2018【二叉树】判断两棵树是否相等

【代码】判断两棵树是否相等。

2023-07-08 14:50:39 340 1

原创 打印根节点到某一节点x的路径

【代码】打印根节点到某一节点x的路径。

2023-07-08 14:34:52 76 1

原创 【算法笔记】二叉树先序遍历第k个结点的值

【代码】【算法笔记】二叉树先序遍历第k个结点的值。

2023-07-08 11:33:35 385 1

原创 【算法笔记】求二叉树节点个数——层序遍历法

【代码】【算法笔记】求二叉树节点个数——层序遍历法。

2023-07-07 20:03:02 63 1

原创 【算法笔记】求双分支节点个数

通过本题注意用递归时的返回值。

2023-07-07 19:00:37 297 1

原创 层序遍历找X层数和层序遍历求树高

注意for循环保证在一层内部处理的应用。

2023-07-07 18:37:33 29

原创 基于层序遍历找到二叉树中值为X结点所在层数

这个算法通过使用队列来实现层次遍历的过程,确保每一层的节点按顺序被访问,并在遍历的过程中记录节点所在的层数。当遍历到目标节点时,返回其所在的层数。如果遍历完整个树仍未找到目标节点,则表示目标节点不存在。算法的主要思路是通过层次遍历的方式逐层访问二叉树的节点。

2023-07-06 15:22:36 49 1

原创 二叉树层序遍历递归算法

层次遍历算法的时间复杂度是 O(N),其中 N 是树或图中节点的数量。层次遍历算法广泛应用于树和图的遍历问题,特别适用于需要按层级顺序处理节点的场景,如查找树的最小深度、查找树的最大宽度等。这个算法的关键在于使用队列来保存每一层的节点,并按照从左到右的顺序逐层访问。通过不断将节点的子节点入队,保证了每一层的节点按顺序访问,从而实现了层次遍历的效果。层次遍历是一种广度优先搜索(BFS)的算法,它按层级顺序逐层遍历树或图的节点。层次遍历算法的基本思想是通过使用队列,按照从上到下、从左到右的顺序访问每个节点。

2023-07-06 15:00:38 50 1

原创 邻接表转换为逆邻接表

【代码】邻接表转换为逆邻接表。

2023-07-06 10:46:57 82

原创 【图】拓扑排序算法

根据算法的思想,通过不断移除入度为 0 的顶点,保证了在拓扑序列中,每个顶点都在它的依赖顶点之后。

2023-07-06 10:42:06 43 1

原创 数据结构【图】深度优先遍历递归算法的应用

这个算法的关键在于深度优先搜索的递归过程,通过递归不断地探索未访问过的邻居顶点,直到找到目标顶点v或无法继续搜索为止。在搜索过程中,通过路径数组和访问数组来记录和管理路径和顶点的访问状态。通过不断地递归调用findPath函数,可以深度优先地遍历图中的顶点,并在每次递归时更新路径和访问状态,以找到从起始顶点u到目标顶点v的所有路径。算法思想:这个算法使用深度优先搜索(DFS)的思想来查找从顶点u到顶点v的路径。问题:假设图用邻接表表示,设计一个算法,输出从顶点u到v的简单路径。

2023-07-06 09:07:07 62 1

原创 C语言学习笔记——指针(栈空间和堆空间的差异)

1.C语言中变量存取,指针变量直接访问:按变量地址存取变量值的方式。例如:printf("%d",i);、scanf("%d",&i);间接访问:将变量i的地址存放到另一个变量中。指针变量是一种特殊的变量,用于存放变量的地址。指针的定义格式:基类型 *指针变量名;例如:int *i_POINTER;指针!=指针变量2.取地址操作符和取值操作符取地址符:&,通过该符号可以得到一个变量的地址。取值操作符:*,也称借引用。通过该符号可以得到一个地址所对应

2021-11-08 22:23:42 743

空空如也

空空如也

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

TA关注的人

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