python学习
竹子攀岩
这个作者很懒,什么都没留下…
展开
-
redis数据库安装、卸载。Python redis模块
一:1、官网下载稳定版本2、sudo make3、sudo make install4、安装完成。启动redis服务器端:./src/redis-server redis-confi。启动完成5、./src/redis-cli 进入客户端,可以看数据库中的内容。查看所有内容:keys *删除所有内容:flushall卸载:1、ps -aux:查看所有正在运行的进程。kill -9 进程号(杀死redis相关的进程)2、删除make的时候生成的几个redisXXX的原创 2022-03-24 18:40:06 · 1856 阅读 · 0 评论 -
Python中的super和 类中的 __setattr__ __getattr__ __delattr__
1、super(cls, instance)是一个类。包含一个instance的MRO,和MRO列表中类cls。(Method Resolution Order(方法解析顺序))。super(cls, instance).XXX(),是在instance的MRO列表中,位于cls之后的那些类中,查找方法XXX。super参考了菜鸟教程:https://www.runoob.com/w3cnote/python-super-detail-intro.htmlMRO参考了:https://blog.原创 2021-07-19 15:52:09 · 215 阅读 · 0 评论 -
functiontools.wraps functiontools.partial *与** __init__和__new__的区别
1、functiontools.partial():他可以扩展函数的功能其定义是:functools.partial(func, *args, **keywords)接收三个参数:func 要扩展的函数,经过partial扩展后,返回一个类func的函数的可调用对象;*args 需要被固定的位置参数;**kwargs 需要被固定的关键字参数。如果在原来的函数 func 中 关键字 不存在则当前传入的关键字将会被扩展,如果存在,则会被覆盖。该函数的作用是,冻结函数中的部分 参数 或者关键字参原创 2021-07-17 17:31:10 · 297 阅读 · 0 评论 -
Python3 yield 学习
感谢博主 :https://blog.csdn.net/u011318077/article/details/93749143https://www.cnblogs.com/skings/p/10339866.html1、yeild原理:如果一个函数中包含了yield关键字,该函数就变成了生成器函数。当一条语句调用该生成器函数时,并不会真的执行该函数,而是生成一个生成器,直到对该生成器调用next()时,函数体才会真正的执行。执行函数体时,每执行到一个yield语句时,生成器函数就会中断,生原创 2021-06-27 14:30:23 · 594 阅读 · 0 评论 -
python 类中的self,cls。以及@staticmethod
1、self,代表当前定义的变量或者函数是实例变量或者函数,即该变量和函数与实例绑定。调用时,使用的是实例名.函数名()2、cls,代表当前定义的函数是类函数,该函数与类绑定。调用时,使用类名.函数名()3、添加了@staticmethod的类方法,与普通的类外的方法一样,不需要对谁进行绑定,与类外的普通方法的唯一区别就是,调用的需要使用实例名.函数名()或者类名.函数名() 进行调用。具体的参考了博客https://blog.csdn.net/weixin_30673611/article/d原创 2021-06-25 14:52:40 · 223 阅读 · 0 评论 -
Python 单下划线开头、双下划线开头
1、单下划线开头的变量:半私有变量以此类名称命名的对象,需要分为两种情况:类外:类外的半私有对象、私有对象,功能一致,均是在本模块中可以正常使用,但是不能被直接导入并调用。如果要在模块外使用,那么需要导入本模块,然后使用(模块名.变量名)进行调用。类中:类中的半私有对象,仅仅是概念上的私有,默认不要在类外进行调用实际上,在类外,均可以使用(实例名.变量名/类名.变量名)进行调用。2、双下划线开头的变量:私有变量也需要分为两种情况:类外:与半私有对象相同类中:.原创 2021-06-21 20:01:11 · 3151 阅读 · 0 评论 -
python 自带的缓存 lru_cache的用法 学习笔记
1、lru_cache提供的功能:lru_cache缓存装饰器提供的功能有:缓存被装饰对象的结果(基础功能)获取缓存信息清除缓存内容根据参数变化缓存不同的结果LRU算法当缓存数量大于设置的maxsize时清除最不常使用的缓存结果2、lru_cache的实现:如上所示,lru_cache可传入的参数有两个,如果不传入参数,则使用默认参数。maxsize表示的是被装饰的方法最大可缓存的结果数量,如果是默认值,则表示可缓存128个返回结果,如果maxsize传入的参数是None原创 2021-05-25 11:17:06 · 619 阅读 · 0 评论 -
python的 lambda() filter() isinstance() setattr()
1、lambda:g = lambda x:x+1使用lambda定义一个匿名函数,如上所示,x作为函数的入口参数,x+1为函数体2、filter(function,iterable)该函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中返回。3、将lambda函数可以作为filter的第一个参数,结合使用,简介高效。...原创 2020-12-13 11:39:29 · 331 阅读 · 1 评论 -
torch.nn.parallel.DistributedDataParallel 使用笔记
1、报错:ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).是由于在DataLoader中的num_workers设置过大,系统的共享内存不够用。Please note that PyTorch uses shared memory to share data between processes, so if torch multi原创 2020-07-05 12:47:03 · 9963 阅读 · 0 评论 -
__dict__ __name__ importlib.import_module __init__().py ABC 静态方法 实例方法 类方法
1、__dict__属性:内置数类型没有__dict__属性;每个类都有自己的__dict__属性,里面存放类变量和类函数,即使存在继承关系,父类的__dict__属性不影响子类的__dict__属性,子类和父类的__dict__属性中分别存放自己的类变量和类函数;每个对象也有自己的的__dict__属性,里面只存放实例变量。Generally speaking, instance variables are for data unique to each instance and class va原创 2020-06-13 16:08:03 · 334 阅读 · 0 评论 -
调参
1、要确定每一步是否正确网络结构是否正确,每一层使用的结构是什么学习率是否正确loss函数是否正确数据预处理是否正确,数据格式是否正确。2、图像在encoder之前,在DataLoader中要变成[-1,1]之间,取值范围和generator生成的图像要一致。不能直接将[0,255]的原始图像输入网络进行编码,数值太大,即使梯度的值较大,例如1,这个变化相对于图像的[0,255]来说也是微小的变化。所以要将图像的数值在编码前变成[0,1]或者[-1,1]之间。3、要根据数据的分布原创 2020-06-04 10:01:07 · 320 阅读 · 0 评论 -
lzma;python3.6.10;Ubuntu16.04
问题:ModuleNotFoundError: No module named '_lzma'1、安装依赖包sudo apt-get install python-lzmasudo apt-getinstall liblzma-dev2、进入你之前已经解压好的目录,再次进行编译安装cd /opt/Python3.6.10sudo ./configuresudo makesudo make install3、检查是否可以正常导入python3import lzma...原创 2020-05-27 19:09:46 · 1852 阅读 · 0 评论 -
pytorch 多GPU训练过程
1、torch.cuda.is_available() #cuda是否可用2、torch.cuda.device_count()#GPU 的数量3、torch.cuda.current_device() #当前设备的索引,从0开始4、torch.cuda.get_device_name(0)#返回GPU名字5、device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")# 如果这里cuda:0改为...原创 2020-05-27 11:26:06 · 550 阅读 · 0 评论 -
hook
钩子,就是用来计算变量的梯度,不是参数的梯度。原创 2020-05-26 13:43:51 · 177 阅读 · 0 评论 -
numpy的size\len\shape 的区别
import numpy as npa = np.zeros(shape=(3,4,5))# 返回a列表的元素总数:60print(a.size)print(np.size(a))# 返回a列表的维度大小:(3,4,5)print(a.shape)print(np.shape(a))# 返回a列表的第一维大小:3print(len(a))原创 2020-05-11 14:16:49 · 269 阅读 · 0 评论 -
python3 解决UnicodeEncodeError: 'ascii' codec can't encode character '\u2019' in position 11: ordinal
Python3.6,解决:UnicodeEncodeError: 'ascii' codec can't encode character '\u2019' in position 11: ordinal not in range(128)解决方法,参考了https://stackoverflow.com/questions/9942594/unicodeencodeerror-ascii-c...原创 2020-01-26 18:27:26 · 2592 阅读 · 0 评论 -
pytorch DataLoader
r"""Definition of the DataLoader and it's iterator _DataLoaderIter classes.To support these two classes, in `./_utils` we define many utility methods andfunctions to be run in multiprocessing. E.g...原创 2020-01-25 23:05:25 · 143 阅读 · 0 评论 -
TensorFlow 汇总
1、slice:切片操作。https://www.cnblogs.com/happystudyeveryday/p/11073991.html。2、squeeze:删除张量中维度为1的部分。https://blog.csdn.net/ddy_sweety/article/details/80406224。3、gather:提取张量指定维度的向量。https://www.cnblogs.co...原创 2019-12-14 19:57:47 · 81 阅读 · 0 评论 -
Python yield
转载好的博文。https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/原创 2019-11-24 09:14:25 · 81 阅读 · 0 评论 -
python 生成器 enumerate 字典的两个方法
1、使用生成器可以节省内存。eg:sum([i*i for i in range(1,1001)]),会列出1到1000之间的所有数的平方,并对值进行求和。当数据量比较大时,很容易占用大量计算机的可用内存资源。解决方法是,使用括号替换方括号。sum((i*i for i in range(1,1001)))。将方括号替换为括号,会将列表推导更改为生成器表达式。要从列表中检索数据,但不需要同...转载 2019-04-22 12:25:17 · 2277 阅读 · 0 评论 -
绘制混淆矩阵,将刻度设置为标签
将坐标轴刻度用文字来表示,至于要再加入一个列表即可。此时会在第一个列表中进行坐标轴刻度划分,在第二个列表中找到所需要表达的文字。参考自:https://cloud.tencent.com/developer/news/208308。...原创 2019-04-25 10:35:20 · 1926 阅读 · 0 评论 -
特征选择/相关性
一、去掉取值变化小的特征:可通过计算方差来衡量。二、单变量特征选择:1、Pearson相关系数中,会提到p-value。p-value用来反应显著水平。如果两变量间不显著,相关系数再高也没有用,可能只是偶然因素引起的。一般p值小于0.05就是显著了,如果小于0.01就更显著了。例如p值=0.001,就是很高的显著水平了,只要显著,就可以下结论说,拒绝原假设无关,两组数据显著相关,也可以说,...转载 2019-05-10 20:24:06 · 6106 阅读 · 0 评论 -
tensorflow 笔记
1、placeholder :tensorflow的占位符,有placeholder创建,其也是一种常量,但是需要用户在调用run方法时传递值,也可以将他理解为一种形参。X = tf.placeholder(dtype=tf.float32, shape=[144, 10], name='X')dtype 数据类型,必填。默认为value的数据类型,传入参数为tensorflow的枚举值,...原创 2019-05-13 11:00:21 · 81 阅读 · 0 评论 -
python2.7 编码问题
要想让list里面支持中文字符,需引进uniout模块,即import unioutcodecs 模块 支持多国语言。原创 2019-05-13 11:06:47 · 246 阅读 · 0 评论 -
python相关
pillow:python 处理图像的包;moviepy:python处理视频的包。https://www.jianshu.com/p/99bf9aad1624。原创 2019-05-30 20:32:10 · 61 阅读 · 0 评论 -
python 虚拟环境安装
1、安装pip:sudo apt install python3-pip2、安装虚拟环境: pip3 install --user virtualenv3、创建一个目录存放虚拟环境:mkdir vir4、创建Python3.6的虚拟环境:sudo virtualenv -p /usr/bin/python3.6 py3_text025、激活虚拟环境,此时在vir目录下有了名为...原创 2019-08-10 22:51:17 · 141 阅读 · 0 评论 -
python map()\filter()\索引
一、python 的map()函数:1、map()函数是一个python的内置高阶函数,他接受一个函数f和一个list或者多个list,并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回。注意,map函数不改变原有的list,而是返回新的list。由于list可以包含任意类型的元素,因此,map函数可以处理包含任意类型的list,只要传入的函数f可以处理这种数据类...转载 2019-04-21 22:06:15 · 1425 阅读 · 0 评论