python
文章平均质量分 51
hllyzms
编程爱你不容易
展开
-
用 Python 轻松玩转并行编程 Taichi 加速
Taichi 是一门开源的、嵌入在 Python 中的并行编程语言语法简单,上手容易,运行高效大大简化高性能图形学、数值计算、人工智能应用开发T。原创 2022-12-16 18:15:00 · 1062 阅读 · 0 评论 -
WARNING: Ignore distutils configs in setup.cfg due to encoding errors.
pip install -r requirements.txt时报错。点击语言设置 之后 相关设置》管理语言设置。win10搜索框搜索: 语言设置。原因是 未设置全为UTF-8。勾选beta utf-8。原创 2022-12-15 22:15:00 · 11062 阅读 · 4 评论 -
python C3 线性化算法与 MRO
MRO 全称方法解析顺序(Method Resolution Order)。它定义了 Python 中多继承存在的情况下,解释器查找函数解析的具体顺序。什么是函数解析顺序?我们首先用一个简单的例子来说明。class A():passpassd = D()如果我问在 Python 2 中使用 D 的实例调用,究竟执行的是 A 中的who_am_i()还是 C 中的who_am_i(),我想百分之九十以上的人都会不假思索地回答:肯定是 C 中的who_am_i(),因为 C 是 D 的直接父类。转载 2022-10-31 23:30:00 · 358 阅读 · 0 评论 -
pycharm cv2无法找到要传到的声明
2 pycharm 文件》设置》 项目》python解释器。安装后的opencv 找不到成cv2 的函数定义。选择对应的环境 》选择解释器路径。添加cv2的解释路径。原创 2022-10-23 14:28:16 · 1270 阅读 · 0 评论 -
python 获取计算机唯一标志
通常会获取电脑唯一标志 在对唯一标志做加密 之后做rsa认证成功之后可以使用。项目中一些客户端软件 需要本地认证才可以使用。原创 2022-10-22 21:00:00 · 2507 阅读 · 0 评论 -
python 获取视频时长
计算视频的时长,单位为分钟。print("总时长:",times)获取时长 可以使用python 包。原创 2022-10-20 21:45:00 · 3572 阅读 · 0 评论 -
常用特征检测算法SURF、SIFT、ORB和FAST
SURF算法是SIFT算法的加速版, 而SIFT(尺度不变特征转换, ScaleInvariant Feature Transform) 是另一种著名的尺度不变特征检测法。但是SIFT相对于SURF的优点就是,由于SIFT基于浮点内核计算特征点,因此通常认为, SIFT算法检测的特征在空间和尺度上定位更加精确,所以在要求匹配极度精准且不考虑匹配速度的场合可以考虑使用SIFT算法。它的理念是, 不仅在任何尺度下拍摄的物体都能检测到一致的关键点,而且每个被检测的特征点都对应一个尺度因子。转载 2022-09-30 21:30:00 · 636 阅读 · 0 评论 -
WARNING: Ignoring invalid distribution -ensorboard
在相应目录下(本人目录为:(d:\anaconda3\envs\yo7\lib\site-packages)找到~开头文件夹,如图所示,删除下面这两个文件夹即可。是因为包在安装过程中 被强制退出,再次pip安装时,有缓存文件需要删除。python pip 安装包时 发生错误报错、原创 2022-09-04 13:23:28 · 937 阅读 · 0 评论 -
Python工程或Flask项目整体加密——so加密
3、在工程根目录下或非工程目录外新建build_so目录并将encrypt_project.py复制到build_so目录下。注意:flask的app.py需要加入exclude_dirs_or_files中,否则服务运行不起来。2、检查工程的所有py文件的当前目录以及所有上级目录下都要有__init__.py文件,若没有则新建。完成后,build_so目录下会生成工程所有的so文件和资源文件,检查下Flask服务运行正常。4、设置工程根目录project_dir地址(encypt_project.py)转载 2022-09-01 20:52:19 · 1187 阅读 · 0 评论 -
PyTorch与torchvision、torchaudio、python版本对应关系
PyTorch与torchvision、torchaudio、python版本对应关系原创 2022-07-04 21:45:00 · 4692 阅读 · 0 评论 -
torch nn.BatchNorm2d实现原理
机器学习中,进行模型训练之前,需对数据做归一化处理,使其分布一致。在深度神经网络训练过程中,通常一次训练是一个batch,而非全体数据。每个batch具有不同的分布产生了internal covarivate shift问题——在训练过程中,数据分布会发生变化,对下一层网络的学习带来困难。Batch Normalization将数据拉回到均值为0,方差为1的正态分布上(归一化),一方面使得数据分布一致,另一方面避免梯度消失、梯度爆炸。Batch Noramlization 是想让输入满足同一个分布, 那么是原创 2022-06-01 20:00:00 · 3530 阅读 · 0 评论 -
yolov5 减少检测层
一,model文件解释yolov5的模型配置文件解释如下:1.类别数和模型深度宽度控制# parametersnc: 80 # number of classesdepth_multiple: 1.0 # model depth multiplewidth_multiple: 1.0 # layer channel multiplenc:代表类别数depth_multiple:模型深度参数width_multiple:模型宽度参数其中模型深度宽度控制,是通过上面两个参数,作用于...原创 2022-05-30 21:34:34 · 3226 阅读 · 14 评论 -
python &=
这是增强赋值(augmented assignment),类似运算符还有| "+=" | "-=" | "*=" | "@=" | "/=" | "//=" | "%=" | "**=" | ">>=" | "<<=" | "&=" | "^=" | "|="运算符 描述 实例 &= 按位与赋值运算符 a&=b 等价于 a= a&b |= 按位或赋值运算符 a|=b 等价于 ...原创 2022-05-25 18:00:00 · 1028 阅读 · 0 评论 -
pycharm UnicodeDecodeError: ‘utf-8‘ codec can‘t decode bytes in position 1022-1023: unexpected end o
pycharm debug 的时候总是报错: File "C:\\plugins\python\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 301, in _on_run r = r.decode('utf-8')UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 1022-1023: unexpected end of data修改为:#Note...原创 2022-04-15 11:17:16 · 3037 阅读 · 1 评论 -
python pathlib与os模块
pathlib的简单介绍官方定义:Object-oriented filesystem paths(面向对象的文件系统路径) 官方推荐:pathlib是一个从3版本开始就能完全替代os.path的内置库,在python官网中这样说 "对于字符串的低级路径操作,您也可以使用该 os.path模块"pathlib和os.path的比较当需要找多个层级的目录路径时,通过os.path需要嵌套写法,如我上面的project_path,而pathlib可以提供链式写法,简洁明了 os.pa...原创 2022-03-29 20:09:31 · 1650 阅读 · 0 评论 -
pytorch 模型预测时 batch_size调小了准确率就会下降‘的问题
最近在使用pytorch的mobilenet v2,使用模型进行验证的时候出现了奇怪的问题,调节预测时的batch size,准确度竟然会有较大的变化。具体表现为,batch size越小,四个指标越低。当batch size调为1的时候f1等指标居然都在80%以下。上网查了资料,包括知乎中的问题当batch_size为1时为何模型测试的准确率会严重下降?当batch_size为1时,为何模型测试的准确率会严重下降? - 知乎发现测试结果较差的原因在于BatchNorm的afine=True,使转载 2022-03-20 14:45:55 · 1725 阅读 · 0 评论 -
centos7下安装pycocotools
1.进入虚拟环境我用的 python3.6.8[pei@hlly ~]$ workon blog(blog) [pei@hlly ~]$ pip listPackage Version---------- -------pip 21.2.2setuptools 57.4.0wheel 0.36.22. 先安装cpythonpip install cython3 下载pycocotools 源码https://github.com...原创 2021-08-09 22:38:57 · 462 阅读 · 0 评论 -
Windows下安装 pycocotools conda无法安装
我的电脑是 win10 安装了 vs2019 安装pycocotools COCO 地址: https://github.com/cocodataset/cocoapi大佬改写支持 Windows 的 COCO 地址:https://github.com/philferriere/cocoapi方案一 : 测试失败CMD 终端中使用 pip 安装:pip install git+https://github.com/philferriere/cocoapi.git#subdi.原创 2021-08-09 21:34:07 · 1171 阅读 · 0 评论 -
pycharm debug Can‘t process net command: 501 1 0.1 WIN
使用pycharm debug 调试的时候报错:Traceback (most recent call last): File "C:\PyCharm 2018.2.4\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 399, in _on_run self.process_command(cmd_id, int(args[1]), args[2]) File "C:\PyCharm 2018.2.4\helpers\pydev\_原创 2021-07-31 20:05:00 · 512 阅读 · 0 评论 -
python review 代码审查工具
python的review工具Review boardReview board 是一个 基于web 的工具,主要设计给django 和python的用户。Review board 可以帮助我们追踪待决代码的改动,并可以让Code-Review更为容易和简练。尽管Review board 最初被设计在VMware项目中使用,但现在其足够地通用。当前,其支持这些代码版本管理软件:SVN, CVS, Perforce, Git,Bazaar, 和Mercurial.CodestrikerCodestri原创 2021-04-09 10:02:34 · 449 阅读 · 0 评论 -
python 代码调试 Icecream 代替print
相信大部分人学习Python,肯定会用print()这个内置函数,来调试代码的。那么在一个大型的项目中,如果你也是使用print来调试你的Python代码,你就会发现你的终端有多个输出。那么你便不得不去分辨,每一行的输出是哪些代码的运行结果。举个例子,运行下面这个程序。num1=30num2=40print(num1)print(num2)输出结果。3040这些输出中哪一个是num1?哪一个又是num2呢?找出两个输出可能不是很困难,但是如果有五个以上...原创 2021-03-22 16:25:53 · 271 阅读 · 0 评论 -
Python 代码审查工具
python的review工具Review boardReview board 是一个 基于web 的工具,主要设计给django 和python的用户。Review board 可以帮助我们追踪待决代码的改动,并可以让Code-Review更为容易和简练。尽管Review board 最初被设计在VMware项目中使用,但现在其足够地通用。当前,其支持这些代码版本管理软件:SVN, CVS, Perforce, Git,Bazaar, 和Mercurial.CodestrikerCodestrik转载 2021-03-20 18:47:34 · 294 阅读 · 0 评论 -
python中round() 四舍五入
注意在Python3中 ,round()函数并不是四舍五入,而是四舍六入五成双五成双的意思是,高位为单数则进1凑成双数,高位为双数则不进位。 但是也不都是如 ,最高位是4 双数 4.05 就不进位num = 1dd = round(4.050000190734863,num)ss = round(4.05,num)print(dd,ss,dd == ss) # 4.1 4.0 False高位为单数则进1凑成双数 但是下面 5.05 保留一位 就变成了 5.0num = 1..原创 2021-03-18 17:57:29 · 5146 阅读 · 1 评论 -
centos7源码编译安装nginx1.17
源码下载地址:http://nginx.org/download/集成安装yum -y install gcc gcc-c++ autoconf automakeyum -y install zlib zlib-devel openssl openssl-devel pcre-devel先把1.17.10版本的安装包上传到服务器#1.解压tar -zxvf nginx-1.17.10.tar.gz#2.配置使用默认配置./configure.转载 2020-12-28 19:47:39 · 331 阅读 · 0 评论 -
python 操作 etcd
使用模块 https://github.com/kragniz/python-etcd3安装pip install etcd3模块使用文档连接import etcd3etcd = etcd3.client()etcd.get('foo')etcd.put('bar', 'doot')etcd.delete('bar')原创 2020-12-26 10:09:50 · 3855 阅读 · 0 评论 -
pycharm 不要使用制表符 制表符转空格
pycharm中最好不要使用制表符 tab键直接转成4个空格英文的还可以设置 Pycharm 显示空格英文的这样就可以清楚的看出代码中 到底是空格还是制表符使用制表符的显示样式 箭头使用空格的样式 小点...原创 2020-12-25 15:42:45 · 848 阅读 · 0 评论 -
python threading.Lock() 多线程锁
示例import threading# 定义全局变量import timeg_num = 0class SingletonData(object): _instance_lock = threading.Lock() def __new__(cls, *args, **kwargs): if not hasattr(SingletonData, "_instance"): with SingletonData._instance_lock: if not hasatt原创 2020-12-24 12:22:36 · 2699 阅读 · 0 评论 -
Python format 格式化函数
数字格式输出描述3.1415926{:.2f}3.14保留小数点后两位3.1415926{:+.2f}+3.14带符号保留小数点后两位-1{:+.2f}-1.00带符号保留小数点后两位2.71828{:.0f}3不带小数5{:0>2d}05数字补零 (填充左边, 宽度为2)5{:x<4d}5xxx数字补x (填充右边, 宽度为4)10{:x<4d}10xx数字补x (填充右边, ...原创 2020-12-11 13:06:40 · 472 阅读 · 0 评论 -
linux mysqlclient command ‘gcc‘ failed with exit status 1
安装不上有多个原因1 需要安装 mysql-develyum install mysql-devel2 需要安装 development toolsyum install groupinstall 'development tools'3 如果安装后还报错 可能是如下原因查看 已安装上的mysql-devel 版本为MariaDB-devel-10.5.2-1.el7.centos.x86_64可能是因为MariaDB10 和 mysqlclient 包有冲突安装不上去[root@kf原创 2020-10-23 20:47:51 · 353 阅读 · 0 评论 -
Python获取系统是Windows linux
platform 模块 sys模块Windows上In [1]: import platformIn [2]: platform.system()Out[2]: 'Windows'In [3]: import sysIn [4]: sys.platformOut[4]: 'win32'linux中>>> import platform>>> platform.system()'Linux'>>> import sys原创 2020-10-12 13:27:50 · 651 阅读 · 0 评论 -
python 阴历阳历 互转 sxtwl
安装包pip install sxtwl使用方法1. 因为考虑到繁体和简体字的原因,所以本库不以硬编码的形式显示结果简体示例:Gan = [“甲”, “乙”, “丙”, “丁”, “戊”, “己”, “庚”, “辛”, “壬”, “癸”]Zhi = [“子”, “丑”, “寅”, “卯”, “辰”, “巳”, “午”, “未”, “申”, “酉”, “戌”, “亥”]ShX = [“鼠”, “牛”, “虎”, “兔”, “龙”, “蛇”, “马”, “羊”, “猴”, “鸡”, “狗”, “猪原创 2020-08-16 18:13:39 · 1023 阅读 · 1 评论 -
Python 金额每隔三位用逗号隔开
通常金额前端展示每隔三位会用逗号隔开,python原生实现了x = 245433.4363# 保留两位小数str1 = format(x,"0.2f")print(str1,type(str1)) # 245433.44 <class 'str'># 金额用,隔开str2 = format(x,",")print(str2,type(str2)) # 245,433.4363 <class 'str'># 使用 e 的科学计数法str3 = format(原创 2020-07-29 14:42:42 · 3049 阅读 · 0 评论 -
Python 字符串每隔两个加入空格
方法一text = "C33CF00F0101000101000000000406B90F80040401020202030204020000000000000000B382AD10"text_list = re.findall(".{2}",text)new_text = " ".join(text_list)print(new_text)结果:C3 3C F0 0F 01 01 00 01 01 00 00 00 00 04 06 B9 0F 80 04 04 01 02 02 02 0原创 2020-07-28 14:08:33 · 17534 阅读 · 5 评论 -
__getitem__, __setitem__
__getattr__内置使用点号获取实例属性属性如 s.name,自调用__getattr____setattr__设置类实例属性 如s.name='tom',自调用__setattr____getitem__ 使用[]获取实例属性 如s['name'],自调用__getitem____setitem__ 使用[]设置实例属性如 s['name'] = 'tom' ,自调用__setitem__给对象进行容器化可以对类实现这个函数class Student: def ...原创 2020-07-04 16:34:33 · 1913 阅读 · 0 评论 -
描述符(__get__(),__set__(),__delete__())
描述符是什么描述符本质就是一个新式类,在这个新式类中,至少实现了__get__(),__set__(),__delete__()中的一个,这也被称为描述符协议 __get__():调用一个属性时,触发 __set__():为一个属性赋值时,触发 __delete__():采用del删除属性时,触发class String(object): def __init__(self, name): self.name = name def __get__(self, instance,原创 2020-07-04 16:23:57 · 229 阅读 · 0 评论 -
python __getattribute__、__getattr__、__setattr__
__getattribute__官方文档中描述如下:该方法可以拦截对对象属性的所有访问企图,当属性被访问时,自动调用该方法(只适用于新式类)。因此常用于实现一些访问某属性时执行一段代码的特性。需要注意的是,正式由于它拦截对所有属性的访问(包括对__dict__的访问),在使用中要十分小心地避开无限循环的陷阱。在__getattribute__方法中访问当前实例的属性时,唯一安全的方式是使用基类(超类) 的方法__getattribute__(使用super)。例如:通过上图中的代码示转载 2020-07-04 14:42:54 · 1385 阅读 · 0 评论 -
cached_property缓存装饰器
缓存装饰器class cached_property(object): def __init__(self, func, name=None): self.func = func self.__doc__ = getattr(func, '__doc__') self.name = name or func.__name__ def __get__(self, instance, cls=None): if instance is None: return self pr原创 2020-07-04 14:36:51 · 682 阅读 · 0 评论 -
python __dict__
类的__dict__属性和类对象的__dict__属性class A(object): a = 0 b = 1 def __init__(self): self.a = 2 self.b = 3 def test(self): return "A" @staticmethod def static_test(): print("static_test") @classmethod def class_test(self): print("class_test")原创 2020-07-04 13:23:59 · 259 阅读 · 0 评论 -
python binary mode doesn take an encoding argument
rmlText = b"fdsfas"open(rml_file_name,"wb",encoding="utf-8").write(rmlText)报错binary mode doesn't take an encoding argument写二进制文件时 不指定encodingrmlText = b"fdsfas"open(rml_file_name,"wb").write(rmlText)原创 2020-06-16 11:31:15 · 7614 阅读 · 0 评论 -
python 不进入虚拟换进指定python
linux 默认 pip 是python2 的使用python3 的安装python3 -m pip install pdfkit原创 2020-06-10 09:46:58 · 131 阅读 · 0 评论