一:
## argparse:

参考:https://blog.csdn.net/yy_diego/article/details/82851661?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control
argparse是处理命令行操作参数。先创建一个对象;再向对象中参加参数,每个参数有对应的名字和默认值; 最后利用该对象的名字可以进行调用该参数值;

二:
## yaml文件:

参考:https://cloud.tencent.com/developer/article/1569879
yaml是一种直观的能够被电脑识别的的数据序列化格式;首先打开该yaml文件,f = open(’.yaml’);再生成该yaml对象 yaml.load(f); 最后我们可以输出该对象的所有数据内容(输出的数据是一个字典)
我们也可以用yaml.dump(传入字典数据),将该字典变成yaml数据

三:

pkl文件:

pkl文件和yaml文件都是用来存储数据的,目的都是为了将文件转换为字典然后进行调用数据; 先打开该文件,然后创建该文件的对象将该文件转换为字典 ;然后用dict.get(key,无key的默认值)方法来获取该键对应的内容。

四:

numpy函数:

1 、np.astype(np.long):
解析: 是用来强制性更改数据类型的;

2、np.concatenate(np1, np2 , axis =0/1) :
解析:是用来连接两个numpy的函数;若axis = 1,则对两个数组的行进行连接;若axis=0 ,则对两个数组的列进行连接

3、np.linalg.norm(x , ord , axis):
解析:用来求矩阵numpy x的范数的; ord =2 ,则求第二范数;axis =0 ,则代表对每个行向量求范数,axis =1,则代表对每个列向量求范数

4、numpy.flatten():
解析:将numpy变成一维的;

5、np.array([ 2, 3] , [4 , 5] ) ,生成一个二维数组 ;

6、np.random.rand(3 ,2)生成一个3x2列的随机numpy

7、np.shape 查看维度 ; np . reshape(-1 , 1)是调整维度,-1是自动调整,1代表有1列

8、查看list维度的方法:
现将其转变成numpy,然后在查看其维度
np.array(list).shape;

9:numpy.T : 将numpy的行列倒置;

10:numpy.zero_like(a) :产生一个和a维度一样大小的全0numpy

11:numpy.repeat(np_a , time , axis)
解析:将np_a进行复制time次数,若axis=none ,则按照从行到列复制每个元素,然后在展平该数组 ; 若axis=0;则按照列的顺序,将每个元素复制time次数; 若axis=1,则按照行的顺序,将每个元素复制time次 ;

numpy.round(float , x) ; 返回float的保留两位的四舍五入值 ;

numpy.clip(x , min ,max)#将Numpy x的值控制在min-max之间 ;小于min的值固定在min ;大于Max的值固定在max 中 ;

五:

getattr( )

getattr(obj , 该对象的属性名),作用是获得该对象的属性值;

六:

pth文件

1:pth文件是用来存储模型的;接下来我们讲解如何获取该模型;
2:直接加载 .pth文件得到模型: model = torch.load(‘文件名’)
3:此时该model就是一个字典,共含有4个键值 对,model,optimizer,scheduler,iteration; 其中每个键对应的值依然可能是字典;可能会有多层的字典叠加;
4:详情参考:https://zhuanlan.zhihu.com/p/84797438
5:注意Ubuntu要把内核更新关上,否则一旦进行自动更新,NVIDIA驱动程序和内核的兼容性就会发生错误;此时NVIDIA就会错误。

七:

state_dict():

1 : model.state_dict(): 返回的是该模型的字典;字典的key是模型参数名,字典的value是模型参数名对应的参数值;
2:model.load_stat_dict(mode_dict) : 将该字典的参数复制到model中;这是更改模型参数名对应的参数值时的必须操作;

八:

torch.backends.cudnn.benchmark = true 代表gpu运行时自动为网络提速;

九:

cv.imread(.png)

1: 读取图片,将图片数据变成tensor,读取后的数据是[h , w, channel ];注意区分transform.Totensor(PIL),将PIL类型的图片变成tensor ; 此时维度是[channel , h , w ]
2:cv2.imshow(tensor),是显示该图片;

十:

cv.resize()

进行缩放图片; img = cv.resize(img_resize , 缩放的大小 , interplation缩放的方式)

十一:

for _ in zip(numpy_a numpy_b)

这是实现并行遍历的 ;

十二:

matplotlib.pyplot as plt 的运用

1 : plt . figure(num=None, figsize=None)
解析:num是图片的编号或者名称 ; figsize(x , y)是定义输出图片的大小 ;
2:plt.imshow( x)
解析:imshow方法首先将二维数组的值标准化为0到1之间的值,然后根据指定的渐变色依次赋予每个单元格对应的颜色,就形成了热图;热图是并不显示的,只有调用plt.show()才会显示 ; 其中参数x的维度可以是一维的数组,也可以是三维的数组;
3:fig , axes = plt.subplots(2 ,3 )
解析: 创建一个23维的窗口 ;然后在这些子窗口中插入图片;
4:ax1 = plt. add_subplot(2,3,1)
解析:向2
3维的窗口中的第一个格子添加图片;其中ax1也可以代表这个图片;即ax1可以单独加进网格中
5:plt.subplots_adjust(left , right , top , botomm ,wspace , hspace )
解析:前面调整子图的位置 ; wspace是子图宽之间的距离, hspace 是子图高之间的距离;
6:plt.plot(x , y ):
解析:生成坐标点,其中x和y是两个列表;从而生成坐标点!!
7:plt.axis(‘off’):
解析:axis是关于坐标系的配置问题;在显示的图片上不显示坐标系;若用plt.axis([0 ,10 , 1 ,15])则是定义x轴的坐标系是0-10 , y轴的坐标系是1- 15。
8:plt.savefig(path):
解析:保存图片到指定的文件下

十三:

lambda函数

lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。
pl:
a = lambda x , y ,z :x+y+z, 则print(a(2,3,4))的值就是9

十四:

list列表的详细说明

首先a 的维度是[3 , 100]

1、list a[0 , x::y]
解析:这是代表在第0行从x开始,每隔y进行隔开取数; 代表在第0行开始进行隔空取数;

2、list a [0 , x:y ]
解析:这是代表在第0行, 在x-y范围中进行取数;

3、list a [0 , 3]
解析:这是代表在第0行,取第三个数;

十六:
torch的用法

torch.cat(tensor1,tensor2 , dim)
解析:若dim=1,则按照行进行连接;若dim = 0 ,则按照列进行连接;

numpy.transform(0 ,2 ,1 )是转换维度的意思;

torch.squeeze(0) :删除第一个维度
torch.unsqueeze(0):在第一个维度前插入一个维度

a = torch.from_numpy(numpy) :
解析:将numpy变成一个tensor,且tensor和numpy共用一个内存空间,改变其中一个数据会改变其他的数据;

isinstance(obj1 , obj2) 是用来判断两个对象的type是否相同的;

十七:

Cv2.addWeighted()

解析:图像融合与叠加方法 ; 将两个图片按照一定的权重进行叠加和融合;参数为cv2.addWeighted(img1 , w1 , img2 , w2 )

cv.add(img1 , img2) ; 将两个图片numpy直接进行相加;

cv2.circle(img , (元组表示圆心) , 半径 , 颜色):
用来画圆圈的 ;

cv2.line(img , top_left , right_left , color , size ):是在img图上画直线的 ;

十八:

.npy文件

npy文件就是存储numpy的文件 ;
用np.save(“path” , arr)来保存numpy
用np.load(arr)来获得该numpy

十九:

.mat文件

.mat,yaml , pkl文件都是用来存储数据的; 目的也是将其变成字典;然后利用方法进行调用 ;
用scipy包来读取.mat文件,获得的是一个字典 ;即
dict = scipy.loadmat(".mat_pth")

二十:

用Python处理视频时,必须安装imagio-ffmpeg ;不安装时,Python是不可以处理视频数据的 ;pip install imagio-ffmpeg ;

str.split(’ , ‘):按照’,'进行分割字符串,返回的是一个字符串数组 ; [ -1]是代表取该字符串数组的最后一个数据;
https://blog.csdn.net/Anymake_ren/article/details/78753707

from tqdm import tqdm 的用法:
for i in tqdm(是个列表或者是个iterator迭代器) ; 目的就是在迭代的时候生成一个进度条,并显示出来该进度条 ;

二十一:

关于3DMM的说明

对于三维重建问题 , 得到3DMM的参数 和 bfm模型的数据库中的数据时,我们便可以利用公式重建出三维人脸模型了 ;

关于人脸盒子的说明:人脸盒子就是由四条直线组成的一个方圈,我们可以用
cv2.line(img , tuple(x , y ) , tuple(x , y))来画出直线,其中tuple是直线两个定点的坐标 ;

关于plt.imshow(numpy_image)的说明:生成一个热图,方便在该图上添加东西,但并不显示该图,需要调用plt.show()才会显示该图;其中x是个二维的Numpy,会自动的为其中的每个数值赋予一个颜色代码,若干个颜色组成了一张照片;

Python类和包的介绍相关推荐

  1. python地理处理包——Shapely介绍及用户手册

    本文主要是基于shapely官方文档翻译而成 shapely主要是在笛卡尔平面对几何对象进行操作和分析. 性能 Shapely中所有的操作都是使用GEOS库.GEOS是用C++写的,也被用在许多应用程 ...

  2. Python模块和包的介绍(模块含义、用模块好处、模块分类、包和模块的创建)

  3. python类中包含一个特殊的变量、它可以访问类的成员_Python 类的特殊成员介绍...

    类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...

  4. anaconda怎么使用python包_Anaconda中python包的介绍与使用方法

    Anaconda中python包的介绍与使用方法 目录: 1.包的定义 2.常用包管理器 3.包管理器的使用方法 4.数据科学常用的包 1.包的定义 由多个和同一功能相关的模块组成,通常为含有_ini ...

  5. Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法

    Day09新手小白学python 第九节 Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法 目录 Day09新手小白学python 前言 一.面向对象介绍 二 ...

  6. python扩展包中文介绍:截止2019.12.01

    文章目录 python 扩展包基本信息 基本功能介绍 python 扩展包基本信息 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 基本功能介绍 A APSW, ...

  7. python解包dump,tcpdump抓包及tshark解包方法介绍

    tshark是wireshark的命令行工具,经过shell命令抓取.解析报文.tcpdump是Linux系统下的抓包工具.wireshark和tcpdump都共同使用 libpcap做为其底层抓包的 ...

  8. python 安装PIL包的方法以及简单介绍

    引用文章1: python安装PIL包的方法 https://www.cnblogs.com/CarbinHee/p/7780279.html 引用文章2: PIL https://www.liaox ...

  9. 【python】面向对象类、对象的介绍

    类的定义 语法: class 类名():属性方法 类名:是一个标识符,要遵循标识符的命名规范建议首字符大写,如Person如果是由多个单词组成,则建议为驼峰命名法,下划线分隔法 如:PersonTea ...

  10. Python进阶10-标准库介绍01

    摘要:Python标准库介绍 Python的一大好处在于它有一套很有用的标准库(standard library).标准库是随着Python一起安装在你的电脑中的,是Python的一部分 (当然也有特 ...

最新文章

  1. 【网站汇总】论文相关
  2. Linux下配置rdate时间服务器
  3. 移动网站用backbone还是angular?
  4. php循环读取mysql_PHP无限循环获取MySQL数据
  5. C++ 解析Json
  6. Java并发编程实战~Worker Thread模式
  7. FileBeat + Pipeline 解析日志 保存至ElasticSearch(实战)
  8. python语句可以采用交互式执行方式_怎么在Python交互式命令行中运行脚本?
  9. MongoDB 操作
  10. pytorch nn.LogSoftmax
  11. Tomcat与JDK版本对应关系
  12. jave使用corenlp
  13. STC学习:可振动感应的电子音乐
  14. 特征点匹配(SIFI)
  15. plot函数linewidth区别
  16. 小米10pro搭载鸿蒙,国产手机性能排名:华为全军覆没,小米10Pro垫底,新黑马诞生...
  17. ffmpeg 之 hls
  18. 到北京软通动力做项目经理怎么样?
  19. CMA资质认定和CNAS实验室认可的区别有哪些?
  20. 什么是Vue,Vue的作用与原理?

热门文章

  1. Python如何批量把图片地址输入到浏览器上
  2. 微信公众平台测试号验证Token失败的坑
  3. 如何修改wamp5的端口号,默认页。
  4. 关于kali出现乱码问题
  5. 物联网-云开发(Tlink云、机智云、百度云、阿里云等)
  6. linux虚拟机对外部sd卡格式化和分区
  7. 1853: [Scoi2010]幸运数字[容斥原理]
  8. Android 多种投屏神器(Vysor,Total Control,scrcpy )
  9. 蒜厂年会|计蒜客2019蓝桥杯省赛 B 组模拟赛(一)
  10. bzoj 4453: cys就是要拿英魂!(后缀数组+二分)