python 心得
笔记
程序猿的探索之路
走好人生中的每一步路!
展开
-
【笔记】Python报错ImportError: attempted relative import with no known parent package
相对导入(relative import):报错模块(模块,区别于脚本不直接作为主程序运行,是一系列对象定义的集合)存在使用相对导入的包内模块调用关系,也即其中存在以 .(平级目录)或..(父级目录)起头的import语句。若多个模块放置于具有多层嵌套的目录当中,其逻辑关系为包(根目录)-> 子包(子目录)-> 模块(*.py);相对导入应当使用在包(由多个或多目录层级 *.py 模块组成)内模块中的 import 语句,用于内部模块功能之间的相互调用,而包内模块及功能则应当通过包外脚本调用。转载 2022-09-03 16:05:33 · 1490 阅读 · 0 评论 -
【笔记】torch.permute() VS np.transpose()
import numpy as npa=np.arange(1,13)print(a)a=a.reshape(2,2,3)print(a)a=a.transpose(1,0,2)print(a)import torch as ta=t.tensor(a,dtype=t.float32)a=a.permute(1,0,2)print(a)a=np.array(a)a=a.transpose(2,0,1)print(a)# a=t.tensor(a)a=t.tensor...原创 2022-05-15 08:34:26 · 744 阅读 · 0 评论 -
【笔记】np.array实现一维字符数组:使用astype转换数组元素类型,使用ord取元素ascii码,使用chr将十进制数字转化为字符
import numpy as npa=np.arange(ord('a'),ord('z'))print(a)a=a.astype(str)for i in a: print(i,end=' ') print(int(i)-ord('a'),end=' ') a[int(i)-ord('a')]=chr(int(i))print('\n',a)[ 97 98 99 100 101 102 103 104 105 106 107 108 109 110...原创 2022-05-12 18:28:28 · 850 阅读 · 0 评论 -
【笔记】np.argsort(x , axis=-1) && np.take_along_axis(x,np.argsort(x,axis=-1),axis=-1) : 使用索引对多维数组排序
x=np.array([[0,3],[2,2]])xOut[23]: array([[0, 3], [2, 2]])np.argsort(x)Out[24]: array([[0, 1], [0, 1]], dtype=int64)np.argsort(x,dim=-1)Traceback (most recent call last): File "D:\Anaconda\envs\deep_learning\lib\site-packages\IPy...原创 2022-05-09 20:34:33 · 518 阅读 · 0 评论 -
【笔记】python 中的 starred expression(星号表达式)功能:参数传递;用于unpacking可迭代的变量
注意: * (starred expression)不可以单独使用Python 星号表达式(starred expression)*expression的作用1、用于参数传递出现在函数中,*args用于将传入的可迭代参数解析出来,并存入到args中def f(*args, **kwargs): print(args) print(kwargs)*会将传入的参数放入名为args的元组中 **会将传入的参数放入名为kwargs的字典中>>&g...转载 2022-05-06 12:37:14 · 776 阅读 · 0 评论 -
【笔记】python 中 set 和 itertools.china 的用法:set用来去重, {元素1,元素2,...};itertools.chain 用来拼接多个序列
import itertoolsa=[1,2,3,4,5,6,6,5]b=['a','b','c','d','e','f','f']print(a,b)print(list(itertools.chain(b,a)))aa=set(itertools.chain(b,a))print(type(aa))print(aa)bb={i:j for i , j in enumerate(aa)}print(bb)print(set(a))[1, 2, 3, 4, 5, 6, 6,...原创 2022-05-04 21:09:42 · 473 阅读 · 0 评论 -
【笔记】python 跳过异常继续执行:使用try…except…语句
下面有两种解决方法,第一种是类似if…else…;另外一种是使用语句来实现继续执行;方法一:使用try…except…语句,类似于if…else…,可以跳过异常继续执行程序,这是Python的优势用法:方法二:使用语句来继续执行拓展资料异常处理特点:1.在应用程序遇到异常情况(如被零除情况或内存不足警告)时,产生异常。2.发生异常时,控制流立即跳转到关联的异常处理程序(如果存在)。3.如果给定异常没有异常处理程序,则程序将停止执行,并显示一条错误信息。4.可...转载 2022-01-22 19:48:14 · 6021 阅读 · 0 评论 -
东北冻耳朵
.csvBob Carol Leanne Mark Paul WillCarol Leanne Mark Farley Paul Leanne Sarai Larry Carol Leanne Mark Will Mark Philip Zach Paul Zach Will Leanne Mark Zach Philip Code:### utf-8 ###import csvtouch_figure = []temp_t..原创 2021-12-06 18:08:41 · 324 阅读 · 0 评论 -
查看 apt-get 安装的库、包、软件、驱动,根据 dpkg -L name 来搜索相应文件的位置
查看 apt-get 安装的所有的库、包、软件、驱动等。apt-cache search all根据名称、前缀、或其中的一部分字符串来搜索安装的库、包、软件、驱动等。apt-cache search xxapt-cache search all | grep xx...原创 2021-10-02 10:05:58 · 4315 阅读 · 0 评论 -
nvidia.dali 模块安装方法
向趟雷的人,致敬 !!!源码:Release DALI v1.6.0 · NVIDIA/DALI · GitHub原创 2021-09-25 12:42:35 · 3953 阅读 · 1 评论 -
pycharm 中快捷键 ctrl + shift + F10 不能运行项目,反而进入 terminal 终端的解决办法
转载 2021-09-25 09:53:39 · 1269 阅读 · 1 评论 -
python 计算时间程序
import timetime_start=time.time()time_end=time.time()print('time cost',time_end-time_start,'s')原创 2021-07-01 21:09:01 · 159 阅读 · 0 评论 -
python 列表 or tensor
import torch as ta=t.tensor([False,True])b=t.tensor([[2,3,4],[1,2,3]])print(b[0],b[1])c=b[a]print(c)Output:tensor([2, 3, 4]) tensor([1, 2, 3])tensor([[1, 2, 3]])import torch as ta=t.tensor([[1,2,4],[1,2,3]])b=t.tensor([[2,3,4...原创 2021-06-29 17:50:50 · 309 阅读 · 0 评论 -
pycharm 使用ctrl+alt+L 格式化代码后,仍有区域缩进不一致,可使用以下办法控制选中代码 整体移动
原创 2021-06-28 17:13:03 · 413 阅读 · 0 评论 -
open(r“地址“) r的作用,防止字符转义
例:原创 2021-06-27 21:13:40 · 736 阅读 · 0 评论 -
inplace=True 会将计算得到的值赋值给变量(覆盖之前的值)
优点:优化显存缺点:损失中间变量原创 2021-06-27 21:02:28 · 327 阅读 · 0 评论 -
python format
前序:format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。不需要理会数据类型的问题,在%方法中%s只能替代字符串类型单个参数可以多次输出,参数顺序可以不相同填充方式十分灵活,对齐方式十分强大官方推荐用的方式,%方式将会在后面的版本被淘汰format填充字符串一 填充1.通过位置来填充字符串print('hello {0} i am {1}'.format('world','python')) # 输入结果:hello world ...转载 2021-06-27 18:36:39 · 171 阅读 · 0 评论 -
python中的numpy.transpose 方法
先看点资料:资料1:二维:注释:它的意思是轴0,轴1随便定义,如果映射到平面直角坐标系中,x轴y轴均可以定义0轴,1轴同理。而这个里面的行标(第一个括号),是与轴0对应的,列标(第二个括号),是与轴1对应的。三维:注释: 这个10指的是 0轴和1轴 转换后, A[0][1][2]的值是10。看到这里不懂,不要紧,我们接着看。资料2:注释:我们通过资料二可以知道,在三维(二维同理)坐标下,这个 arr 就是包含 两...原创 2021-06-27 17:41:26 · 357 阅读 · 3 评论 -
python 模块全称
PIL Python Imaging Libraryshutil shell utilitymatplotlib matrix +plot+ librarynumpy Numerical Pythonos operating system原创 2021-06-27 16:52:17 · 192 阅读 · 0 评论 -
神经网络中用到的一些python语法,filter函数、lambda函数、map函数以及什么是可迭代对象
原创 2021-05-19 22:11:36 · 185 阅读 · 0 评论 -
pytorch: grad can be implicitly created only for scalar outputs 的解决办法
加上去 X.backward(torch.ones_like(b))import torch a = torch.randn(2, 3, requires_grad=True) # 创建一个张量b = 3 * a b.backward(torch.ones_like(b)) # 自动计算所有梯度print(a.grad)原创 2021-04-30 16:04:45 · 2040 阅读 · 1 评论 -
torch.manual_seed() 随机数种子,为了复现实验结果,当seed一样,可以保证在不同计算机上面运行的结果(生成的随机序列)一样
1. torch.manual_seed()作用:在自己电脑上第二次运行程序,用来复现自己程序第一次运行的结果manual 美:['mænjuəl] 英:['mænjʊəl] n.说明书;指南;使用手册 adj.用手的;手工的;体力的;手动的 网络手动模式 它可以复现实验结果,注意,复现的是自己的电脑上面的结果。也就是说,自己的pc端跑程序,用的rand()或者randn() 函数,生成随机数列,在设计了种子以后,可以在下次运行的...原创 2021-04-27 15:07:39 · 2422 阅读 · 0 评论 -
python 程序的加速方法 builtin function 、 向量化方法
1. 可以使用内建函数通过程序可以看出,内建函数比普通函数快10倍左右。built in function 是用c/c++在底层实现的函数,较python快的多。2. 如果这样的加速,仍然不符合预期,可以尝试向量化的方法...原创 2021-04-26 17:25:56 · 343 阅读 · 0 评论 -
torch中普通索引和高级索引
高级索引可以看做是普通索引操作的扩展,高级索引操作一般不和原始的Tensor共享内存。Tensor内部结构:原创 2021-04-26 16:37:27 · 753 阅读 · 2 评论 -
torch中广播
原创 2021-04-26 14:52:09 · 640 阅读 · 2 评论 -
numpy 和 tensor 的区别
关系:两者共享内存,转换方便,没有额外的开销。区别:1 数据类型上面的区别:numpy 默认类型是 float64torch 默认类型是float32原创 2021-04-26 14:13:24 · 3605 阅读 · 0 评论 -
torch 官方文档
https://pytorch.org/docs/stable/torch.html原创 2021-04-26 13:56:39 · 2516 阅读 · 0 评论 -
RuntimeError: scatter_cpu_(): Expected self.dtype to be equal to src.dtype
torch.arange() 产生的数据类型是 int两者类型不同,解决办法:原创 2021-04-25 21:20:37 · 721 阅读 · 0 评论 -
torch的unsqueeze()
原创 2021-04-25 16:54:23 · 620 阅读 · 0 评论 -
由于多进程引起的——pycharm debug断点调试时遇到Pycharm DataLoader会卡死
num_works参数 就是进程的使用情况。num_works 非零时,进入for循环会卡在这。改为0,可以运行了。把DataLoader中的参数num_workers 设为 0即可参考资料Debugger freezes stepping forward when using pytorch with workers (multiprocessing)知乎 - pytorch dataloader 使用batch和 num_works参数的原理是什么? 原理解析...原创 2021-04-24 21:56:18 · 1610 阅读 · 0 评论 -
pycharm 快捷键
原创 2021-04-22 10:35:50 · 116 阅读 · 0 评论 -
清华源 与 安装CV2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --set show_channel_urls yes原创 2021-04-17 18:41:13 · 1772 阅读 · 0 评论 -
conda 安装 tensorflow
指定版本可以如下:如果报错,比如版本问题,可以试试conda install tensorflow-gpu该命令会指定安装当前python对应版本的tensorflow原创 2021-04-12 21:47:25 · 213 阅读 · 0 评论 -
单张图片和多张图片的RGB通道在python(numpy)中的数据构成
1) 单张图片该文将尽可能简短的描述基于numpy,在python中使用skimage的io或PIL或其他方法读取图片后GRB数据的结构与呈现方式。我们肉眼看到的图片无非两种(灰色和彩色),而通过编程语言转换为电脑能认识的模样也就是数字了。这些数字决定了在电脑中它是彩色还是灰色,对于彩色图片决定的方式就是——颜色通道,而最常见的就是RGB三通道了,顾名思义RGB三色通道就是指由R、G、B三个通道组成的。这里需要说明的一点就是RGB三色道分别对应三个矩阵,而这三个矩阵都是数字向量构成的矩阵,并不代原创 2021-03-22 17:26:04 · 1739 阅读 · 0 评论 -
pycharm 中让python程序暂停的几种方法
在Python3中已经有很大一部分语句与Python2不互通了,运行暂停的方法也有所不同。1、input();这种方法不用包含模块,因此这也是最常用的一种暂停手段。Python2中的raw_input()和input()语句在Python3中已经被合并到input()中。2、os.system("pause");这种方法需要包含os模块(import os),在windows下IDLE运行会弹出cmd命令行,进行暂停操作,直接运行.py文件会直接在命令...原创 2021-03-16 11:56:52 · 20427 阅读 · 0 评论 -
pycharm中选择python interpreter
pycharm中有两处地方需要选择python解释器:一处是调试配置(edit configurations)处,这里选择python解释器是为了运行项目:另一处是项目设置(settings)处,这里选择python解释器是为了编写程序的时候智能提示,这里同时也可以创建python虚拟环境:...原创 2021-03-16 11:15:08 · 1260 阅读 · 0 评论 -
2021-03-16PyCharm3.0默认快捷键(翻译的)PyCharm Default Keymap
PyCharm3.0默认快捷键(翻译的)PyCharm Default Keymap1、编辑(Editing)Ctrl + Space 基本的代码完成(类、方法、属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + P 参数信息(在方法中调用参数)Ctrl + Q 快速查看文档Shift + F1 外部文档Ctrl + Shift + Z --> Redo 重做Ctr...转载 2021-03-16 10:33:31 · 617 阅读 · 0 评论 -
同一个虚拟环境下的conda list和pip list里的包不一样,这是为什么,它们有什么区别
区别:Conda除了虚拟环境下的还有关联文件下的Pip只有当前虚拟环境下的当关联环境下有这个包,再用conda在其他虚拟环境下下载该包就会直接关联不用下载比如说base环境下有包,在另一个环境下下载同样的包,就会关联上,不用真的下载,直接复制过去或者关联即可验证得到:pip下的list是conda下list的子集相关知识:https://blog.csdn.net/nyist_yangguang/article/details/109848366 Anaconda中pkg...原创 2020-12-16 21:57:09 · 30215 阅读 · 63 评论 -
python中轴的axis=0与axis=1各自有什么意思:为超过一维的数组定义的属性
官方文档:轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。关键词:轴具有方向,且axis=0,即0轴,从上到下;axis=1,即1轴,从左到右。详细解释:https://blog.csdn.net/jiaxinhong/article/details/81772392...原创 2020-12-08 12:06:45 · 3518 阅读 · 0 评论 -
positional argument follows keyword argument的产生原因和解决办法
我的错误:正在测试吴恩达识别猫的程序过程中出现:但是我发现一个问题:这样的话就可以运行,但是会报其它的错。实参列表中,既有名字又有变量赋值的放在前面,将变量放在后面,这样的话,依旧报错,报错范围更大了。实参列表中,将变量放在前面,既有名字又有变量赋值的放在后面,就不会报错。我通过查阅资料:资料1:1.位置参数和关键字参数(根据实参的传递方式对参数进行的分类)a.位置参数:实参位置和形参保持一致,按形参声明的先后顺序一一赋值b.关键字参数:调..原创 2020-12-03 11:26:03 · 35064 阅读 · 0 评论