- 博客(162)
- 资源 (3)
- 收藏
- 关注
原创 Python如何控制图形中绘制的点的大小
设置了散点的大小,你可以根据需要调整这个值来控制点的大小。参数表示点的面积,数值越大点越大。参数来控制点的大小。
2024-08-06 19:21:15 377
原创 解决pycharm使用matplotlib时,matplotlib后端设置不正确或与运行环境不兼容引起的报错:AttributeError: module ‘backend_interagg‘ ...
请确保在导入`matplotlib.pyplot`之前设置后端为`TkAgg`。1. 设置后端:在导入`matplotlib.pyplot`之前设置后端为交互式后端,如`TkAgg`或`Qt5Agg`。这个错误通常是由于matplotlib后端设置不正确或与运行环境不兼容引起的。如果`TkAgg`后端仍然有问题,可以尝试使用其他后端,如`Qt5Agg`或`Agg`。2. 升级库:确保使用最新版本的matplotlib,以避免已知问题。3. 尝试不同后端:根据环境和需求选择不同的后端。
2024-07-12 10:04:36 1918
原创 神经网络结构的读取与可视化
要使用 Jupyter Notebook 绘制一个神经网络的结构图,可以使用 `torchsummary` 库中的 `summary` 函数。该函数可以显示模型的结构以及每一层的输出形状等信息。
2024-05-09 16:42:57 318
原创 【最近邻对比学习】Nearest-Neighbor Contrastive Learning of Visual Representations
我们做出了以下贡献:(i)我们引入了NNCLR来学习超越单实例阳性的自监督表示,而不依赖于聚类;(ii)我们证明了NNCLR将对比学习方法(例如SimCLR[12])的性能提高了约3:8%,并且在ImageNet分类上实现了具有有限标签的线性评估和半监督设置的最先进性能;(iii)在12个迁移学习任务中的8个上,我们的方法在自监督甚至监督特征(通过监督ImageNet预训练学习)上都优于最先进的方法;
2024-05-03 11:27:23 1110
原创 【神经网络输入参数与网络权重参数数据类型】RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch....
错误内容就在类型不匹配,根据报错内容可以看出Input type为torch.cuda.FloatTensor(GPU数据类型),而weight type(即网络权重参数这些)为。复现程序时想要拿出项目代码中数据处理(dataloader)得到的数据,然后在jupyter notebook上将该数据应用于特征提取网络。既然输入数据是GPU类型,那解决方法就是将网络权重参数类型转变为GPU类型。.FloatTensor(CPU数据类型)。
2024-04-12 11:50:13 544
原创 python基础——迭代器
上面的代码首先将列表 `my_list` 转换为一个迭代器 `my_iterator`,然后使用 `next()` 函数逐个获取列表中的元素,并打印出来。如果迭代器已经到达末尾,再次调用 `next()` 将会引发 `StopIteration` 异常。Python 中的许多内置函数和模块都支持迭代器,例如 `for` 循环、`sum()`、`min()`、`max()` 等。在 Python 中,迭代器通常通过 `iter()` 和 `next()` 函数来使用。
2024-03-26 14:33:23 239
原创 jupyter调用envs环境——jupyter内核配置虚拟环境
pycharm的终端打开jupyter notebook: 在kernel下找不到上面的Pytorch_GPU环境:在对应的envs环境中安装ipykernel:将该环境写入jupyter:将如下圈起来的envs环境换成你自己的: 再重启jupyter:
2024-03-02 23:03:08 679
原创 terminal下环境不统一导致的程序报错(powersell改cmd)
在terminal下利用命令行执行代码显示运行环境缺包:但将命令中的参数写入参数文件,运行train.py时,程序可以正常运行: 直接运行train.py:程序可用: 参考文章控制台环境和项目环境不一致问题,pycharm的terminal环境根本没有进入到项目的虚拟环境中。此时的terminal环境是机器大环境,不是虚拟环境。有问题的控制台,未进入虚拟环境,在Windows自带的PowerShell下,如图: 匹配上虚拟环境时terminal的环境显示应该得像下面这样:解决完之后terminal
2024-03-01 19:27:31 474
原创 深度学习15—(迁移学习)冻结和解冻神经网络模型的参数
这两个函数对于模型微调(fine-tuning)和迁移学习(transfer learning)等场景非常有用。例如,在迁移学习中,你可能希望冻结预训练模型的一部分参数,只更新模型的最后几层以适应新任务。通过这两个函数,可以方便地控制模型参数的梯度计算状态。这段代码定义了两个函数:`freeze_net` 和 `unfreeze_net`,这两个函数的目的是分别冻结和解冻一个神经网络模型的参数,控制是否对模型参数进行梯度计算。
2024-01-07 14:42:01 1524
原创 数据分析——数据预处理和数据管道构建
若想改变原来写“一体化”代码的习惯,养成将代码分块,其实就是python中模块化的思想。),导入数据,设置好一些超参数。(2)然后再根据数据预处理的基本步骤,将各个步骤写成函数,于数据集类中。(4)编写好模型训练代码(train.py)。主要在于导入包部分,其他的训练代码的写法其实和“一体化”代码一样。导入如上(1)(3)中的数据和模型,所以在train.py中。需要导入这两个模块。
2023-12-26 14:53:18 1420
原创 linux基础06—windows下打不开wsl的ubuntu的子系统
搞定之后,重启计算机。将控制流保护改为默认关闭。(win10版本的话)(win11版本的话)
2023-12-23 14:58:47 5899 3
原创 深度学习14—注意力机制与自注意力机制
注:以下均为个人学习笔记,发布只为方便学习阅读,若觉侵权,请联系删除!! 通过注意力池化层来有偏向性的选择某些输入。 理解:Q(query)即为随意线索,可以通过对值V(value)做重要性加权得到。在这里,值V(value)和不随意线索K(key)是一个对。(对应关系)。
2023-12-18 15:58:10 531
原创 时间序列数据处理01——可视化与预处理
时间戳通常指的是一个特定时间点距离某个固定时间点(通常是1970年1月1日午夜,也称为UNIX纪元)经过的秒数。这是一个单一的时间点,表示为一个数字。时间戳是一种表示时间的标准方式,用于在计算机系统中存储和处理时间。时间戳序列是由一系列按照时间顺序排列的时间戳组成的数据集合。它表示在一段时间内观察到或记录到的多个时间点。时间戳序列通常用于描述时间序列数据,其中每个时间戳对应一个特定的观测值。时间戳序列可以是均匀间隔的,例如每小时采集一次,也可以是不均匀间隔的,取决于数据的性质。
2023-12-18 09:09:40 1112
原创 报错:AttributeError: ‘DataFrame‘ object has no attribute ‘reshape‘
这个错误通常发生在你试图在 Pandas DataFrame 上直接使用 `reshape` 方法时。`reshape` 方法通常与 NumPy 数组相关联,而不是 Pandas DataFrame。如果你正在使用 Pandas DataFrame 并希望重新塑造它,你应该使用 Pandas 的重塑函数,如 `pivot`、`melt` 或其他根据具体需求的方法。也是 NumPy 数组的方法,而不是 Pandas DataFrame 的方法。是一个 Pandas DataFrame,而。
2023-12-11 14:54:15 577
原创 运行报错:OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.Cha
这个错误可能是由于在多个线程中同时加载 OpenMP 库而导致的。这是一个在某些系统上经常出现的问题。添加这行代码到你的 Python 脚本的最开始。这会允许 OpenMP 库被重复加载而不导致错误。
2023-12-04 21:42:59 1154
原创 C++入门06—结构体
struct 结构体名 { 结构体成员列表 };通过结构体创建变量的方式有三种(相当于python中的实例化对象):struct 结构体名 变量名struct 结构体名 变量名 = { 成员1值 , 成员2值...}定义结构体时顺便创建变量// 创建学生数据类型:学生(姓名,年龄,分数)//结构体定义//成员列表//姓名int age;//年龄int score;//分数}stu3;//结构体变量创建方式3/*通过结构体创建变量的方式:(3) 在定义结构体时顺便创建结构体变量。
2023-10-30 11:57:44 118
原创 C++入门05—指针
指针变量定义语法:数据类型 * 变量名;//1、指针的定义int a = 10;//定义整型变量aint* p;//指针定义语法: 数据类型 * 变量名;//指针变量赋值p = &a;//指针指向变量a的地址cout
2023-10-29 12:10:39 225
原创 C++入门04—数组与函数
数据类型 数组名[ 数组长度(常量表达式) ];数据类型 数组名[ 数组长度 ] = { 值1,值2 ...};数据类型 数组名[ ] = { 值1,值2 ...};//定义方式1//数据类型 数组名[元素个数];// 这个整型数组中含有10个元素//利用下标赋值//利用下标输出//第二种定义方式:聚合方式赋值//数据类型 数组名[元素个数] = {值1,值2 ,值3 ...};//如果{}内不足10个数据,剩余数据用0补全//逐个输出。
2023-10-27 20:29:31 174
原创 C++入门03——程序流程结构
C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构顺序结构:程序按顺序执行,不发生跳转选择结构:依据条件是否满足,有选择的执行相应功能循环结构:依据条件是否满足,循环多次执行某段代码。
2023-10-25 20:51:42 137
原创 C++入门01—从hello word!开始
第一次使用Visual Studio时: 编写第一个代码:作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码两种格式单行注释:通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明多行注释: 通常放在一段代码的上方,对该段代码做整体说明作用:给一段指定的内存空间起名,方便操作这段内存语法:示例:2.2 常量作用:用于记录程序中不可更改的数据C++定义常量两种方式#define 宏常量: 通常在文件上方定义,表示一个常量const修饰的变量 通常在变量定义前加关键字
2023-10-24 12:17:21 1432
原创 时间序列常用数据处理
这段Python代码定义了一个名为`Compose`的类。此类的主要目的是组合多个变换函数并按顺序应用它们。这在数据预处理中很常见,尤其是在图像和序列数据处理中。让我们逐行解释代码:定义了一个名为`Compose`的新类,该类继承自Python的基类`object`。这是类的初始化方法。当创建`Compose`对象时,它会被调用。- `transforms`是传递给此方法的参数,它预期是一个列表,其中包含要按顺序应用的一系列变换函数。
2023-10-06 21:59:13 596
原创 领域自适应的几个子问题
Closed-set domain adaptation(闭集领域适应)是迁移学习中的一个子问题,其中我们假设源领域和目标领域的所有类别都是已知的且完全相同的。这意味着在执行领域适应时,源领域和目标领域之间没有新出现或消失的类别。简单来说,假设我们有一个在源领域(例如,一套特定的图像)上训练过的模型,我们希望将这个模型迁移到目标领域(例如,另一套风格不同的图像),但具有相同的类别标签。在闭集领域适应中,源领域和目标领域的类别标签是完全相同的,而无需处理未在源领域中看到的新类别或已消失的类别。
2023-10-06 15:54:01 230
原创 命令行参数传递(命令行解析)
通过命令行参数,用户可以在每次运行程序时改变程序的行为,而不需要修改代码。:命令行参数使得脚本和程序更容易被自动化工具、批处理文件或其他脚本调用,并传递不同的参数。:对于一些简单的程序或任务,使用命令行参数可能比创建和读取配置文件更为直观和简单。:使用像argparse这样的库,你可以为每个参数提供描述,从而当用户需要帮助时,他们可以直接在命令行中获得参数的信息。:命令行参数在不同的操作系统和环境中都有一致的概念和行为,这增加了代码的可移植性。
2023-09-26 21:52:05 619
原创 迁移学习、领域自适应、多源迁移学习、多任务学习
它包括采用预先训练的模型(在源任务上训练的模型),并使用它来改进新目标任务的学习。这可以包括使用模型作为特征提取器,微调模型,或使用模型的部分作为初始化。
2023-09-09 15:38:23 1566 1
原创 Ubuntu入门04——目录与文件
b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。cd - ,意思是返回到上次的目录,类似windows返回;列出目录下的所有文件,包括以 . 开头的隐含文件。-c 输出文件的 i 节点的修改时间,并以此排序。-d 将目录象文件一样显示,而不是显示其下的文件。以文件的扩展名(最后一个 . 后的字符)排序。-e 输出时间的全部信息,而不是输出简略信息。-m 横向输出文件名,并以“,”作分格符。显示除 “.”和“..”外的所有文件。-L 列出链接文件名而不是链接到的文件。
2023-08-31 16:16:23 5061
原创 Ubuntu入门03——Ubuntu用户操作
su root执行命令后,会提示你输入密码,而是没有设置root初始密码的。若su命令不能切换root,提示su: Authentication failure,只要你过一次之后,下次再su的时候只要输入密码就可以成功登录了。
2023-08-30 17:06:18 2703 1
原创 ubuntu入门01——windows上直接部署linux(WSL)
win10安装参考如下教程:说明:该文档是我按如上教程安装使用Ubuntu写的回顾,家人们参考官方教程更妙。
2023-08-29 21:57:05 1082
原创 ubuntu入门02——安装和使用anaconda
下载地址:Free Download | Anaconda 将下载完毕的anaconda文件拖到linux的home目录下的用户文件夹(zard)中:终端安装Anaconda:按如下打开linux终端:由于以上下载的anaconda文件为sh文件,因此win11的话直接win+r,输入cmd打开终端,按如下命令安装:2.验证安装是否成功输入以下命令可检查conda是否安装成功: 如此如下则安装成功。 如果提示说找不到或者conda命令无效,那就需要在.bashrc文件中添加如下代码(安装的
2023-08-29 12:04:19 182
原创 python数据分析05—Pandas数据处理
other:【DataFrame,或者带有名字的Series,或者DataFrame的list】如果传递的是Series,那么其name属性应当是一个集合,并且该集合将会作为结果DataFrame的列名。pd.concat()函数可以沿着指定的轴将多个dataframe或者series拼接到一起,这一点和另一个常用的pd.merge()函数不同,pd.merge()函数只能实现两个表的拼接。on:【列名称,或者列名称的list/tuple,或者类似形状的数组】连接的列,默认使用索引连接。
2023-07-22 17:33:32 362
原创 python数据处理方法——pkl格式文件
在 Python 编程中,我们通常需要将数据保存到文件中以便在以后的执行中使用。pkl 文件是一种常见的文件格式,它可以保存 Python 对象的状态,并且可以在需要时将其恢复到内存中pkl 文件是以二进制格式保存的。pkl 文件提供了一种简单而有效的方法来序列化和反序列化 Python 对象,使其易于存储、传输和共享。1.1 什么是 pkl 文件?pkl文件是指使用Python的pickle模块生成的二进制文件,用于将Python对象序列化到磁盘上。
2023-07-14 17:37:18 33581 4
原创 【python基础】python中的with关键字及其相关用法
with 语句实现原理建立在上下文管理器之上。上下文管理器是一个实现 __enter__ 和 __exit__ 方法的类。使用 with 语句确保在嵌套块的末尾调用 __exit__ 方法。这个概念类似于 try...finally 块的使用。总结with工作原理:(1)紧跟with后面的语句被求值后,返回对象的“–enter–()”方法被调用,这个方法的返回值将被赋值给as后面的变量;(2)当with后面的代码块全部被执行完之后,将调用前面返回对象的“–exit–()”方法。
2023-07-13 22:59:39 3011
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人