
python
Felaim
Hey, you're not a nobody. You're a somebody.
展开
-
Pycharm: Debug卡死
背景:使用pycharm进行Debug的时候,出现卡死的情况解决方式:亲测,问题解决!原创 2021-12-24 14:22:18 · 1949 阅读 · 0 评论 -
Onnx:前向验证准确性(onnx模型与pth结果对齐)
Onnx模型前向验证说明:下方代码对应的是模板代码onnx_path是对应onnx的路径,data_path是pth模型前向保存的网络输入和网络输出输出的打印比较多,可按照自己需求进行关闭import onnxruntimeimport torchimport pickleimport numpy as npimport onnxonnx_path = "***.onnx"data_path = "***.pkl"# 获取onnx网络的输出model = onnx.load原创 2021-12-02 19:49:33 · 2974 阅读 · 1 评论 -
python:中文输出报错UnicodeEncodeError
python遇到的一个小问题UnicodeEncodeError: 'ascii' codec can't encode characters in position 1368-1376: ordinal not in range(128)这个是在文件中存在中文,输出的时候报错,加上下面的一段代码,问题解决import sysimport codecssys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) 简单记录下就好。原创 2021-11-18 20:29:48 · 1530 阅读 · 0 评论 -
Linux:显示设置问题
昨天LZ遇到一个比较坑的问题,好久没做记录了,今天更新一下这个坑。问题背景:LZ是在ubuntu下运行代码,之前使用plt.show()是可以显示图形的交互界面的,但是昨天一直会报一个错误:Could not connect to display localhost:10.0经过各种百度和google之后,很多小伙伴给出的都是import matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as plt这个方案对LZ是不适用的,原创 2021-10-26 10:55:57 · 829 阅读 · 0 评论 -
python:xlrd.biffh.XLRDError: Excel xlsx file; not supported
1. 问题描述LZ使用xlrd读取file.xlsx的文档时,运行程序报错Traceback (most recent call last): File "<input>", line 1, in <module> File "/root/.pycharm_helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile pydev_imports.execfile(filename, global_v原创 2021-06-02 14:45:03 · 968 阅读 · 0 评论 -
python: txt与xls代码处理示例
txt与xls代码处理示例1. 背景最近因为服务器训练时间不稳定的问题,LZ就想找出具体时间消耗的原因,但是训练平台只能保存成txt,才能下载,于是LZ把所有的数据都保存成txt的形式,当然如果小伙伴在保存文本时,使用’\t’来保存,这样下载对应的文本后,就可以直接手动复制到excel表格中,这也是一种方式。2. 环境配置conda install xlrdconda install xlwt2. txt2excel示例主要显示了怎么使用xlwt建立新的workbook,增加sheet原创 2021-05-25 09:34:10 · 1101 阅读 · 1 评论 -
python:It seems that scikit-learn has not been built correctly
问题描述ImportError: dlopen: cannot load any more object with static TLS___________________________________________________________________________Contents of /usr/local/lib/python3.6/site-packages/sklearn/__check_build:_check_build.cpython-36m-x86_64-linu原创 2021-05-21 14:42:40 · 3799 阅读 · 3 评论 -
Python:图像处理中img[:,:,::-1]是什么意思?
我们经常在图像预处理中会看到类似如下代码img = cv2.imread("img_path")img = img[:,:,::-1].transpose(2, 0, 1)上述两句到底是什么含义呢?我们今天就来解决这个问题。首先需要明白一点,我们通过cv2读图片是,数据读取的通道顺序是bgr,并且是height, width, channel的排列方式。所以切开上述第二行代码来看:img[:,:,::-1]也就是我们任意不改变width维的方式,也不改变height维的方式,仅仅改变cha原创 2020-09-29 15:04:42 · 14486 阅读 · 2 评论 -
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
想要一块小小的GPU做推断和测试都无法满足。。。唯一一块卡还被业务拿走了。。。强烈建议能够给深度学习工作的小伙伴,配置一块淘汰下来的卡,1080也行啊。。。服务器长期被霸占,还咋个玩,夹缝中求生存。在新的docker中import的时候出现如下问题:ImportError: libGL.so.1: cannot open shared object file: No such file or directory其实就是新容器缺少依赖,安装一下就行了apt updateapt install l原创 2020-09-22 11:11:12 · 19632 阅读 · 10 评论 -
Python: Could NOT find PythonLibs (如何查找你的python路径))
查找python对应lib和inc1. 背景使用cmake编译文件的时候报错CMake Error at /usr/local/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PY...原创 2020-04-29 09:54:42 · 12464 阅读 · 0 评论 -
OpenCV python: 任意多边形填充和凸多边形填充(fillPoly和fillConvexPoly的区别,有图有真相!)
我们经常会使用contour或者自己圈出来的区域填上对应的值或者,所以经常会使用这样两个函数:fillPoly和fillConvexPoly,至于这两个函数有什么区别呢?小伙伴从题目中就可以看出来了,一个是任意多边形进行填充(有可能是非凸的),一个是对凸多边形进行填充。两个函数的使用方法和说明:官方文档:函数fillConvexPoly绘制一个填充的凸多边形。 该函数比函数fillPoly快得...原创 2020-03-26 19:25:50 · 9570 阅读 · 1 评论 -
OpenCV python:如何判断点和轮廓的位置 (pointPolygonTest)
理想很丰满,现实很骨感,常常以为实现一个算法不是很难,但在现实中场景更加复杂,硬件限制,速度要求,好吧,只能push LZ想方法解决,也就是说进入了PDCA(PLAN,DO,CHECK,ACTION)的模式。下面介绍一个OpenCV的小接口,用来判断点和contour的位置关系def pointPolygonTest(contour, pt, measureDist): # real sign...原创 2020-03-26 18:08:57 · 12847 阅读 · 6 评论 -
OpenCV ERROR: SystemError: new style getargs format but argument is not a tuple
这个错误是在OpenCV中常见的一个错误,其实就是输入数据格式不正确,需要的是一个tupleSystemError: new style getargs format but argument is not a tuple直接转成tuple的格式就可以了!tuple(your variables)问题解决!...原创 2020-03-23 15:30:26 · 4716 阅读 · 0 评论 -
Jupyter Notebook: 怎么使用cv2.imshow()来显示图像(避免图像卡死或无反应)
先来一个特别简单的操作,在jupyter notebook中,使用cv2 module来读取一张图片,然后进行显示代码如下:import cv2img = cv2.imread("../test_imgs/11.jpeg")cv2.imshow("test",img)cv2.waitKey()运行后显示:然后进行退出时,就出现卡死现象这其实是使用opencv的一个习惯问题,在c+...原创 2020-03-19 11:18:01 · 9740 阅读 · 2 评论 -
Python: zip用法详解(可以用作数据的多标签制作)
关于zip的一些理解zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。我们可以使用 list() 转换来输出列表。# 首先创建一些变量,用来做测试a = [1, 2, 3]b = [4, 5, 6]c = ['f', 'e', 'l', 'a', 'i', 'm']d = [11, 11, 11...原创 2020-03-14 11:44:55 · 608 阅读 · 0 评论 -
Python: yield的用法(产生无限个素数的方式, 大批量读取数据的一种思路)
yield的用法(产生无限个素数的方式)首先LZ先问下哈,有多少小伙伴了解python当中的“generators”和关键字“yield”呢?1. 什么是Python生成器(书本定义)Python生成器是通过调用yield返回生成器迭代器(只是我们可以迭代的对象)的函数。 可以用一个值调用yield,在这种情况下,该值被视为“生成的”值。 下次在生成器迭代器上调用next()时(例如,在fo...原创 2020-03-12 15:40:49 · 1650 阅读 · 0 评论 -
Python: '/'单斜杠除和'//'斜杠除的区别(python2和python3存在区别)
LZ好几次都吃了python2和python3在除法上不一致的坑,小伙伴可以自己尝试一下,避免像LZ一样踩坑。首先说python2可以看到在python2 的情况下,在变量都是int型的情况下单斜杠除法和双斜杠除法结果是一致的。在变量存在float的情况下,单斜杠就是正常除法,双斜杠除法是除法完成后向下取整。我们再来看下python3python3可以看到,无论输入是int还是floa...原创 2020-03-10 20:07:03 · 1222 阅读 · 0 评论 -
Python: numpy.meshgrid的用法(光流法常用记录像素位置的一种方式)
meshgrid其实是构建网格的一种非常便捷的方式,尤其是在python中,用来画网格,提取对应位置的像素,或者在光流法中用来记录每个像素移动的位置都是经常使用的一个手段,下面给出一个简单的示例。import matplotlib.pyplot as pltimport numpy as npx = np.arange(-5, 5, 0.1)y = np.arange(-5, 5, 0.1...原创 2020-03-10 10:24:04 · 946 阅读 · 0 评论 -
Python: 批量获取指定格式的文件(glob)
怎样一次性读取对应文件夹下所有符合要求的子文件夹和子文件夹下的文件列表呢?很方便,使用glob就可以了举个例子,想要读取文件夹中标号都是00**的四位数,每个文件夹有不同格式的图片,如png,jpg,我们怎么只选择读取png格式的图片呢?import globdataset_dir = "your path to dataset"# read all the pngimg_list_p...原创 2020-03-09 16:28:17 · 1843 阅读 · 0 评论 -
Python: pickle的使用(dumps, dump, load)
在深度学习中,其中很重要的一步就是进行数据的准备,当然有很多数据的保存方式,下面介绍一种读写使用都非常方便的一中方式,使用pickle来保存数据import pickle d = dict(name='Felaim', age=26, score=90)pickle.dumps(d)b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x06\x00\...原创 2020-03-09 16:11:03 · 4712 阅读 · 0 评论 -
Python ERROR: TypeError: a bytes-like object is required, not 'str' (tempfile)
在跑caffe demo的时候遇到的问题,具体报错如下:---------------------------------------------------------------------------TypeError Traceback (most recent call last)<ipython-input-4...原创 2020-03-05 20:29:03 · 652 阅读 · 0 评论 -
Python ERROR: IndexError
IndexError: only integers, slices (:), ellipsis (...), numpy.newaxis (None) and integer or boolean arrays are valid indices碰到的问题如上所示,这个问题其实是index的一个问题,而且主要是python2和python3会存在是否取整的问题,使用python3就特别容易出现i...原创 2020-03-05 16:23:46 · 1352 阅读 · 0 评论 -
Jupyter Notebook的常用快捷键
用Jupyter Notebook,有很多奇技淫巧还是很快捷的,LZ觉得还是整理一波好了。ENTER: 进入编辑模式未进入前cell前有条蓝色粗线进入编辑模式后,可以看到一个闪动的光标一般未进入编辑模式才可以进行命令模式一、命令模式快捷键:ESC: 退出编辑模式,进入命令模式F: 在代码中查找、替换,忽略输出。SHIFT+ ENTER:运行对应cell,并移动到下一个cell...原创 2020-03-04 20:23:24 · 2697 阅读 · 1 评论 -
Anaconda: 新建环境出现No module named 'pip._internal.main'
今天LZ新建了一个环境,前期都很顺利,但是发现pip在环境中无法使用,还有一点,使用anaconda默认安装 python3.8版本的话,pytorch还不兼容,所以在新建环境的时候还是设置下python的版本号,具体设置Anaconda python版本参考这篇博客https://blog.youkuaiyun.com/Felaim/article/details/102910791然后使用pip ins...原创 2019-12-04 11:37:51 · 3068 阅读 · 0 评论 -
Python:视频转图像实现
LZ感觉经常会需要python进行这样那样的功能操作,下面就准备用到一个功能接口,积累一个功能。下面到代码就是将视频转化成图片的一个函数,还挺方便的。def video2img(videopath, savedir): video_capture = cv2.VideoCapture(videopath) num = 0 print('start') while...原创 2019-10-23 10:57:51 · 621 阅读 · 2 评论 -
python简单应用:字数统计
每次写代码,LZ感觉还是得自己手敲一遍。。。一遍?一遍哪够?看着别人现成的代码觉得自己都能看的懂,等到自己上手解决自己任务的时候,才发现根本不是这么一回事。看了很多大神的博客,基本上都有一颗强大的内心,为啥?码了那么久的代码,结果一个bug就可能前功尽弃,从头再来,也是只能默默鼓励下自己:每天进步一点点!"""Count words."""def count_words(s, n): """原创 2017-05-04 11:17:22 · 3134 阅读 · 0 评论 -
python快速入门(容器类型)
1.容器类型python提供多种数据结构来存放数据项集合。此外,用户还可以通过添加模块创造出更多容器类型。下面列出了几个python中常用的容器。(1)列表(List)列表是python中存放有序对象的容器,可以容纳任何数据类型:数值、布尔型、字符串等等。列表一般用两个括号来表示,下面代码演示了如何创建一个名为ll的列表,并在列表中添加一个整数和一个字符串:与其它编程语言类似,python中也有数组原创 2017-05-03 20:52:24 · 3715 阅读 · 0 评论 -
python机器学习实战2:实现决策树
1.决策树的相关知识在之前的接触中决策树直观印象应该就是if-else的循环,if会怎么样,else之后再继续if-else直至最终的结果。在上节讲的kNN它其实已经可以完成很多任务,但是它最大的缺点就是无法给数据集的内在含义,决策树的主要优势在于数据形式非常容易理解。我们来对决策树进行一个总的概括,然后对程序进行解释。优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征原创 2017-05-02 13:46:57 · 2352 阅读 · 0 评论 -
python机器学习实战3:朴素贝叶斯分类器
1.朴素贝叶斯简介第一个问题为什么叫“朴素”?是因为在整个形式化过程只做最原始、最简单的假设。朴素贝叶斯的优点:在数据较少的情况下仍然有效,可以处理多类别问题。缺点是对于输入数据的准备方式较为敏感,适用的数据类型:标称型数据。网上基本的介绍贝叶斯的理论已经很多了,这里我就不再重复赘述了。 LZ分享一下原始代码和数据集,有兴趣的小伙伴可以自行下载,本代码在python2.7版本下运行是没有问题的,如原创 2017-05-03 20:07:24 · 1669 阅读 · 0 评论 -
python机器学习实战1:实现k-近邻算法
首先分享一下链接:http://pan.baidu.com/s/1jIsS8HC 密码:rfew, 里面有kNN当中使用的数据集。这个系列的教程可能更注重机器学习的算法,没有使用深度框架,主要是从低层的一些函数进行编程。一方面可以加深对机器学习的理解,另外一方面增加python的编程能力,能够更好的学会处理自己的数据。#coding:utf-8#首先先导入相关的数据库,这里使用的主要是Numpy原创 2017-04-20 18:43:26 · 1132 阅读 · 0 评论 -
python module使用之----operator
1.operator 我这里主要可能介绍的是python3.X版本的,会和python2.X版本有点不一致,具体的细节很多,小伙伴们遇到问题还请自行百度吧,LZ也没有足够的能力能够涵盖到所有的问题,只能把我自己遇到的一些问题分享出来,避免小伙伴们再走一遍弯路!#coding:utf-8from operator import *#逻辑操作符(operator的一些操作函数与原本的运算是相同的)a原创 2017-05-02 15:41:27 · 2845 阅读 · 0 评论 -
win10 cmd窗口切换目录并运行python代码
台式机装的Ubuntu14.04,笔记本装的win10系统,但是有些简单的python代码在win10下运行还是需要的,所以怎么使用cmd运行python代码呢?1.打开cmd窗口 这个应该很简单的,在开始菜单里直接输入cmd,就可以打开cmd窗口了,这是一般权限。点击右键的话,还可以以管理员方式运行cmd窗口,在有些python依赖库安装的时候,就需要管理员权限。2.切换目录 这个只需要在cm原创 2017-04-19 16:46:20 · 9211 阅读 · 0 评论 -
python 各种安装包合集
1.scipysudo apt-get install libblas-devsudo apt-get install liblapack-devsudo apt-get install gfortransudo apt-get install python-scipy之前傻,没有安装gfortran就会报错,会出现error:library dfftpack has fortran sour原创 2017-03-23 09:21:41 · 2707 阅读 · 0 评论 -
Python:ImportError大合集
1.No module named cv2sudo apt-get install python-opencv2.No module named h5pysudo apt-get install libhdf5-devsudo apt-get install python-h5py最近在看深度学习了,结果还是困难重重,本博客主要记录一些module缺失的问题,未完待续啦。。。原创 2017-03-16 20:52:23 · 1622 阅读 · 1 评论 -
python快速入门(控制结构)
控制结构python里的缩进非常重要,这点LZ也是深受其害,之前也讲过这个问题,space和TAB的混用就会带来报错,然后很尴尬的是肉眼基本是辨别不出来的,还有无意中切换至中文输入法下,打了个空格,虽然这个错误是低级的,在其它编程语言中也是个bug,但是阴沟里翻船对于程序员来说,也是很常见的吧/(ㄒoㄒ)/~~但是换句话说,严格的首行缩进也能迫使编程人员写出干净、可读性强的代码,这点对于LZ来说可能原创 2017-05-05 11:07:31 · 996 阅读 · 0 评论 -
python机器学习实战4:Logistic回归
1.Logistic回归简介 先给出本次实战的代码和数据集,链接: https://pan.baidu.com/s/1dEE1QJR 密码: 6nnh 我们拿到一些数据点,用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就叫做回归。利用Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。“回归”一词源于最佳拟合,表示要找到最佳拟合参数集。原创 2017-05-05 15:39:29 · 768 阅读 · 0 评论 -
python快速入门(列表推导式)
列表推导式其实哈,我感觉这个应该不太算入门的要求了,只是有时候小伙伴们可能会碰到有些for循环语句只有一行,但是实际上功能十分强大/(ㄒoㄒ)/~~重点是代码相当简洁,然而可读性就稍微差一些啦。所以,对于接触python时间不长的我们来说,看到列表推导式还是蛮痛苦的。小伙伴们可以先瞅一眼下面的代码有一个规律:列表推导式总是放在括号中的, 上述代码又可以等价为:可以看到的是两张图片显示的结果是完全一致原创 2017-05-05 16:20:36 · 786 阅读 · 0 评论 -
Python: tqdm 进度条显示
LZ发现一个好玩的模块,是tqdm,是一个快速、扩展性强的进度条工具库,用户只需要封装任意的迭代器 tqdm(iterator)。只是最近觉得训练网络时, 一次次输出进度没有使用进度条更加直观,所以上网搜了一个,用起来,简单方便,看上去还高端大气上档次先安装一下:sudo pip install tqdm举个简单的例子:from tqdm import tqdmfor step in...原创 2018-12-19 21:04:24 · 2192 阅读 · 2 评论 -
python: 关于点云的一些基本处理
这些可以作为点云处理的一些函数,LZ在此归纳了一下, 当然matlab或者c++版本也都行,最近在用Python,就用Python写的.通常拿到一个mesh或者一些立体数据,存在的模式可能是点云,体素,可能是.off, .ply, .txt各种形式其实是可以相互转换的.下面举个例子# 我们先随机生成一些数字,作为点云输入,为了减少物体尺度的问题,#通常会将点云缩到半径为1的球体中#为了方便...原创 2018-12-06 19:22:21 · 15045 阅读 · 8 评论 -
Python ERROR:ValueError: Unknown projection '3d'
这个主要是matplotlib版本的问题新版本绘制三维散点的方式:import matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = fig.add_subplot(111, projection='3d')Prior to version 1.0.0, the me...原创 2018-12-06 16:55:01 · 5257 阅读 · 1 评论