python 近期用到的基础知识汇总(四)
1.python中 return 的用法:return 语句就是讲结果返回到调用的地方,并把程序的控制权一起返回 程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return。
代码实测搞清楚:
def test_return(x):for i in range(3):print(1)if x > 0:return xtest_return(-1)1
1
1def test_return(x):for i in range(3):print(1)if x > 0:return xtest_return(1)1
可以看出return后直接退出def块,要实现循坏要将其替代掉
2.pytorch中nn.ReLU(inplace=True)含义
在例如nn.LeakyReLU(inplace=True)
中的inplace
字段是什么意思呢?有什么用?
inplace=True
的意思是进行原地操作,例如x=x+5
,对x
就是一个原地操作,y=x+5
,x=y
,完成了与x=x+5
同样的功能但是不是原地操作,上面LeakyReLU
中的inplace=True
的含义是一样的,是对于Conv2d
这样的上层网络传递下来的tensor直接进行修改,好处就是可以节省运算内存,不用多储存变量y
。
3.np.rot90()矩阵旋转90°或90°的倍数。默认逆时针旋转。
Examples
--------
>>> m = np.array([[1,2],[3,4]], int)
>>> m
array([[1, 2],[3, 4]])
>>> np.rot90(m)
array([[2, 4],[1, 3]])
>>> np.rot90(m, 2)
array([[4, 3],[2, 1]])
上面的参数2代表转2次90,如果想要顺时针2次90可用-2替代。
当上面的升级到3d时候
>>> m = np.arange(8).reshape((2,2,2))
>>> np.rot90(m, 1, (1,2))
array([[[1, 3],[0, 2]],[[5, 7],[4, 6]]])
前面的1参数已经介绍过了,这里主要介绍下后面的(1,2)这里代表第二维度和第三维的组成的面来旋转。参数前后顺序可以用
rot90(m, k=1, axes=(1,0)) is the reverse of rot90(m, k=1, axes=(0,1))
rot90(m, k=1, axes=(1,0)) is equivalent to rot90(m, k=-1, axes=(0,1))
(1,0)与(0,1)在当两个k为相反数的时候相等。
3d旋转实例如下:
import numpy as np
m = np.arange(8).reshape((2,2,2))
print('before',m[:,:,0])
p=np.rot90(m, 1, (0,1))
print('after',p[:,:,0])before [[0 2][4 6]]
after [[2 6][0 4]]
还要特别注意
flip : Reverse the order of elements in an array along the given axis.反向沿给定轴反转数组中元素的顺序(跟前面的[:,::-1,:]翻转第二维度是等效的)
fliplr : Flip an array horizontally.水平翻转阵列
flipud : Flip an array vertically.垂直翻转数组
m1=np.copy(m)
mp=m[::-1,:,:]
print('compare',mp[:,:,0])
m1p=np.flip(m1,0)
print('compare1',m1p[:,:,0])
compare [[4 6][0 2]]
compare1 [[4 6][0 2]]
4.set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
例子:
import randomh = set()
while (len(h) < 10):h.add(random.randint(10, 100))print(h){99, 36, 37, 70, 72, 73, 44, 28, 13, 60}
5.isinstance()判断某个对象是否属于某个类
如assert isinstance(output_size, (int, tuple))
判断output_size是int或tuple.都不是assert报错.
6.torch.mul() 和 torch.mm() 的区别.torch.mul(a, b)
是矩阵a和b对应位相乘,a和b的维度必须相等,torch.mm(a, b)
是矩阵a和b矩阵相乘.要求衔接维度相同.
import torcha = torch.rand(3, 2)
b = torch.rand(3, 2)
c = torch.rand(2, 3)print(torch.mul(a, b)) # 返回 3*2 的tensor,要求a,b各维度大小相同
print(torch.mm(a, c)) # 返回 3*3 的tensor,要求a,c的衔接维度相同(a的第二维度和c的第一维度)
python 近期用到的基础知识汇总(四)相关推荐
- python 近期用到的基础知识汇总(八)
1.pytorch 的scatter()函数 scatter() 和 scatter_() 的作用是一样的,只不过 scatter() 不会直接修改原来的 Tensor,而 scatter_() 会. ...
- python 近期用到的基础知识汇总(六)
1. Python列表索引批量删除. 一开始天真的一个一个用del函数删除如del list[id].然后发现删文件是按间隔来的(一个删除一个不动).后来想想就明白了,删除一个文件的同时list变短了 ...
- python 近期用到的基础知识汇总(五)
1.pytorch中变量类型转换 将numpy矩阵转换为Tensor张量:sub_ts = torch.from_numpy(sub_img) #sub_img为numpy类型 将Tensor张量转化 ...
- python 近期用到的基础知识汇总(三)
1.python __len__(self)详解 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数.要让 len() 函数工作正常,类必须提供一个特殊方法__len__() ...
- python 近期用到的基础知识汇总(主要是skimage的相关矩阵变化函数)(二)
1.skimage.segmentation.clear_border函数 clear_border(labels, buffer_size=0, bgval=0, in_place=False)主要 ...
- python 近期用到的基础知识汇总(主要是numpy和pytorch的相关矩阵变化函数)(一)
ps两个库好多类似的函数傻傻分不清,总结下. 1.np.where where()的用法 首先强调一下,where()函数对于不同的输入,返回的只是不同的. 1当数组是一维数组时,返回的值是一维的索引 ...
- python 近期用到的基础知识汇总(七)
1.os.path.split():按照路径将文件名和路径分割开. 例如 o='/media/HDD/nnUNet_raw/nnUNet_raw_data/Task009_Spleen/inferTs ...
- python基础知识资料-Python基础知识汇总
原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...
- python基础知识资料-学习Python列表的基础知识汇总
千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...
最新文章
- php中关于mysqli和mysql区别
- cve-2018-2628 Weblogic反序列化漏洞实现反弹shell
- 调整分区后盘符丢失的资料怎么寻回
- Spring Boot【快速入门】
- BCGControlBar教程:Outlook Bars
- 安装Fontawesome4字体图标
- lesson3-字符串及其常用操作
- 常见索引结构—跳跃表
- gulp 安装时一直提示缺少模块( Cannot find module 'gulp-load-plugins')
- Android之popWindows底部弹出挡住了华为虚拟键盘问题
- 记录一次线上超时异常查询
- golang 数组、指针数组、数组指针使用总结
- Bean的拷贝之BeanUtils
- 背景透明,文字不透明效果
- linux程序没有对日志文件写的权限_好程序员云计算培训分享Linux文件权限简单说明...
- 《R语言初学指南》一1.4 实际案例
- 【VS】错误1error LNK1168: 无法打开 F:\C++6\prob\ConsoleApplication1\Debug\ConsoleApplication1.exe 进行写入
- ROS踩坑|warning:clock skew detected. Your build may be incomplete
- 看最近国内名人们对四川地震灾区的捐款
- XTU OJ 1309 唯一的子串
热门文章
- 【二分】Producing Snow @Codeforces Round #470 Div.2 C
- 给Lisp程序员的Python简介
- Comments on The Ph.D. grind------by Yishi
- 【python】Python的基本数据类型之数据转换
- centos7下安装nginx及常用命令
- 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)
- app测试的过程和重点关注内容
- android bitmap着色,android开发 替换bitmap中的颜色值
- Given a list,rotate the list to right by k places, where k is nonegative.
- linux kvm图标需要安装的软件,KVM 图形化安装