- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 EEG-DL(GitHub项目部分学习)
当num_classes = 4时,NUM_TRIALS = 21 * 4 = 84。[1, 5, 9, 13, 17, 21, 2, 6, 10, 14, 18, 22, 3, 7, 11, 15, 19, 23, 4, 8, 12, 16, 20, 24]一通道的所有数据。[1, 5, 9, 13, 17, 21, 2, 6, 10, 14, 18, 22, 3, 7, 11, 15, 19, 23, 4, 8, 12, 16, 20, 24]一通道的所有数据。
2024-08-08 19:59:25
695
原创 python的with语句
在 Python 中,with语句用于创建一个上下文管理器,以更简洁和安全的方式管理资源。其主要优点是可以确保在代码块执行完毕后,相关资源能够被正确释放或清理,即使在代码块内部发生了异常。以下是一个使用with在上述代码中,返回一个文件对象,它实现了上下文管理器协议。当进入with代码块时,文件被打开;当退出代码块时,无论是正常退出还是因为异常退出,文件都会被自动关闭,无需手动调用方法。一些常见的库和模块也提供了支持with语句的上下文管理器,比如数据库连接、锁等。例如,使用sqlite3。
2024-07-18 20:35:03
505
原创 python的mixin设计模式
在 Python 中,mixin 是一种设计模式,它是一个包含了特定功能单元的类,这些功能可以被其他类组合利用,这些功能可以被其他类组合利用,以实现代码的复用和功能扩展。mixin 类通常不被单独实例化,也不作为其他类的唯一父类,而是通过多重继承与其他类结合使用。子类可以根据需要组合继承不同功能的 mixin 类,从而在不修改源代码的情况下扩展已有类的功能。例如,假设有一个然后可以定义其他类,并通过继承来获得日志记录功能:在上述示例中,MyClass继承了的log方法,无需在MyClass。
2024-07-18 19:16:07
1014
原创 python的super函数
按照方法解析顺序(Method Resolution Order,MRO)来查找父类中的方法。MRO 决定了在多继承情况下方法的查找顺序。的行为可能会变得复杂,需要特别小心 MRO 的影响,以避免意外的结果。这样就实现了在子类的初始化方法中同时执行父类的初始化操作。来调用父类的初始化方法,以确保父类的属性和设置正确初始化。用于在子类中调用父类的方法。方法覆盖:当子类覆盖了父类的方法时,可以使用。来调用父类被覆盖的方法,以扩展或补充其功能。方法,然后再执行子类中的后续代码。多重继承:在多重继承的场景中,
2024-07-16 14:50:23
210
原创 python的自省机制(改bug有用)
在 Python 中,自省(Introspection)机制是指程序在运行时能够获取自身的信息,例如对象的类型、属性、方法等。自省机制使得 Python 程序具有很高的灵活性和动态性,可以在运行时根据对象的信息进行动态的决策和操作。这个字典包含了实例自身定义的属性及其对应的值,不包括从父类继承的属性。是一个常见的条件判断,用于确保以下的代码仅在当前脚本作为主程序运行时执行。总的来说,这段代码主要演示了类的继承、实例的创建以及通过。时,传递的参数 "慕课网" 被赋值给了实例属性。类的类属性,并且可以被。
2024-07-14 21:06:54
485
原创 python的私有属性和数据封装
实际上,私有属性会被重命名为。总的来说,封装强调的是将数据和操作数据的方法组合在一起,并控制对数据的访问和修改,私有属性在实现这种控制方面起到了重要作用,但公共属性的合理使用和管理也是封装的一部分。封装的目的是将数据和操作数据的方法封装在一个类中,只通过公共方法来提供对外的接口,以控制对数据的访问和修改,提高代码的可维护性和可扩展性。总的来说,私有属性和公共属性都是类的属性,用于描述类的状态,但私有属性提供了更严格的访问控制,有助于实现良好的封装和代码设计。是公共属性,可以在类的外部直接访问和修改,如。
2024-07-14 20:45:06
672
原创 SHAP(SHapley Additive exPlanations)算法
通过 SHAP 值,可以了解每个特征对模型预测结果的影响程度和方向,从而提高模型的透明度和可解释性。SHAP 算法将每个特征值对模型输出的贡献视为一种“公平”的分配,确保了每个特征值的贡献是其应得的份额。SHAP 算法的核心思想是将模型的输出分解为各个特征的贡献和。对于给定的预测,它通过考虑所有特征值的排列组合,计算每个特征值对预测结果的贡献。SHAP(SHapley Additive exPlanations)算法是一种用于解释机器学习模型的方法,它基于博弈论中的 Shapley 值。
2024-07-12 00:21:16
610
原创 python的类变量和实例变量
另外,在多继承中,如果多个父类有相同的方法名,可能会导致方法的调用具有一定的不确定性,并且可能出现一些复杂的情况。Python 3 中,多继承的查找顺序是广度优先,即从左到右,先在同一级的父类中查找,然后再向上一级查找,直到找到所需的方法或属性,或者到达。在 Python 中,当访问属性时,会先查找实例属性,如果实例中没有该属性,再去查找类属性。当通过实例访问一个属性时,如果实例中没有该属性,会自动到类中查找对应的类属性。实例变量的查找会先在实例自身的属性中查找,如果没有找到,会去类中查找类变量。
2024-07-11 13:03:58
784
1
原创 python的isinstance和type
函数用于检查一个对象是否是某个类或由某个类派生出来的类的实例。它可以接受一个对象和一个类(或者由多个类组成的元组)作为参数。它们都与对象的类型信息有关,用于在编程中确定对象的类型特征。都用于检查对象的类型,但它们有一些区别和联系。,因为一个对象肯定是它自身实际类型的实例。函数直接返回对象的类型。会返回该对象的确切类型。会返回一个布尔值,表示。在 Python 中,
2024-07-10 20:06:55
168
原创 python的抽象基类
就像上面说的“动物”抽象基类规定了要有“吃”和“睡”的能力,那么继承它的子类,比如“狗”“猫”“牛”等等,都得有这两个能力,这样就保证了大家都遵循同样的规则,代码写起来更整齐、更有条理。比如说,您有一堆不同的类,有的是“动物”的子类,有的不是。和接口的概念有点像,接口也是规定了一些方法,但在 Python 里没有像其他语言那样明确的“接口”概念,抽象基类在一定程度上起到了类似的作用。再比如说和继承的关系,子类继承抽象基类,就得按照抽象基类定的规矩把那些没写具体的方法给补充完整,不然子类也不能正常工作。
2024-07-10 19:41:12
352
原创 Python的多态
简单来说,多态允许使用一个统一的接口来操作不同类型的对象,而这些对象会根据自身的类型来执行相应的具体操作。换句话说,在使用对象时,不关注对象的类型,而是关注对象是否具有所需的方法和属性。方法,但不同的子类对象会根据自己的实现计算并返回不同的结果,这就是多态的体现。其理念是:如果一个对象的行为(方法和属性)看起来像鸭子,走路像鸭子,叫声像鸭子,那么我们就可以把它当作鸭子。这种编程风格强调的是对象的行为,而不是对象的类型,使得代码更加灵活和可扩展。然后,可以创建这些不同形状的对象,并通过相同的方式调用。
2024-07-07 19:48:10
405
原创 Python魔法函数(Magic Methods简介
在这段代码中,`42` 这个值的传递关系如下: 当创建对象 `my_object = MyClass(42)` 时,`42` 作为参数被传递给了 `MyClass` 类的 `__init__` 方法。当执行 `str(my_object)` 或 `print(my_object)` 时,会调用 `__str__` 方法,在 `__str__` 方法中通过 `self.value` 访问到了之前存储的 `42` 值,并将其用于生成返回的字符串 `My value is 42`。
2024-07-07 17:57:55
1093
原创 嵌入式底层系统了解
最后,在开发板上电启动后,通过串口查看内核的启动信息,检查是否能正确识别硬件设备,处理可能出现的错误,如驱动加载失败、内存分配异常等,以完成整个调试过程。在 Linux 系统移植过程中,交叉编译环境是指在一个平台(通常是主机,如 x86 架构的 PC)上生成能够在另一个不同架构的平台(目标平台,如 ARM、MIPS 等)上运行的代码的编译环境。例如,如果要将 Linux 移植到一个嵌入式设备上,可能会制作一个精简的根文件系统,只包含该设备运行所需的最基本的命令和配置,以节省存储空间和提高系统启动速度。
2024-07-04 22:00:49
589
原创 STFT短时傅里叶变换MTLAB简析
FFTLength’参数默认为128的DFT点数,设置时要与窗函数比较,一定要大于或等于窗函数长度,否则会出现数值bug,而且难以被发现。短时傅里叶变换的结果矩阵s的行数与参数‘FFTLength’等同。如果信号x有Nx个时间样本,短时傅里叶变换的结果矩阵s有k列;k的计算方式如图所示,M是窗函数的长度,L是重叠长度。此符号是向下取整符号。
2024-07-03 16:58:34
134
原创 搜索python包的说明
当我发现bug时,就怀疑是sns包的版本问题了(原代码是原作者以前成功运行的代码),于是直接到网上搜,找到对应的说明文档。
2024-06-21 17:34:50
211
原创 jupyter notebook的markdown语法不起作用
在这个界面编辑,发现markdown你编辑的是什么就是什么,不起作用,然而点一下:
2024-06-21 14:19:26
487
原创 巴特沃斯滤波器的设计
**边界处理**:`filtfilt`在处理信号的边界时,会采用特殊的方法来减少边界效应。- **相位特性**:由于`filtfilt`采用了零相位滤波,因此它可以保持信号的相位信息不变,滤波后的信号在时域上没有延迟。其中,`Wp`和`Ws`分别是通带和阻带的截止频率,`Rp`和`Rs`分别是通带和阻带的波纹系数(单位为分贝)。5. **Bode图**:一种特殊的频率响应图,分为Bode幅度图和Bode相位图,幅度图以对数尺度展示频率,相位图展示不同频率下的相位变化。
2024-06-20 19:36:29
903
原创 kaggle notebook和jupyter notebook读取csv
kaggle本地比赛用打开notebook的示例代码可以获取当前比赛的文件数据路径,进而后续直接复制读取。直接下载数据集到电脑上,并用本地路径读取就行。jupyter notebook读取csv。
2024-06-18 23:50:02
278
原创 jupyter使用的一个奇怪bug——SyntaxError: invalid non-printable character U+00A0
Cell In[5], line 1 warnings.filterwarnings('ignore') ^ SyntaxError: invalid non-printable character U+00A0 单元格 In[5],第 1 行 warnings.filterwarnings('ignore') ^ SyntaxError:无效的不可打印字符 U+00A0。将光标放在每一行的后面空白处点一下,会发现报错该行的光标会离原有代码有个间隔:这个就是离谱报错的原因,手动删掉就好了。
2024-06-18 19:59:28
571
1
原创 python入门的一点基本概念
当调用animal_sounds函数时,我们传入不同类型的动物实例(dog和cat),由于方法重写(override)的特性,根据对象的实际类型,将调用相应类的make_sound方法,展示了多态的概念。虽然每种动物的 eat() 方法可能表现不同的行为,例如狮子吃肉、大象吃草,但我们可以用相同的方式调用它们的 eat() 方法。在子类中,通过使用 super().__init__(name) 这样的语法,可以调用父类的构造函数(__init__ 方法),从而继承父类的属性和行为,并初始化父类的部分内容。
2024-06-17 23:40:47
388
原创 注意力机制的一些基本概念
为了数值计算的稳定性,TensorFlow提供了一个统一的接口,将Softmax与交叉熵损失函数同时实现,同时也处理了数值不稳定的异常,使用TensorFlow深度学习框架的时候,一般推荐使用这个统一的接口,避免分开使用Softmax函数与交叉熵损失函数。因此,查询向量、键向量和值向量三者共同工作,通过计算相似度、关联性和加权平均,帮助模型更好地理解输入数据的内在结构,捕捉关键信息,并产生有代表性的输出。最终,在多头注意力机制中,多个头的输出会被整合起来,形成最终的编码或解码表示。
2024-05-20 12:57:32
923
原创 Windows画图软件小妙用
比如你想在别人的图片上进行亿点点痕迹性的消除时,但又不想破坏原有整体架构时,选择提取器(像钉子的那个就是)点一下你想吸取的颜色(比如背景色),然后你就可以去随便涂抹掉原有图片上你觉得“多余”的部分了。当你想进行一些“技术性”的修改时,但又不想麻烦安装其它软件时,自带的画图软件就成了优选。
2024-05-15 22:48:33
230
原创 回归分析(一)
题外语:眼光是最重要的,当下什么是被淘汰的,什么是有前景的,生命周期是多少?这大概是做抉择最重要的。沿当前曲线所在点切线方向下山最快,切点处梯度为正,下山则取反方向,则为梯度下降。是使似然函数最大时最小的函数项,可叫损失函数(loss function)利用正则化选择一个稳定的模型,即模型系数之间变化不大,更加稳定。偏置项相当于一次线性函数坐标轴上的截距,和误差项不是一个东西。岭回归加入的是平方项,Lasso回归加的是绝对值。统计名词联系生活实际含义举例。
2024-04-30 21:01:04
74
原创 使用git管理和备份文件
此命令的作用是将最后一次提交的版本覆盖到工作区(即除了git文件以外的文件夹区域)前提是在git官网上安装好git后,再在文件夹里按上图操作和备注 .
2024-04-21 23:24:52
193
原创 python在PyCharm、VScode中遇到ModuleNotFoundError以及jupyter note的使用
在 Windows 系统中,默认情况下,JupyterLab 可能会安装在 Python 的 Scripts 目录中。:在命令提示符中,尝试切换到 Python 的 Scripts 目录(假设 JupyterLab 安装在此处),然后手动运行 JupyterLab。如果安装过程未显示任何错误信息,可以认为 JupyterLab 已经被成功安装。官网的网页版一时不用可能会断线,需要重启,在类似VScode的编辑器中可能会稳定一些。下载的版本可能是jupyter-lab,如果出现安装问题,可能是少了这个-
2024-04-21 14:26:24
613
原创 两轮平衡车的PID控制matlab仿真
基于PID控制和人工调谐的两轮自平衡机器人三维模型matlab simulink仿真建模。simulink仿真图。
2024-04-16 18:02:49
711
原创 卸载一个软件(以VScode为例)
大部分人做到这一步就没了,实际上,检查一下是否设置了隐藏文件。控制面板处找到卸载软件。删除掉插件vscode。
2024-04-14 14:06:59
183
原创 电路(丘关源)5版(二)(第一原理版)
互感系数即M,例如第二个方程u2,先看另一端即左端电流从同名端流入,对应右端同名端极性也为正,再与本来电压极性比较,相同M为正,不同M为负。元素11是指回路1与支路1关联,且方向同,因而为1,元素12是指回路1与支路2不关联,因而为0;左第一个圆圈--基本割集{3,1,2}:1,2支路均流进,取负;立体地割,每一条树支对应一个基本割集和闭合曲面,流出闭合曲面取正,流入闭合曲面取负;B的行对应回路,回路1,2,3,4……回路{2,1,4,6};上图中,3,6,5三个树支构成一个树,其余为连支。
2024-03-19 23:07:05
343
原创 电路(丘关源)5版(一)(第一原理版
进而两个5A的电流源并联成一个10A的电流源,3Ω与6Ω的电阻并联等效成2Ω,即2Ω与10A电流源并联等效为10×2=20V电压源与2Ω的串联。(2)结合支路电流法的理解,即多少个未知量需要多少个方程,因而KVL的独立方程数是支路数(电流数即未知量数)-KCL的方程数。支路电流法:以支路电流为未知量根据KCL、KVL列出的独立的节点电流方程和回路电压方程,从而求出各支路电流。电流源串联电阻=电流源;端口网络内是线性电阻,端口网络外只接一个激励源,激励源置零(电压源短,电流源开)整个电路拓扑结构不变。
2024-01-20 16:24:08
1019
原创 关于简单DIY PCB板供电的问题
案例1:蓝牙模块通过单独供电的stm32103C8T6的3.3v供电没有问题,但是如果用电源给单片机的3.3v,5v供电,单片机不再使用其它电源(如USB,ST-link),发现连接的所有3.3v均降到2.7v,蓝牙模块无法正常工作。案例2:使用FM116B时,其gnd有0.2v的电压,而其一路输出为2.9v时,另一路输出为0.2-0.5v不等,个人觉得时两路输出都是受到了干扰,一路不该这么低,一路应该为0,这样才能实现正反转,输出起码为3v的压差。如果必须要连接多个节点,可以通过电容的方式隔离。
2023-04-30 10:48:01
1546
原创 如何将word人名制成表格
做成表格,再将横向表粘贴到excel上,再从excel复制并选择性粘贴。选中所有名字,找到插入--表格--文本转换为表格。注意这里是用顿号隔开,其它符号甚至空格也行。选择其它字符,输入顿号或其它符号。人名:张三、李四、王五。勾选转置,得到竖向表格。
2023-02-23 12:35:01
1956
转载 CAD增强属性编辑器的使用
b”改成建施1“。这个时候读者应该知道了吧,然后你可以把此块多个复制,双击其中的两个“值”,是可以输入自己想要的内容的,而不会改变前面块的内容,不像直接的块一样,改了其中一项,后面复制的块都会改变,这样我们就可以在图框中添加多个att命令,放到多个位置,在定义成块,修改其中的图名、图号什么的。下面要进行的步骤是,把图框和“1”“2”都选中,定义成块(块命令为“b”),定义成块后会出现如下对话框,在这个对话框中,左侧是“提示”项中的内容,右侧输入框中的内容为“默认”项中的内容,然后确定或关闭此对话框。
2022-09-05 11:31:18
14008
原创 verilog偶校验码实现
例如原来数据(加校验位之前是七位),通过对1的个数的判断,比如采用奇检验,添上一位o或1,使此时的八位二进制数1的个数为奇数个,偶检验相反。发送端传输字节8’bx0111010;x是校验位,使用奇校验,因为字节中有效数据位中1的个数为4位,所以x位填1,是字节满足1的个数为奇数。快速确定校验位缩位异或运算符^, bits = 7’b0111010; 因为 ^bits = 0; 所以 x = 1’b1; 此处若bits中有5个1,^bits1 = 1; 那么x=1’b0;接收端奇校验对接收的字节
2022-05-28 21:33:03
284
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人