![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
Python相关的程序和操作
粼粼淇
淇水汤汤,波光粼粼。岸芷汀兰,郁郁青青。
从事计算机视觉,机器学习等方面算法的工作,爱好数学、算法、编程、中国古典文学、哲学,喜欢旅游,爱思考、爱推理;追求卓越、追求极致。
展开
-
python中使用logging 出现不能写日志到文件奇怪现象解决方法
运行这个代码在一个地方可以把信息输出到文件,在另外一个却不能输出到文件,而是打印命令终端,百思不得其解,最后跟踪发现问题出在。logger = logging.getLogger()这行代码。原创 2023-01-01 18:11:04 · 3700 阅读 · 1 评论 -
ImportError: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5‘ not found
ImportError: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5‘ not found原创 2022-07-30 18:49:35 · 1967 阅读 · 1 评论 -
pytorch官方DDP示例中疑惑记录
官网上有关DDP的示例比较简短,说实话不太实用,但即使这样,第一次看这个还是有好些疑惑,在此把示例中,我当时的不解,经过查找和实验,做些注解.DDP讲解较好的参考文章:1 https://zhuanlan.zhihu.com/p/1784027982 https://zhuanlan.zhihu.com/p/76638962...原创 2022-06-30 21:52:45 · 626 阅读 · 0 评论 -
ImportError: No module named setuptools 解决方案
网上的操作大概如下:wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gztar zxvf setuptools-0.6c11.tar.gzcd setuptools-0.6c11python setup.py install奈何网页过久,get不到于是去这里https://pypi.org/project/setuptools/#modal-close页面如下:下载s.原创 2022-03-16 19:22:59 · 1733 阅读 · 0 评论 -
numpy中randn及random的简单使用
import numpy as npif __name__ == '__main__': npr=np.random sh=(3,2) mp=0.9 s=0.1 a=(npr.random(sh) < mp) b1=npr.random() * npr.randn(*sh) #绝大多数:[0,1]*[-1.96,1.96]=[-1.96,1.96] b=b1*s #绝大多数:[-1.96,1.96]*0.1=[-0.196,0.196] .原创 2022-02-10 16:39:15 · 930 阅读 · 0 评论 -
python 多线程join在for循环中测试
1使用joinfrom threading import Threaddef f1(n): for i in range(n): print('f1=',i) print('1111111111')def g2(n1,n2): for i in range(n1,n2): print('g2=', i) print('22222222222')if __name__ == "__main__": for i in r.原创 2021-11-12 10:38:45 · 911 阅读 · 0 评论 -
python3多进程执行函数位置要点
import multiprocessing as mp#error example 1def mpadd1(): def add(args): a, b = args print(a + b) pool = mp.Pool() args = [(i, 10*i) for i in range(5)] print(args) pool.map_async(add, args) # for i in range(5):.原创 2021-10-27 11:48:09 · 154 阅读 · 0 评论 -
np.meshgrid和torch.meshgrid的区别
两者的区别通过一个测试显而易见:a=[1,2,3]b=[4,5]gridx,gridy=np.meshgrid(a,b)print('gridx=\n',gridx)print('gridy=\n',gridy)x=torch.tensor(a)y=torch.tensor(b)gridx, gridy =torch.meshgrid(x,y)print('gridx=\n', gridx)print('gridy=\n', gridy)输出结果:gridx=[[1 .原创 2021-09-24 11:47:17 · 910 阅读 · 0 评论 -
Python Flask Web 框架入门
https://www.cnblogs.com/cleven/p/10858016.htmlpython常用web框架对比转载 2021-08-08 16:38:55 · 72 阅读 · 0 评论 -
pytorch 使用多GPU训练模型测试出现:TypeError: forward() missing 1 required positional argument: ‘x‘可能解决方法
最近在使用u版yolov3训练数据集时,使用多GPU训练时总是报错: TypeError: Caught TypeError in replica 1 on device 1. TypeError: forward() missing 1 required positional argument: 'x'百度了一下发现是因为我使用了多个显卡,导致在inference阶段,模型和数据不在同一个显卡上,所以后面同时报了:TypeError: forward() missing 1 re...转载 2021-08-06 14:44:52 · 4634 阅读 · 0 评论 -
opencv-python4.5.3中csrt跟踪器的使用
import timeimport cv2import systracker = cv2.TrackerCSRT_create()video = cv2.VideoCapture('./01.mp4')if not video.isOpened(): print("Could not open video") sys.exit()i=0while True: ok, frame = video.read() if ok is None or frame..原创 2021-08-03 13:37:30 · 2234 阅读 · 3 评论 -
nohup后台python3程序及关闭
执行nohup python3 xx.py >log.txt 2>&1然后关闭命令窗口后程序在后端一直运行,如果没有指定日志文件,默认会把打印信息输出到 ./nohup.out查看使用python3启动的进程ps -aux|grep python3显示出的信息中第二列即为进程id使用kill杀死查找到的进程kill -9 对应进程id参考文章:1https://blog.csdn.net/weixin_42840933/article/details/8578012原创 2021-08-02 16:52:29 · 1401 阅读 · 0 评论 -
python3 计时器使用
说实话这块看文档要是不太懂计算机计时原理估计真不好懂,在网上查了好些资料,感觉还是这几篇比较靠谱。1、python 精确测量程序运行时间https://phgao.blog.csdn.net/article/details/91854731?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-16.base&depth_1-utm_source=distri原创 2021-07-17 13:43:11 · 362 阅读 · 0 评论 -
瑞芯微板子人脸识别demo展现
我使用的瑞芯微板子是RK3399Pro,这个板子自带有人脸识别功能,于是参看Rockchip_Developer_Guide_RockX_SDK_CN.pdf这个文档进行测试,具体操作手册上还算详细,在此不赘述。 原始的程序中是可以用摄像头来demo的,但是板子没直接接显示器,你imshow不了呀,无赖之下只能采用网络通讯方式来把结果发送到pc端然后绘制结果,最后显示,在此我采用了python3中的socket来通讯并收发json数据,下面直接上程序吧,先说明下,原始代码写的...原创 2021-07-16 18:40:31 · 1635 阅读 · 0 评论 -
tornado接受json数据
#服务器端import tornado.ioloopimport tornado.webimport jsonclass MainHandler(tornado.web.RequestHandler): def get(self): ocrresult={} try: ocrresult = json.dumps({'a': 123, 'b': 456}) except: pass .原创 2021-07-16 18:15:20 · 966 阅读 · 0 评论 -
Python3中socket编程收发json数据
#!/usr/bin/python3# 文件名:server.py# 导入 socket、sys 模块import socketimport sys# 创建 socket 对象serversocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM)# 获取本地主机名host = socket.gethostname()port = 9999# 绑定端口号serversocket.bind((host, por.原创 2021-07-15 13:33:31 · 3828 阅读 · 0 评论 -
python3获取nvidia GPU信息程序
import subprocessimport numpy as npdef getcmdoutput(cmd): output=subprocess.getoutput(cmd) output =output.split('\n') return outputclass GPUInfo: def getgpunum(self): cmd="nvidia-smi -L | grep GPU |wc -l" output=getcm.原创 2021-07-10 18:08:23 · 923 阅读 · 1 评论 -
Python3多进程与多线程区别及使用
https://www.cnblogs.com/IMWU/p/10855709.html转载 2021-07-09 11:38:09 · 77 阅读 · 0 评论 -
Python 相对导入attempted relative import beyond top-level package
https://www.cnblogs.com/linkenpark/p/10909523.html转载 2021-07-07 15:46:14 · 136 阅读 · 0 评论 -
python中下划线的使用
https://zhuanlan.zhihu.com/p/33866181转载 2021-06-24 10:17:24 · 86 阅读 · 0 评论 -
python笔记_列表解析
python笔记_列表解析https://www.jianshu.com/p/c635d3c798c2转载 2021-05-21 10:14:32 · 73 阅读 · 0 评论 -
tornado解析post数据的问题
https://www.cnblogs.com/hello-/p/10255342.html转载 2021-02-22 17:52:47 · 237 阅读 · 0 评论 -
caffe分类器test通用python程序
caffe分类器test,在pycaffe中提供有示例程序,并且它自己也封装了一个类,但感觉不是太友好,在我在原始基础上做了一些改动,方便以后测试用,在此整理如下: 首先展示一下caffe官方提供的分类器test脚本大致如下:caffe_root='/data/caffe/'sys.path.insert(0, caffe_root + 'python')os.chdir(caffe_root)import caffedef imagenetclassifye...原创 2020-12-31 18:46:02 · 273 阅读 · 2 评论 -
语义分割重要指标计算python程序
语义分割重要指标计算python程序网上有好些,各有特色,但最近在用paddle框架感觉还顺手,其计算分割的指标程序还可以,但原始的有些繁琐,而且没有对分割好的结果图和标记图做评估,在经过一段时间研读源码后,我在原始基础上做了一些修改和封装,最后形成如下代码,在此整理一下并分享出来。 代码简明扼要,不做过多解释。#DQ 2020/12/31import osimport sysimport cv2,timeimport numpy as npfrom scip...原创 2020-12-31 18:16:06 · 1229 阅读 · 5 评论 -
paddleseg中原始的转化lableme python脚本的改进
paddle的padseg中原始的转化lableme标注数据到可用于训练的数据,不是很方便程序化处理,于是在原始文件上做了一些修改方便自己数据的准备,具体的改动后的程序如下:# coding: utf8# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserve.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use th原创 2020-12-04 18:32:18 · 511 阅读 · 0 评论 -
numpy 中的np.concatenate和keras 中的K.concatenate默认参数下的差异
import numpy as npimport shutilimport keras.backend as Kimport tensorflow as tfdef test(): grid_shape =(2,3) grid_y = np.tile(np.reshape(np.arange(0, stop=grid_shape[0]), [-1, 1, 1, 1]), [1, grid_shape[1], 1, 1]) # pr.原创 2020-11-22 12:02:01 · 403 阅读 · 0 评论 -
检测器评价指标计算流程voc_eval简化程序
最原始的代码是py-fasterrcnn作者写的,这个使用过程有点繁杂,主要是传递的参数比较多杂,我在原始基础上做了封装和部分重写,方便自己使用,在此也分享一下:import xml.etree.ElementTree as ETimport os,glob,jsonimport numpy as npdef pathjoin(prepath,*filenames): fullpath=prepath for filename in filenames: fu原创 2020-11-11 18:32:14 · 293 阅读 · 0 评论 -
一文读懂NumPy中的广播机制
这是我看过讲解numpy的广播机制比较好的文章,在此转载一下:1 https://finthon.com/numpy-broadcast/2 https://www.cnblogs.com/jiaxin359/p/9021726.html转载 2020-10-25 20:54:48 · 110 阅读 · 0 评论 -
python中cv2.imdecode和cv2.imencode(中文路径下图片的读取和保存)
https://blog.csdn.net/qq_38497266/article/details/103236762转载 2020-09-21 15:10:41 · 1730 阅读 · 0 评论 -
python多进程注意事项
def multiprocessingfunc(): def func(msg): print(msg) time.sleep(3) print('end') pool = multiprocessing.Pool(processes=3) for i in range(4): msg = "hello %d" % (i) pool.apply_async(func, (msg,)) # 维持执行的.原创 2020-08-18 17:02:14 · 330 阅读 · 0 评论 -
python-opencv画多边形的一些操作函数整理
在opencv中经常需要画多边形,有的需要填充有的只需画个线,有的需要在原始图上,有的需要二值图,反正我是有点受够了在不同场合需求下不断拼凑,不断重复操作,为此我整理一下,把画多边形的代码汇总:class PolygonDraw: def getdrawpolygonvaliddata(self,Polygon0): if isinstance(Polygon0, list): Polygon0=np.array(Polygon0) i原创 2020-08-17 17:22:50 · 1089 阅读 · 0 评论 -
python程序一个文件的函数调用另外一个文件函数注意点
跨文件调用,主要存在这几点问题:使用import导入时,路径问题:1、同一目录下可以直接import2、不同目录导入需要使用sys.path.append(),此时最好使用绝对路径对于这种情况python文件的__file__属性非常有用,例如你有两个文件A.py,B.py,不管你是直接运行运行B.py还是A.py调用B.py,__file__始终是B.py文件所在的绝对路径。下面汇总了好的博客:1、python 一些程序规范(跨目录调用文件)https://www.cnb...原创 2020-08-04 14:35:31 · 1377 阅读 · 0 评论 -
判断一幅图像是否是红外的python程序
判断一幅图像是否是红外还是可见光,直接在rgb颜色空间不好弄,需要转化到hsv空间进行判别,具体就是统计s通道的值是否为0或接近0,这样一来可以直接加和s通道的值,然后取个均值,最后给个阈值,当之歌均值小于给定阈值时,就可以认为这幅图像就是红外的,具体python程序如下:import os,sysimport numpy as npdef judgeimingmode(impath): infraredthresh=10 im = cv2.imread...原创 2020-07-03 16:42:58 · 1338 阅读 · 1 评论 -
Python __iter__ 深入理解
https://www.jianshu.com/p/0440bf135f37转载 2020-07-02 18:26:24 · 216 阅读 · 0 评论 -
递归搜索一个目录下所有文件的python程序
import os,shutildef getdirfiles(maindir,dstdir,filepaths): filenames=os.listdir(maindir) for filename in filenames: filepath=os.path.join(maindir,filename) if os.path.isdir(filepath): getdirfiles(filepath,dstdir,file..原创 2020-06-13 15:55:52 · 354 阅读 · 0 评论 -
Python3 multiprocessing使用小测试
最近在使用python处理一些数据处理,使用单核是在慢的难以忍受了,准备使用多线程看看,发现好多说在cpython解释器的python下,python多线程只是一个美梦,实际实现了下确实如此,至于啥原因不是特别清楚,想要并行处理,还是多进程吧,于是乎就寻找多进程资料,并自己做了些测试,亲身感受了下,多进程确实对并行处理提高了不少,我把这些测试记录一下:实验1:import ...原创 2020-05-07 11:51:34 · 288 阅读 · 0 评论 -
利用PyQt打造一款适合自己的图片浏览器
电脑自带的图片浏览器,很好用,但不是万能的。现实中有各种特殊需求,因此有时为了方便,量身打造一款适合自己的图片浏览器可能是有必要的。各种特殊需求总是不一样的,我这儿的特殊需求就是:我有成百上千的图片需要查看,查看中当遇到特殊图片我需要把这张图片单独挑选出存放在一个文件夹下,然后进行下一张,重复这个过程挑选完这堆图片中所有特殊的图片存放在一个文件夹下。咋一看,你可能觉得这简单呀,何须自己...原创 2019-07-09 18:11:47 · 4382 阅读 · 6 评论 -
sudo apt-get install python3.5-dev安装不了的一些解决方法
需要编译个工程老是报找不到Python.h,后面查找需要用到python3.5-dev包,但是尝试用sudo apt-get install python3.5-dev老是出现无法下载一些库的问题,对于这种问题,一般有下面几种解决方法:1、采用https://www.cnblogs.com/wileywote0633/p/9096274.html的做法2、直接去一台同系统同版...原创 2020-04-13 13:56:41 · 4202 阅读 · 1 评论 -
python中shutil.rmtree和os.makedirs联合使用时的注意点
在实际处理数据中经常要清空某个文件夹下的所有文件,在python下执行这一任务目前发现最优的方式是调用shutil.rmtree,但是这个函数有个不好的地方,它连这个文件夹也一起删除了,这确实有点烦恼,如果我执行这条语句,我想再把文件保存到原来的文件夹下,就必须重新创建,因此需要执行os.makedirs,但是直接如下联合使用: SaveImDir='./Ims' ...原创 2020-04-02 17:55:47 · 1189 阅读 · 0 评论 -
python-opencv 视频和图片集文件相互转化
#!/usr/bin/python# -*- coding: utf-8 -*-# 2019/08/20 by DQimport osimport cv2import shutildef Video2ImSet(VideoPath, ImGap, ImExpName,ImFolder,SaveImPrefix=''): FrameId = 0 VideoObj = cv2.V...原创 2020-03-29 11:32:57 · 590 阅读 · 0 评论