- 博客(235)
- 收藏
- 关注
原创 pycharm长循环调试技巧
3.在condition这一行选择step==199,注意一定是两个等号,然后点击done,程序就可以精准地跑到对应的step停下来。1.首先在循环语句这一行打断点。2.然后鼠标右键这个断点处。
2025-03-06 16:28:50
200
原创 conda和conda-forge区别?怎么选用?
conda-forge通常比默认通道更新得更频繁,提供了更多的软件包版本和更广泛的软件包兼容性。而如果你需要访问更广泛的软件包,或者希望获得最新的软件包版本,conda-forge提供了一个更大的选择范围。conda-forge作为一个社区驱动的项目,提供了更广泛的软件包选择,包括许多专业领域如生物信息学、物理学和工程学等的专业工具。用户提供一个广泛的、社区支持的软件包集合,这些软件包可能不在Anaconda默认的软件包集合中。软件包集合,它提供了成千上万的软件包,这些软件包由社区成员维护和更新。
2025-02-17 19:48:29
1509
原创 数据结构与算法
数据结构为算法提供了结构化存储的数据,以及操作数据的方法。‧ 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。‧ 问题是明确的,包含清晰的输入和输出定义。‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。
2024-12-13 21:41:32
269
原创 深度学习:使用argparse 模块
argparse是Python标准库中的一个模块,用于解析命令行参数。它能够帮助开发者轻松编写用户友好的命令行接口,使得程序可以通过命令行参数来接受用户输入,并根据这些输入执行相应的功能。
2024-12-02 22:09:36
581
原创 Wox的使用:优雅高效的 Windows 应用程序和文件启动器
Wox 是一款为 Windows 用户设计的快速启动工具,类似于 macOS 的 Alfred。它不仅是一个应用程序启动器,还具有实时文件搜索、插件扩展等功能,能够大大提高用户在 Windows 操作系统下的工作效率。Wox的设计目标是通过简单快捷的操作方式,帮助用户更轻松地启动应用程序、搜索文件、执行命令等操作,从而让用户更加专注于工作内容而不是繁琐的操作流程。
2024-11-27 21:45:53
1364
原创 VS的安装和配置
对于一名C语言程序员而言,进行C语言程序的开发一般需要一个文本编辑器加上一个编译器就足够了。但为了方便起见,我们选择使用集成开发环境——Visual Studio(简称VS)。什么是集成开发环境?集成开发环境(Integrated Development Environment),也普遍简称IDE,指的是一个提供用于软件开发的全套工具的环境。这些工具通常包括代码的文本编辑器、编译器、调试器,以及其他用于简化软件开发过程的工具和库。
2024-11-27 20:40:32
1047
原创 Transformer概念学习
这绝对是全网最全的Transformer,VIT/Swin/DETR模型全详解,迪哥3小时带你吃透Transformer模型!_哔哩哔哩_bilibili。Transformer(三)--论文实现:transformer pytorch 代码实现_transformer详细复现-优快云博客。Word2Vec简明教程:入门、原理及代码实现_word2vec king queen man women-优快云博客。
2024-11-06 20:36:48
472
原创 zip 和 shuffle 在处理多模态数据时的作用
在机器学习的训练过程中,我们希望面部数据、语音数据和它们的标签能够一一对应,并且每次训练时数据的顺序都是随机的。通过一个具体的例子来说明 `zip` 和 `shuffle` 在处理多模态数据时的作用。使用 `random.shuffle` 函数对 `combined` 列表进行随机打乱。使用 `zip` 函数将面部数据、语音数据和标签打包在一起,以便它们保持对应关系。使用 `zip(*combined)` 将打乱后的列表解包回三个独立的数组。
2024-10-25 18:13:19
393
1
原创 sklearn.preprocessing 的 LabelEncoder 类来对标签进行编码讲解
值得注意的是,`LabelEncoder` 会按照它们第一次出现的顺序给标签分配数字。在这个例子中,'cat' 是第一个出现的,所以它被分配了数字 1;'dog' 是第二个出现的,所以它被分配了数字 2;'bird' 是第三个出现的,所以它被分配了数字 0。此外,`LabelEncoder` 还可以用来逆转换,即将整数标签再转换回原始的文本标签。此时,`LabelEncoder` 会检查所有的标签,并创建一个映射,这样,我们就可以将模型预测的整数标签转换回人类可读的文本标签。2. 然后,我们将这个实例。
2024-10-25 16:55:48
553
原创 Python包、模块、库辨析
模块是Python 编程的基本组成部分之一,它是单个文件,包含 Python 代码,可以定义函数、类和变量。模块是一个独立的文件,通常以.py扩展名结束。通过导入模块 ,可以使用该模块中定义的所有功能 ,从而重用代码。导入模块后,可以访问其内部的属性和方法。Python 中有标准库模块,它们提供了丰富的功能集,如文件 I/O、网络请求等。除了标准库之外,开发者还可以创建自己的模块 ,以封装特定的功能或业务逻辑。在这个例子中,是一个简单的模块,它定义了一个add。
2024-09-18 19:52:24
894
原创 深度学习的关键数据结构——张量解释
神经网络中的输入、输出和变换都是用张量表示的,因此,神经网络编程大量使用张量。张量的概念是其他更具体概念的数学归纳。以下例子中的每一个都是更一般的张量概念的特定实例:数标量数组向量二维数组矩阵我们将上面列出的示例分成两组:数,数组,二维数组标量、向量、矩阵第一组三个术语(数、数组、二维数组)是计算机科学中常用的术语,而第二组(标量、向量、矩阵)是数学中常用的术语。我们经常看到这样的事情,不同的研究领域对同一个概念使用不同的词。在深度学习中,我们通常将所有这些都称为张量。
2024-09-15 19:04:43
882
原创 Python with 关键字语法糖
关键字系统会自动调用 f.close() 方法, with 的作用等效于 try/finally 语句是一样的。在文件对象中定义了 __enter__ 和 __exit__ 方法,即文件对象也实现了上下文管理器。使用 with 语句确保在嵌套块的末尾调用 __exit__ 方法。语句使代码更清晰、更具可读性, 它简化了文件流等公共资源的管理。以上代码如果在调用 write 的过程中,出现了。,发生异常时执行 except 代码块,以上代码我们对可能发生异常的代码处进行。调用 __exit__ 方法。
2024-09-13 19:02:57
406
原创 CPU 和 GPU:为什么GPU更适合深度学习?
GPU(图形处理单元)的诞生,初衷是为了专门应对渲染复杂图形和加速视频处理的需求。随着计算机图形技术的发展,实时 3D 图形的渲染需求逐渐增多,传统的CPU(中央处理器)难以高效处理这些繁重的计算任务。GPU 的出现大大缓解了这一负担,通过其独特的架构将大量的图形处理操作从 CPU 中剥离出来,从而极大地提升了系统的图形处理能力。GPU 的架构设计非常独特,由成百上千个小型处理单元组成,每个处理单元能够独立并行执行指令。这种高度并行的处理能力使 GPU 能够同时处理海量数据。
2024-09-12 10:23:09
4323
1
原创 PyTorch深度学习快速入门【小土堆】
1.关注transforms中参数输入和输出类型2.多看官方文档3.关注方法需要什么参数:参数如果设置了默认值,保留默认值即可,没有默认值的需要指定(看一下要求传入什么类型的参数)直接print该变量,print(type()),看结果里显示什么类型最后要 totensor,在 tensorboard 看一下结果(tensorboard需要tensor数据类型进行显示)8. torchvision 中的数据集使用。
2024-09-11 14:55:13
1415
原创 Python中item()和items()的用处
在训练时,。比如loss.item()。可以看出是.item(),item()返回的是一个,所以我们在求loss或者accuracy时,一般使用item(),而不是直接取它对应的元素x[1,1]。
2024-09-10 16:32:26
774
原创 Python中if __name__ == ‘__main__‘:的作用和原理
一个python的文件有两种使用的方法是直接作为脚本执行是import到其他的python脚本中被调用(模块重用)执行。就是控制这两种情况执行代码的过程。
2024-09-10 16:15:31
441
原创 torch.nn 与 torch.nn.functional的区别?
可以在其基础上定义出自己想要的功能参考博文:【pytorch】torch.nn 与 torch.nn.functional 的区别_torch.nn和torch.nn.function的区别-优快云博客文章浏览阅读554次。今天在看pytorch的代码时,看到了torch.nn 和 torch.nn.functional,然后查了两个模块的官方doc,也没有看明白有啥区别,然后就查了一下资料,这里记录一下,方便以后查阅。_torch.nn和torch.nn.function的区别。
2024-09-07 10:49:31
1120
原创 一文读懂 深度学习中12种经典卷积方法
举一个具体例子,假设输入层的大小是 7×7×3(高×宽×通道),而过滤器的大小是 3×3×3。每个过滤器的大小为 3×3×1。现在,对于大小为 H×W×D 的输入图像,如果使用 Nc 个大小为 h×h×D 的核执行 2D 卷积(步幅为 1,填充为 0,其中 h 是偶数)。如果你听说过深度学习中不同种类的卷积(比如 2D / 3D / 1x1 /转置/扩张(Atrous)/空间可分/深度可分/平展/分组/混洗分组卷积),并且搞不清楚它们究竟是什么意思,那么这篇文章就是为你写的,能帮你理解它们实际的工作方式。
2024-08-25 17:41:18
1000
原创 数学建模--图论最短路径问题
Floyd‐Warshall算法(英语:Floyd‐Warshall algorithm或简写为Floyd algorithm),中文亦称弗洛伊德算法,是解决任意两点间的最短路径的一种算法,可以正确处理无向图或有向图(可以有负权重,但不可存在负权回路)的最短路径问题。Floyd算法与迪杰斯特拉算法或贝尔曼福特算法相比,能够一次性的求出任意两点之间的最短路径,后两种算法运行一次只能计算出给定的起点和终点之间的最短路径。来更新dist和path.核心思想就是,每一次允许。依次从不同的顶点进行。
2024-08-06 17:25:39
425
原创 拟合算法和强大的拟合工具--cftool
与插值问题不同,在拟合问题中。拟合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即(最小化损失函数)。
2024-08-05 17:35:07
664
原创 预测类算法--插值算法
数模比赛中,常常需要进行数据、模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,一些新的但又比较靠谱的值来满足需求,这就是插值的作用。高次。
2024-08-05 16:42:28
330
原创 评价类算法--模糊综合评价算法模型
一.概述二.经典集合和模糊集合的基本概念经常采用向量表示法来进行表示三.隶属函数的三种确定方法其中,梯形分布用得最多四.应用:模糊综合评价对应一个指定的评语:选择一个方案:
2024-08-05 16:01:50
206
原创 评价类算法--TOPSIS优劣解距离算法
将所有指标正向化总结:C.L.Hwang 和 K.Yoon 于1981年首次提出 TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution),可翻译为逼近理想解排序法,国内常简称为优劣解距离法。TOPSIS 法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。基本过程为先将原始数据矩阵统一指标类型(一般正向化处理)得到正向化的矩阵,再对正向化的矩阵进行标准化处理。
2024-07-28 17:58:23
599
原创 [跟李沐读论文]如何精读一篇论文
是最详细的一遍,需要知道每一段在干什么,为什么是这么做的,有些地方没有做的话,自己会怎么做,在看完文章后大概能够想到想到其中的细节,以及具体怎么完成的。在干什么事情,怎么提出的,和别人差距有多大, 在读的时候把其中他们提到的文献都圈出来,例如这个方法是在谁的基础上改进出来的,问题是怎么提出来的。,在摘要中提到的问题给一个结论,看完大概知道这个论文干了什么,可以去看看解释中和方法中的图和表,是不是适合自己的论文,需不需要继续读下去。,知道每一块在干什么,不要太注意很多细节,主要搞清楚。- 如果继续往下读,
2024-07-16 18:50:31
190
原创 C++之模板和可变模板参数
现在的C++编译器实现了一项新的特性:模板(Template),简单地说,模板是一种通用的描述机制,也就是说,使用模板允许使用通用类型来定义函数或类等,在使用时,通用类型可被具体的类型,如intdouble甚至是用户自定义的类型来代替。模板引入一种全新的编程思维方式,称为泛型编程或通用编程。泛型编程:不是针对某一种具体的类型进行编程,而是针对一类类型进行编程,将类型抽象成T(类型参数化)#形象地说,把函数比喻为一个游戏过程,函数的流程就相当于游戏规则。
2024-03-25 11:29:23
1340
原创 C++之移动语义与智能指针
如果右值引用本身没有名字,那右值引用就是右值,如右值引用作为函数返回值。,用来存储指向动态分配(堆空间)对象的指针,负责自动释放动态分配的对象,防止堆内存泄漏。std::move()作用于内置类型没有任何作用,内置类型本身是左值还是右值,经过std::move()后不会改变。,提供一个可以自由选择析构的接口,这样,我们的智能指针就可以处理不同形式开辟的空间以及可以管理文件指针。右值引用:可以绑定到右值,但是不能绑定到左值。将左值转换为右值后,左值就不能直接使用了,如果还想继续使用,必须重新赋值。
2024-03-24 21:04:53
1221
原创 2024-3-17上机C++刷题
Old Bill_牛客题霸_牛客网 (nowcoder.com)对称平方数1_牛客题霸_牛客网 (nowcoder.com)与7无关的数_牛客题霸_牛客网 (nowcoder.com)xxx定律_牛客题霸_牛客网 (nowcoder.com)反序数_牛客题霸_牛客网 (nowcoder.com)3377. 约数的个数 - AcWing题库。3644. 水仙花数 - AcWing题库。3390. 特殊乘法 - AcWing题库。
2024-03-18 09:22:01
855
原创 C++之多态
什么是虚函数呢?虚函数就是在基类中被声明为virtual,并在一个或多个派生类中被重新定义的成员函数。是一个成员函数,并且在前面加上virtual关键字如果在基类中定义类虚函数,那么在派生类中该函数就是虚函数,即使在派生类中没有加virtual重定义(重写、覆盖):派生类要保证该虚函数的名字与基类相同,函数的返回类型也要相同,函数的参数列表也要相同(包括参数的个数、参数的类型、参数的顺序),言外之意,唯一可以不一样的,就是函数体。// 类内部class 类名。
2024-03-17 17:38:55
870
原创 C++面向对象之继承
当一个派生类继承一个基类时,需要在派生类的类派生列表中明确的指出它是从哪个基类继承而来的。class 子类(派生类): public/protected/private 父类(基类) //类派生列表//数据成员//成员函数派生类的生成过程包含3个步骤:1. 吸收基类的成员2. 改造基类的成员3. 添加自己新的成员总结:吸收,改造,添加public:, _z(z)print();
2024-03-01 15:24:23
879
原创 C++之atexit-pthread用法详解
atexit函数先注册三个func函数,然后等待3秒,再打印”hello main”(如果main函数中输出部分不加\n,则main函数要输出的内容会先放到标准输出缓冲区中,当main中调用exit函数的时候,会做一些自身清理工作,同时刷新标准输出缓冲区中的内容),当执行到exit(0)时,exit会自动调用这些已注册过的函数,但是由于压栈过程中先进后出的原则,所以先注册的函数最后执行。按 POSIX.1-2001 的规定,如果在终止处理程序中调用 longjmp()函数,这样导致的结果是未定义的.
2024-02-28 21:37:21
1333
原创 C++之标准库中string的底层实现方式
我们都知道, std::string的一些基本功能和用法了,但它底层到底是如何实现的呢?其实在std::string的历史中,出现过几种不同的方式。下面我们来一一揭晓。我们可以从一个简单的问题来探索,一个std::string对象占据的内存空间有多大,即sizeof(std::string)的值为多大?如果我们在不同的编译器(VC++, GNU, Clang++)上去测试,可能会发现其值并不相同;即使是GNU,不同的版本,获取的值也是不同的。
2024-02-28 21:08:18
1006
pytorch下载包,pip和conda问题解决
2024-12-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人