![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python相关学习
文章平均质量分 57
Python编程记录
RuiH.AI
学习ing
展开
-
Pytorch 梯度计算,叶子节点,requires_grad,detach
本篇记录pytorch中梯度相关内容,叶子节点定义与detach的使用。原创 2022-11-14 14:23:30 · 1457 阅读 · 0 评论 -
pytorch: hook机制,取网络层的输入输出和梯度
本篇记录在pytorch中,通过hook机制将网络某层的输入输出和梯度取出。原创 2022-11-13 17:28:39 · 2537 阅读 · 0 评论 -
python: print输出到文本文件中;赋值语句的执行流程
本篇记录python中使用print输出到文本文件中,以及python中赋值语句的执行流程。原创 2022-11-13 15:04:56 · 4328 阅读 · 0 评论 -
matplotlib show, ion, ioff, clf, pause的作用
matplotlib画图时经常涉及ion, ioff, pause, show这几个函数的作用,这里记录一下。原创 2022-11-12 20:42:41 · 3685 阅读 · 0 评论 -
Numpy:连续索引元素赋值失败的问题
最近用numpy做索引赋值时,发现了一个连续索引的问题,记录一下。原创 2022-11-12 19:56:21 · 1368 阅读 · 0 评论 -
opencv-python QObject::moveToThread报错; 4.6.0.66版本无代码补全;Matplotlib plt.show()无显示
意思是QT没有加载到libqxcb这个插件,即使找到了它。opencv4的imshow函数是使用QT绘制窗口的。最简单的解决方法就是直接降级,opencv原创 2022-10-27 15:55:49 · 2166 阅读 · 0 评论 -
Python: RGBD转点云
本篇记录Python将RGBD图像转点云的方法。原创 2022-09-30 17:28:59 · 2006 阅读 · 0 评论 -
Python: RANSAC随机一致性原理与实现
最近要把点云平面做分割,想到可以使用RANSAC做平面拟合。以前经常在图像配准里使用RANSAC做单应性计算,这里记录一下RANSAC的原理以及使用RANSAC拟合平面直线的方法。原创 2022-09-29 21:03:40 · 1720 阅读 · 0 评论 -
Python: 使用pytest进行代码测试
本篇记录使用pytest对python工程进行测试的方法。一般而言,一个完整的python项目需要把暴露出的接口进行测试,pytest是一个写测试用例的工具。原创 2022-09-02 16:37:28 · 1282 阅读 · 0 评论 -
Python: 使用logging模块替代print
之前写python经常用print()函数来打印中间信息和变量,如果使用logging可以更明确的输出信息的重要级。原创 2022-09-01 22:28:39 · 1112 阅读 · 1 评论 -
Python: 在函数中使用全局变量
本篇记录一个python问题,在函数中使用全局变量。原创 2022-07-30 16:15:32 · 8857 阅读 · 0 评论 -
Python: 使用sphinx生成python项目文档
本篇记录使用sphinx生产成python项目文档的方法。原创 2022-07-24 22:55:53 · 843 阅读 · 0 评论 -
Python numpy使用记录6.numpy拼接操作,concatenate,stack,hstack,vstack,c_,h_
本篇记录一下numpy中常用的几种拼接方法。原创 2022-07-24 16:25:01 · 515 阅读 · 0 评论 -
python: namedtuple使用; numpy保留两位小数
出差了一周,现在记录一下出差前写码的两个pythontricks。原创 2022-07-21 15:58:19 · 3918 阅读 · 0 评论 -
pybullet机器人仿真环境搭建 5.机器人位姿可视化
本篇记录一下如何在pybullet中可视化机器人的位姿。pybullet提供了在仿真环境中添加点线文本的api,比如等,并返回这些点线的id,可用于后续的删除修改。这里我写了一个画物体坐标系的函数,来可视化位姿,代码应该很容易懂:代码例程把上面的函数与上一篇pybullet环境的博客结合,给出机器人当前的位姿:可视化效果如下:需要注意,画线操作和删除线操作都会严重影响pybullet引擎的运行速度,实际感觉一卡一卡的。...原创 2022-06-20 16:33:47 · 1367 阅读 · 1 评论 -
Ubuntu18 在anaconda python3.8环境下安装python-pcl
github上python-pcl仓库中声明的linux系统环境要求是pcl原创 2022-06-07 14:53:45 · 1676 阅读 · 2 评论 -
Debug: python报错 ‘time‘ has no attribute ‘clock‘
错误日志在python3.8中使用time包计时,报函数不存在:解决方法其实早在python3.3中time的clock模块就被废弃了,并且在python3.8中被彻底删除:用于返回当前的CPU时间,以达到计时的效果,使用方法类似于。现在可以使用来替换原先的,问题解决。...原创 2022-06-07 14:28:47 · 907 阅读 · 0 评论 -
python: 使用os.system为文件批量建立软连接
import osroot_path = os.path.abspath('./')source_dir = os.path.join(root_path, 'trainvaltest')target_dir = os.path.join(root_path, 'scenes')for f in os.listdir(source_dir): for ff in os.listdir(os.path.join(source_dir, f)): source = os.pat原创 2022-05-17 14:38:56 · 1507 阅读 · 0 评论 -
Debug: Minkowski undefined symbol; Tensorboard has no attribute ‘version‘
Debug: Minkowski undefined symbol; Tensorboard has no attribute ‘version’原创 2022-05-16 20:12:18 · 879 阅读 · 2 评论 -
Python numpy使用记录5.生成球面斐波那契网格
Python numpy使用记录5.生成球面斐波那契网格前言斐波那契网格公式代码前言本篇学习使用numpy生成球面斐波那契网格。斐波那契网格公式对于一个球体,要在球体表面上均匀选取N个点,就可以使用斐波那契网格公式:zn=r(2n−1N−1)xn=r1−zn2⋅cos(2πnϕ)yn=r1−zn2⋅sin(2πnϕ)ϕ=5−12z_n = r(\frac{2n-1}{N} - 1) \\ \quad \\x_n = r\sqrt{1-z_n^2}\cdot \cos(2\pi n\phi)原创 2022-05-10 15:41:36 · 1128 阅读 · 0 评论 -
Python numpy使用记录4.逻辑运算,与或非,异或
Python numpy使用记录4.逻辑运算,与或非,异或前言numpy的逻辑运算函数与或非异或numpy逻辑运算符前言最近写码碰到一个问题,有a,mask_1,mask_2,mask_3四个同shape的array,其中a是待索引的目标数组,mask123中的元素则是bool值,表示该位置是否满足提取条件。我们现在要提取a中同时满足mask123的元素,因此需要使用numpy的逻辑运算,与或非。numpy的逻辑运算函数与或非numpy.logical_and(),numpy.logical_o原创 2022-05-10 14:53:59 · 8853 阅读 · 0 评论 -
Dice Loss损失函数
Dice Loss损失函数前言Dice系数Dice Loss代码前言本篇记录一个语义分割的常用损失函数,Dice LossDice系数Dice系数用于衡量两个样本之间的点的相似度,公式如下:S=2∣X∩Y∣∣X∣+∣Y∣S=\frac{2|X\cap Y|}{|X| + |Y|}S=∣X∣+∣Y∣2∣X∩Y∣其中,X∩YX\cap YX∩Y表示XY样本之间的交集,||表示元素个数,分子的系数为2,因为分母的计算实际上把交集重复计算了两次。Dice LossDice Loss实际上就是D原创 2022-05-10 08:53:03 · 3535 阅读 · 0 评论 -
python 类property装饰器, setter,getter使用
python 类property, setter,getter使用前言property装饰器类属性getter类属性setter,deleterproperty函数前言本篇学习一下python中property装饰器,setter,getter的使用property装饰器python类中,property装饰器用于将方法转换成同名只读属性,被装饰的方法可以像成员一样调用,例如:class TestClass(object): def __init__(self, value):原创 2022-05-03 11:06:50 · 1997 阅读 · 0 评论 -
python 列表生成式的使用,list重复元素查找
python 列表生成式的使用,list重复元素查找前言列表生成式list循环列表生成式list重复元素查找前言本篇记录Python中列表生成式的使用,以及列表中重复元素的查找。列表生成式list循环假如有一个列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我们想找出list中大于5的元素,最简单的方法是用list做循环:l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]s = []for a in l: if a > 5: s.append(原创 2022-04-14 08:55:52 · 3688 阅读 · 0 评论 -
pybullet机器人仿真环境搭建 4.镜头跟随移动机器人,在机器人上设置图像传感器
pybullet机器人仿真环境搭建 4.镜头跟随移动机器人,在机器人上设置图像传感器前言建立仿真环境镜头跟随移动机器人在机器人上设置图像传感器获取伪相机的位姿获取伪相机的投影参数从相机位姿与投影参数获得图像完整代码前言本篇继续记录在pybullet环境中配置机器人,包括让镜头跟随机器人,在机器人上设置图像传感器。建立仿真环境第一步仍然是建立仿真环境,我把上次运动的r2d2环境放到这来:import timeimport numpy as npimport pybulletimport py原创 2022-04-12 12:07:45 · 2355 阅读 · 0 评论 -
pybullet机器人仿真环境搭建 3.让机器人运动起来,检测物体的碰撞状态
pybullet机器人仿真环境搭建 3.让机器人运动起来,检测物体的碰撞状态前言搭建环境,载入模型让机器人运动获得机器人各关节信息控制关节碰撞检测AABB碰撞检测获得AABB框检测AABB框的交并情况完整代码前言前两篇记录了pybullet中的基础环境搭建和模型载入。本篇记录在pybullet中让模型运动起来,并检测与其它物体的碰撞状态。搭建环境,载入模型第一步仍然是建立pybullet环境,并载入pybullet_data自带的r2d2模型,此外再加载一个自带的正方体和球体模型:if __na原创 2022-04-12 09:44:26 · 5587 阅读 · 8 评论 -
Python numpy使用记录3.数组元素筛选,np.where
Python numpy使用记录3.数组筛选切片,np.where前言np.where的使用1.筛选替换2.筛选提取前言如果我想提取数组中大于某个阈值的所有元素,可以使用数组筛选后提取。本篇记录数组筛选的方法,np.wherenp.where的使用np.where是numpy中用于元素筛选的函数,有两种使用方法。1.筛选替换函数原型:np.where(condition, x, y),condition表示数组与筛选条件,x表示满足条件的替换值,y表示不满足条件的替换值,函数返回替换矩阵(同维原创 2022-04-11 11:14:26 · 9541 阅读 · 2 评论 -
Python numpy使用记录2.数组索引与切片,...的作用
Python numpy使用记录2.数组索引与切片前言数组索引索引获得单个元素索引获得单个数组list索引数组切片:索引切片多维切片索引+切片list索引+切片...的作用前言本篇记录numpy数组的索引和切片方法。数组索引需要获取numpy数组中的元素,可以采用[index]索引的方法,其中index是每一维度的索引,下标从0开始,到n-1结束(类似C++数组索引)。索引获得单个元素当索引的维度与数组维度相同时,索引获得的是单个元素的值:import numpy as npa = np.原创 2022-04-10 23:01:46 · 944 阅读 · 0 评论 -
Python numpy使用记录1.数组计算的broadcasting机制
Python numpy使用记录1.数组的broadcast机制前言numpy数组计算broadcasting机制shape要求broadcast说明前言本篇开始记录一些使用numpy时的技巧。numpy事实上已经成为了python的数据处理包。不过有的numpy操作不大好理解,也容易遗忘。这里的记录是为了增加记忆。numpy数组计算首先记录一下numpy数组的基础。numpy的基本数据结构是np.ndarray,是多维的张量,np.ndarray由标量构成。numpy的标量与python内置的原创 2022-04-10 12:10:51 · 700 阅读 · 0 评论 -
Python 函数参数列表中,*与**的意义
Python 函数参数列表中,*与**的意义前言起因python函数定义普通的参数列表默认参数参数列表中的`*args, **kwargs`列表只有`*args`列表只有`**kwargs`列表中有`arg, *args, **kwargs`前言本篇记录一下python函数的参数列表中,*,**的意义起因python最强大的特性之一,就是琳琅满目的第三方库以及pip install xxx超简单的安装包方法。但是有的第三方库,提供的函数方法非常的“简洁”,比如matplotlib包中,绝大部分函数原创 2022-04-09 13:22:35 · 783 阅读 · 0 评论 -
Python 使用argparse设置运行参数
Python Argparser设置运行参数前言argparse包使用1 创建ArgumentParser对象2 为ArgumentParser对象添加运行参数项3 解析ArgumentParser对象,获得argparse.Namespace对象4 全过程5 参数项说明使用解析后得到的argparse.Namespace对象前言本篇记录一下在python中使用argparse设置运行参数。argparse是python自带的包argparse包使用argparse包的使用如下:1 创建Arg原创 2022-04-08 17:18:26 · 3899 阅读 · 2 评论 -
pybullet机器人仿真环境搭建 2.载入.urdf, .obj格式的模型
pybullet机器人仿真环境搭建 2.载入.urdf, .obj等格式的模型前言创建仿真环境载入urdf格式模型载入obj格式模型运行效果前言本篇记录在pybullet中载入.urdf和.obj格式的模型。创建仿真环境还是根据上篇的流程,连接服务端、加载资源路径、关闭渲染和GUI、设置重力、实时仿真:import timeimport pybulletimport pybullet_dataif __name__ == '__main__': client = pybulle原创 2022-04-04 21:08:40 · 5140 阅读 · 7 评论 -
pybullet机器人仿真环境搭建 1.安装pybullet,测试官方示例,基础环境搭建
pybullet机器人仿真环境搭建 1.安装pybullet前言安装测试官方示例基础环境搭建导入pybullet创建服务端(可选)配置图形GUI添加资源路径设置重力加载模型迭代运行关闭服务端基础环境代码前言ROS + Gazebo应该是目前最常用的机器人仿真环境,但在gazebo中进行重复实验、记录数据是很麻烦(重置模型状态、渲染都很费时间),不适合快速验证DL、RL算法。pybullet + gym应该是目前最常见的机器人强化学习仿真环境了,本篇开始学习搭建自己的pybullet仿真环境。安装首原创 2022-03-22 16:44:44 · 11581 阅读 · 5 评论 -
python: datetime包,获得当前日期时间
python: datetime包,获得当前日期时间前言datetime类strftime按指定格式输出字符前言本篇记录一下,在python中使用datetime包获取当前日期时间的方法。datetime类datetime是python内置的一个组件包,datetime包中有一个datetime类,还有一个now()方法用于获取当前的时间的datetime对象:import datetimenow = datetime.datetime.now()print(now) # 2022-03-2原创 2022-03-20 18:50:29 · 11393 阅读 · 0 评论 -
python: memory_profiler包,记录代码内存使用情况,查找内存泄漏原因
memory_profiler:记录python的内存使用,查找内存泄漏原因前言安装简单使用记录时间-内存的使用情况前言最近用paddlepaddle,发现训练每个epoch时,内存都会增加几百兆,这明显就是出现了内存泄漏。python中内存泄露的原因比C++(一般就是动态内存分配)更加隐蔽,可以借助memory_profiler这个包监控python代码的内存使用。安装直接pip安装就完事了pip install memory_profiler 简单使用只需要在.py文件中导入memory原创 2022-03-20 11:28:38 · 8629 阅读 · 4 评论 -
nohup &指令:使python在后台不挂断运行
nohup &指令:使python在后台不挂断运行前言& 后台运行nohup 不挂起nohup &nohup 指定输出文件前言用服务器做pytorch训练时,直接跑python命令如果连接不小心断了,训练也就断了。可以在bash中使用nohup配合&来解决该问题。& 后台运行输入终端命令后添加一个&尾缀,表示在后台运行:python train.py &按下Ctrl+C,程序依然运行关闭终端,程序结束nohup 不挂起输入终端命令前原创 2022-03-16 18:19:40 · 5723 阅读 · 2 评论 -
pytorch: knn cuda编译
pytorch: knn cuda在windows下的编译前言编译流程编译前准备编译测试(可选)前言本篇记录一下在windows系统下的pytorch版knn cuda编译。看pytorch官方issue上写了今年可能会官方提供knn算法,但不知道啥时候会添加这个功能。远水解不了近渴,还是得上github找资源。编译流程编译前准备首先把windows版knn cuda代码clone下来:git clone --branch windows https://github.com/unlimblu原创 2022-03-14 11:20:58 · 4390 阅读 · 1 评论 -
Python:数学计算库sympy文档安装
Python:数学计算库sympy文档安装前言Step 1 依赖项Step 2 下载sympy源码Step 3 编译doc的html版本Step 4 将html版本转换为pdf前言以前常用的python科学计算库有numpy,scipy和scikit-learn,现在新发现了另一个数学库sympy,不过sympy的官网文档和教程都在外网进不去。于是尝试在本地主机编译sympy doc的pdf版本。Step 1 依赖项sudo apt install librsvg2-dev librsvg2-bin原创 2021-12-12 16:59:18 · 4055 阅读 · 0 评论 -
python报错:ValueError: invalid literal for int() with base10
问题描述int('654.12345')以上代码会造成如下报错ValueError: invalid literal for int() with base 10错误原因代码原意是把字符串变成整数,但是字符串内是个浮点数,导致错误解决方法先把字符串转换为浮点数,再转换为整数int(float('654.12345'))...原创 2021-11-01 16:50:54 · 1735 阅读 · 0 评论 -
Python学习: 队列Queue
Python学习: 队列Queue队列python中的queue类FIFO队列LIFO队列PriorityQueue队列常用类方法队列队列,对应python中的头文件queue,是一种数据类型,与list列表、dict字典相关。队列类型:FIFO先进先出队列:先进先出,类似堆LIFO先进后出队列:先进后出,类似栈Priority优先队列: 数据有优先级,值小先出python中的queue类FIFO队列import queue# python中的普通队列对应FIFO队列myFIFO原创 2021-09-17 21:32:02 · 310 阅读 · 0 评论