Python
文章平均质量分 75
一些Python学习笔记
哦豁灬
这个作者很懒,什么都没留下…
展开
-
ubuntu安装flash_attn
flash_sttn 依赖 cuda-11.6及以上的版本,使用命令。* 检查 pytorch 版本和 cuda 版本是否匹配。等架构的GPU,例如:A100、H100等,V100属于。,否则编译过程会持续很长时间,如果。来安装 flash_attn。查看 cuda 的版本,已经安装完毕,可以直接执行。* 即便是提前安装好了。* 另外,目前原生的。原创 2024-05-18 13:33:05 · 182 阅读 · 0 评论 -
sympy_python代数符号运算
SymPy 是一个符号计算的 Python 库,完全由 Python 写成,为许多数值分析,符号计算提供了重要的工具。它是一种计算机代数系统computer algebra system (CAS), 既可以用作单独的应用也可以作为其它的应用中的包。GitHub 链接:https://github.com/sympy/sympySymPy 官方网站:https://www.sympy.org/en/index.html。原创 2024-05-05 17:39:05 · 1053 阅读 · 1 评论 -
在 python 中调用 C/C++
Python 是一种很好用的胶水语言,利用Python的简洁和C++的高效,基本可以解决99%的问题了,剩下那 1% 的问题也就不是问题了,毕竟不是所有问题都可解。这里讨论前者,在 python 中调用 C/C++ 代码的方法很多,这里记录三种方法的使用。原创 2024-01-28 23:44:36 · 2417 阅读 · 1 评论 -
地平线旭日 X3 开发板上手体验
最近嫖到一块旭日X3开发板,借此熟悉地平线 AI 芯片旭日 X3 模型部署流程,以及算法工具链。这里基本是跟着进行操作,其中也遇到一些奇怪的问题。原创 2024-01-19 02:09:33 · 1198 阅读 · 0 评论 -
python 创建代理池
爬虫程序是批量获取互联网上的信息的重要工具,在访问目标网站时需要频繁发送请求,为了避免被目标网站封禁 IP 地址,我们需要使用代理 IP 来代替自己的 IP 地址进行访问。此时,就需要用到代理池。原创 2024-01-19 02:05:40 · 469 阅读 · 0 评论 -
预训练模型下载和使用
这也是为什么下载的时候,一定要保证这些名称是这几个,不能变。使用的基本原理也非常简单,from_pretrained的参数pretrained_model_name_or_path,可以接受的参数有几种,short-cut name(缩写名称,类似于gpt2这种)、identifier name(类似于microsoft/DialoGPT-small这种)、文件夹、文件。对于short-cut name或identifier name,这种情况下,本地有文件,可以使用本地的,本地没有文件,则下载。原创 2023-12-29 13:38:45 · 1339 阅读 · 0 评论 -
python 打包成 .so
python 打包成 .so。原创 2023-12-24 01:50:06 · 509 阅读 · 0 评论 -
memory_profiler python 代码内存性能分析
python 内存优化思路。可视化工具 mprof。原创 2023-12-24 01:47:03 · 426 阅读 · 0 评论 -
python 禁用 print 输出
有时候在调试代码的时候会打印一些 log,但是调试完又懒得一一去掉,可以通过控制。原创 2023-12-24 00:49:02 · 436 阅读 · 0 评论 -
python argparse bool 解析
python 的 argparse,对于输入全部都是按照字符串读取,即便设置了 type=bool,依然是按照字符串获取。因此不论该参数设什么值(True/False),只要设置了,都会被获取成非空字符串,后续转 bool 就都是 true 了。action类型参数 a 的值为 store_true,若命令行输入时不指定 a, 那么结果默认为 False,在命令行输入了。可以额外使用 action 参数,或者是添加一个 str2bool 的方法,来处理 boolean 的命令行参数。原创 2023-12-24 00:46:15 · 508 阅读 · 0 评论 -
Python TXT 文件读取(大文件、小文件、任意行)
当文件非常大的时候,需要读取文件的最后一行,或者是最后几行。如果使用前面小文件的两种随意的方法,会在空间和时间上有较大的成本。对于大文件,需要读取最后一行或者几行的时候,可以借助文件指针,通过从末尾开始倒着读取,并判断自己需要读取的行。原创 2023-04-06 01:03:49 · 789 阅读 · 1 评论 -
Python学习笔记20_命名空间和作用域
Python学习笔记20_命名空间和作用域文章目录Python学习笔记20_命名空间和作用域1、命名空间1.1、命名空间的查找顺序1.2、命名空间的生命周期2、作用域2.1、全局变量和局部变量2.2、global 和 nonlocal关键字1、命名空间命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过 Python 字典来实现的。(官方文档翻译)命名空间提供了在项目中避免名字冲突的一种方法。各个命名空间是独立的,没有任何关系的同一个命名空间内不能有重复的名称,原创 2022-05-23 11:11:35 · 246 阅读 · 0 评论 -
Python学习笔记19_异常处理
Python学习笔记19_异常处理文章目录Python学习笔记19_异常处理1、异常2、异常处理2.1、try/except2.2、try/except...else2.3、try-finally 语句3、抛出异常4、用户自定义异常5、with 关键字1、异常运行期检测到的错误被称为异常常见的异常:0 作为除数使用未定义变量……异常不同于语法错误,多数时候是由于逻辑错误或者内存错误引起。>>> 10 * (1/0) # 0 不能作为除数,原创 2022-05-23 11:10:10 · 287 阅读 · 0 评论 -
Python学习笔记18_面向对象
Python学习笔记18_面向对象1、面向对象简介类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写(即C++里面的重载)。原创 2022-05-23 11:08:40 · 274 阅读 · 0 评论 -
Python学习笔记17_进制表示及转换
Python学习笔记17_进制表示及转换文章目录Python学习笔记17_进制表示及转换1、进制表示2、进制转换2.1、十进制转二进制2.2、二进制转十进制2.3、二进制转八进制2.4、二进制转十六进制2.5、使用内置函数进行进制转换1、进制表示Python 中默认是十进制,二进制、八进制、十六进制在 Python 中的表示:a = 0b10101 # 以0b开头表示二进制 只能是0和1b = 0o157 # 以0o开头表示八进制 只能是0~7c = 34 # 默认是十进制d =原创 2022-05-23 11:07:42 · 3291 阅读 · 0 评论 -
Python学习笔记16_Python推导式
Python学习笔记16_Python推导式文章目录Python学习笔记16_Python推导式1、列表推导式2、字典推导式3、集合推导式4、元组推导式Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。Python 支持各种数据结构的推导式:列表(list)推导式字典(dict)推导式集合(set)推导式元组(tuple)推导式1、列表推导式格式:[表达式 for 变量 in 列表] [out_exp_res for out_原创 2022-05-22 11:04:18 · 123 阅读 · 0 评论 -
Python学习笔记15_文件I/O
Python学习笔记15_文件I/O文章目录Python学习笔记15_文件I/O1、File 方法1.1、open() 方法1.2、mode 参数2、file 对象1、File 方法1.1、open() 方法Python open() 方法用于打开一个文件,并返回文件对象,如果该文件无法被打开,会抛出 OSError;使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。open() 函数常用形式是接收两个参数:文件名(file)和模式(mode):open(fil原创 2022-05-22 11:03:32 · 174 阅读 · 0 评论 -
Python学习笔记14_迭代器与生成器
Python学习笔记14_迭代器与生成器文章目录Python学习笔记14_迭代器与生成器1、迭代器1.1、迭代器创建1.2、迭代器遍历2、生成器1、迭代器迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。1.1、迭代器创建# 列表创建迭代器>>> list=[1,2,3,4]>>> it = iter(list)原创 2022-05-22 11:02:38 · 110 阅读 · 0 评论 -
Python学习笔记13_模块
Python学习笔记13_模块文章目录Python学习笔记13_模块1、导入模块和的方法及使用2、分层的文件系统中常用的包结构3、OS 模块4、sys 模块5、math 模块6、random 模块7、datetime 模块8、time 模块9、zlib 模块10、glob 模块11、re 模块12、互联网访问相关 模块13、hashlib和hmac模块14、使用pip命令管理第三方库14.1、pip 命令使用14.2、永久更改默认下载地址15、自定义模块16、python 包16.1、包定义16.2、导入原创 2022-05-22 11:01:31 · 338 阅读 · 0 评论 -
Python学习笔记12_函数
Python学习笔记12_函数文章目录Python学习笔记12_函数1、函数定义2、函数调用3、函数的参数3.1、可更改对象和不可更改对象参数3.2、必需参数(位置参数)3.3、关键字参数3.4、缺省参数3.5、不定长参数4、函数的返回值5、参数类型建议6、匿名函数(Lambda 函数)7、强制位置参数8、函数调用9、递归函数10、全局变量和局部变量11、高阶应用12、装饰器12.1、装饰器语法结构12.2、装饰器原理12.3、装饰器的一个简单应用函数是组织好的,可重复使用的,用来实现单一,或相关联功原创 2022-05-22 10:45:35 · 847 阅读 · 0 评论 -
Python学习笔记11_集合
Python学习笔记11_集合文章目录Python学习笔记11_集合1、集合的创建与运算1.1、集合推导式2、添加元素2.1、使用 add() 方法2.2、使用 update() 方法3、移除元素3.1、使用 remove() 方法3.2、使用 discard() 方法3.3、使用 pop() 方法3.4、使用 clear() 方法4、计算集合元素数量5、判断元素是否在集合中存在6、集合内置方法集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创原创 2022-05-20 10:25:23 · 159 阅读 · 0 评论 -
Python学习笔记10_字典(Dictionary)
Python学习笔记10_字典(Dictionary)文章目录Python学习笔记10_字典(Dictionary)1、字典创建1.1、空字典创建2、访问字典里的值3、修改字典4、字典的删除操作5、字典的遍历6、字典推导式7、字典内置函数&方法字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中字典的值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的原创 2022-05-20 10:24:27 · 653 阅读 · 0 评论 -
Python学习笔记9_元组(Tuple)
Python学习笔记9_元组(Tuple)文章目录Python学习笔记9_元组(Tuple)1、修改元祖2、删除元祖3、元组运算符4、元组截取5、元组内置函数6、元组不可变Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号 ( ),列表使用方括号 [ ]。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。>>> tup1 = ('Google', 'Runoob', 1997, 2000)>>> tup2 = (1,原创 2022-05-20 10:12:58 · 573 阅读 · 0 评论 -
Python学习笔记8_列表(List)
Python学习笔记8_列表(List)列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。1、访问列表中的值与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。通过索引列表可以进行截取、组合等操作。索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。使用下标索引来访问列表中的值,同样你也可以使用方括号 [] 的形式截取字原创 2022-05-19 14:42:21 · 308 阅读 · 0 评论 -
Python学习笔记7_字符串(String)
Python学习笔记7_字符串(String)字符串是 Python 中最常用的数据类型。可以使用引号( ’ 或 " )来创建字符串。var1 = 'Hello World!'var2="name"1、访问字符串中的值Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python 访问子字符串,可以使用方括号 [] 来截取字符串,字符串的截取的语法格式如下:变量[下标] # 字符串中字符的访问变量[头下标:尾下标] # 子字符串的访问索引值以原创 2022-05-19 14:41:41 · 335 阅读 · 0 评论 -
Python学习笔记6_数字(Number)
Python学习笔记6_数字(Number)Python 数字数据类型用于存储数值。数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。在变量赋值时 Number 对象将被创建,也可以使用del,语句删除一些数字对象的引用:var1 = 1var2 = 10var3=1del var1del var2, var31、Python 支持三种不同的数值类型1)整型(int) :通常被称为是整型或整数,是正、负整数和零,不带小数点。Python3 整型是没有限原创 2022-05-19 14:39:38 · 128 阅读 · 0 评论 -
Python学习笔记5_循环语句
Python学习笔记5_循环语句循环语句允许我们执行一个语句或语句组多次Python 提供了 for 循环和 while 循环(在 Python 中没有 do…while 循环):循环类型描述while 循环在给定的判断条件为 true 时执行循环体,否则退出循环体。for 循环重复执行语句嵌套循环可以在循环体中嵌套循环循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:控制语句描述break 语句在语句块执原创 2022-05-18 09:28:29 · 393 阅读 · 0 评论 -
Python学习笔记4_条件语句
Python学习笔记4_条件语句Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。1、if……else语句Python 编程中 if 语句用于控制程序的执行:if 判断条件: 执行语句……else: 执行语句……"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。else 为可选语句,当需原创 2022-05-17 13:52:47 · 442 阅读 · 0 评论 -
Python学习笔记3_运算符
Python学习笔记3_运算符Python主要支持以下7中类型的运算符:算术运算符关系运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符1、算术运算符运算符描述+加 - 两个对象相加-减 - 得到负数或是一个数减去另一个数*乘 - 两个数相乘或是返回一个被重复若干次的字符串/除 - x除以y%取模 - 返回除法的余数**幂 - 返回x的y次幂//取整除 - 返回商的整数部分(向下取整)注:在Python2原创 2022-05-17 11:34:28 · 229 阅读 · 0 评论 -
Python学习笔记2_变量及数据类型
Python学习笔记2_变量及数据类型Python里的数据分为可变数据和不可变数据:可变数据:列表、集合、字典不可变数据:字符串、数字、元组可变数据:修改值,内存地址不会发生变化不可变数据:修改值,内存地址会发生变化使用id()函数可以查看变量地址:s=0print("变量s的地址为:{}".format(id(s)))1、数据类型1)数字类型:整数型(int)、长整型(long)(Python3中已经没有长整型了)、浮点(小数)型(float)、复数型(complex)2原创 2022-05-17 00:27:38 · 153 阅读 · 0 评论 -
Python学习笔记1_基础语法
Python学习笔记1_基础语法1、标识符标识符:变量、模块名、函数名、类名在 Python 里,标识符由字母、数字、下划线组成命名规则:由数字、字母和下划线组成,不能以数字开头严格区分大小写不能使用关键字命名规范:推荐三种常用命名方式小驼峰命名法:第一个单词的首字母小写,以后每个单词首字母大写 rememberToDoSth大驼峰命名法:每个单词首字母都大写 RememberToDoSth使用下划线连接 remember_to_do_sth注:1)以下划线开原创 2022-05-17 00:26:55 · 142 阅读 · 0 评论 -
利用短时傅里叶变换(STFT)对信号进行时频谱分析和去噪声
利用短时傅里叶变换(STFT)对信号进行时频谱分析和去噪声1、背景 傅里叶变换(TF)对频谱的描绘是“全局性”的,不能反映时间维度局部区域上的特征,人们虽然从傅立叶变换能清楚地看到一整段信号包含的每一个频率的分量值,但很难看出对应于频率域成分的不同时间信号的持续时间和发射的持续时间,缺少时间信息使得傅立叶分析在更精密的分析中显得很无力。傅里叶变换只反映出信号在频域的特性,无法在时域内对信号进行分析。另外,傅里叶变换的相位对于噪声非常敏感,很长的数据中哪怕是很小一段出错,通过傅里叶变换得到的相位也会与真是原创 2022-04-06 00:36:52 · 18581 阅读 · 3 评论 -
识别图片中曲线并获取其坐标
识别图片中曲线并获取其坐标github主页:https://github.com/Taot-chen有时候需要用到一些数据库里面曲线图的数据,进行进一步的变换处理,但是很多时候都只有图片,没有数据。基于这个问题,给出了以下算法。思路: 1)通过图像算法中常用的边界识别的方法来识别曲线; 2)根据曲线上每一点的像素坐标和坐标轴的数值范围,来计算曲线上每一个像素点在坐标轴中的像素坐标。实现过程:一、曲线识别1)图片预处理思路: 将待处理的图像转换成灰度图,在转换成二值图像;対二值图像的每一原创 2021-11-10 14:48:16 · 11479 阅读 · 12 评论 -
识别图片中的圆形并求所有圆形的平均半径
识别图片中的圆形并求所有圆形的平均半径github主页:https://github.com/Taot-chen思路: 1)对图片进行预处理; 2)利用opencv,借助霍夫梯度法识别图像中的圆形; 3)在原图像中标记出识别到的圆形,并计算识别到的圆的平均半径。实现过程:待识别图像:[(img-emAPbVYq-1636440956355)(“图片路径”, “待识别图像”)]一、图像预处理思路: 对图像进行epf边缘滤波,减小圆形识别的干扰;将图像转换成灰度图像。具体实现:epf边原创 2021-11-10 14:47:34 · 1999 阅读 · 2 评论 -
Python Tips
Python 的一些小技巧总结github主页:https://github.com/Taot-chen一、Python 多文件编程1、源代码放在同一文件夹例如: 在同一个文件夹中,新建两个文件:test.py,main.py 在 test.py 里面定义一个 class 类,然后在 main.py 里面调用 test.py 里面定义的方法和类:#test.py文件 class student: def __init__(self,name,age):原创 2021-11-09 14:26:26 · 1251 阅读 · 0 评论 -
Python 数据降噪处理的四种方法——均值滤波、小波变换、奇异值分解、改变binSize
Python 数据降噪处理的四种方法——均值滤波、小波变换、奇异值分解、改变binSizegithub主页:https://github.com/Taot-chen一、均值滤波1)算法思想 给定均值滤波窗口长度,对窗口内数据求均值,作为窗口中心点的数据的值,之后窗口向后滑动1,相邻窗口之间有重叠;边界值不做处理,即两端wid_length//2长度的数据使用原始数据。2)Python实现'''均值滤波降噪: 函数ava_filter用于单次计算给定窗口长度的均值滤波 函数den原创 2021-11-09 14:45:50 · 41841 阅读 · 16 评论