
python基础学习
文章平均质量分 53
算法工程师首先是个工程师,保证自己的代码能力和逻辑能力
DRACO于
这个作者很懒,什么都没留下…
展开
-
PIL和cv2读取图片时的差异及round函数讲解
PIL和cv2读取图片时的差异及round函数讲解原创 2022-06-30 19:22:32 · 1486 阅读 · 1 评论 -
Pytorch中.detach()与.data()的用法
这里是官方文档对detach的定义实际上,detach()就是返回一个新的tensor,并且这个tensor是从当前的计算图中分离出来的。但是返回的tensor和原来的tensor是共享内存空间的。import torcha = torch.tensor([1.0, 2.0, 3.0], requires_grad = True)a = a.detach() # 会将requires_grad 属性设置为Falseprint(a.requires_grad)举个例子来说明一下det原创 2022-04-06 17:25:30 · 2897 阅读 · 0 评论 -
python读取图片进行对比
1、数组元素的比对,我们可以直接使用“==”进行比较,比如: 2、当数组元素较多时,查看输出结果便变得很麻烦,这时我们可以使用all()方法,直接比对a矩阵和b矩阵的所有对应的元素是否相等。 而any()方法是查看两矩阵是否有一个对应元素相等。all()操作就是对两个矩阵的比对结果再做一次与运算,而any则是做一次或运算Numpy判断数组是否相等判断数组是否相等一般是判断两个数组是否完全相等(array1 == array2) 返回两个矩阵中对应元素是否相等的逻辑值(array1原创 2022-03-01 14:08:44 · 1467 阅读 · 0 评论 -
Python-文件夹的拷贝操作
在Python中,想要实现文件夹的拷贝,需使用shutil包,其中文件复制的内置函数为shutil.copy这里介绍两种拷贝方式:第一种为文件夹整体拷贝:import osimport shutilsource_path = os.path.abspath(r'E:\Projects\source_dir')target_path = os.path.abspath(r'E:\Projects\new folder\target_dir')if not os.path.exists原创 2022-02-17 11:13:11 · 20015 阅读 · 2 评论 -
python读写json文件
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。JSON在python中分别由list和dict组成。这是用于序列化的两个模块:json: 用于字原创 2022-02-15 13:49:01 · 9710 阅读 · 0 评论 -
python搜索指定文件夹下所有图片文件
python搜索指定文件夹的某指定文件或某名称的所有文件,一般采用glob.glob函数,匹配文件路径,返回所有匹配的文件路径列表匹配符包括“*”、“?”和"[]",其中“*”表示匹配任意字符串,“?”匹配任意单个字符,[0-9]与[a-z]表示匹配0-9的单个数字与a-z的单个字符。glob.glob返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。下面是使用glob.glob的例子:import glob..原创 2022-01-24 15:24:51 · 3193 阅读 · 0 评论 -
linux上运行python脚本,No such file or directory
在window平台下,写好python脚本文件,迁移到linux平台,赋过可执行权限,执行该sh文件,却提示No such file or directory。用vim打开sh文件,输入::setff回车,显示fileformat=dos,重新设置文件格式::setff=unix保存退出::wq 再执行,竟然可以了。程序尽量在linux下编写,迁移时,也许会少很多问题。...原创 2021-10-21 10:29:54 · 1278 阅读 · 1 评论 -
pytorch 压缩拉平通道的方法
pytorch有两种方法可以压缩拉平通道,例如将 N*C*W*H 转化为 N*C*WH 。1.view():元素总数不变改变形状'''view()是根据元素总数来改变tensor形状的,即变形后的tensor元素总数不变x.size[0]是x的第一个维度batch_size,-1代表自动计算该维度(其他所有维度合并)'''x = x.view(x.size[0],-1)2.flatten():将指定维度合并为一个维度#tensor拉平发生的位置#flatten的两种方式原创 2021-08-02 20:29:10 · 1617 阅读 · 0 评论 -
RGB转化为Gray图像 用于深度学习训练 PIL
因为实验需要,将RGB图像转化为Gray图像,采用扩充到三通道。import numpy as npfrom PIL import Imageimport pdbimport osimport cv2fix_image_width = 144fix_image_height = 288img_path = 'test.jpg'img = Image.open(img_path)# img = img.resize((144, 288), Image.ANTIALIAS)原创 2021-05-27 10:04:09 · 2964 阅读 · 0 评论 -
关于pytorch中的distributedsampler函数使用
1.如何使用这个分布式采样器在使用distributedsampler函数时,观察loss发现loss收敛有规律,发现是按顺序读取数据,未进行shuffle。问题的解决方式就是怀疑 seed 有问题,参考源码DistributedSampler,,发现 shuffle 的结果依赖 g.manual_seed(self.epoch) 中的 self.epoch。 def __iter__(self): # deterministically shuffle based o.原创 2021-03-26 14:30:54 · 34977 阅读 · 15 评论 -
归一化、标准化、正则化的区别
归一化归一化(Normalization)是为了消除不同数据之间的量纲,方便数据比较和共同处理,比如在神经网络中,归一化可以加快训练网络的收敛性;1. 把数据变为(0,1)之间的小数,主要是为了方便数据处理,因为将数据映射到0~1范围之内,可以使处理过程更加便捷、快速。例如 nn.normalize()进行归一化。2. 把有量纲表达式变换为无量纲表达式,成为纯量。经过归一化处理的数据,处于同一数量级,可以消除指标之间量纲和量纲单位的影响,提高不同数据指标之间的可比性。3. 主要算法:线性转.原创 2021-03-18 14:15:34 · 4163 阅读 · 0 评论 -
scatter_()函数的详细介绍
scatter()和scatter_()的作用是一样的,只不过 scatter() 不会直接修改原来的 Tensor,而 scatter_() 会。PyTorch 中,一般函数加下划线代表直接在原来的 Tensor 上修改scatter_(input, dim, index, src):将src中数据根据index中的索引按照dim的方向填进input。可以理解成放置元素或者修改元素dim:沿着哪个维度进行索引index:用来 scatter 的元素索引src:用来 sca...原创 2021-03-12 14:36:54 · 7444 阅读 · 1 评论 -
Pytorch安装出现OSError: [WinError 126] 找不到指定的模块。 Error loading “xx\lib\site-packages\torch\lib\asmjit.dl
pytorch版本过高,重新安装低版本pytorch即conda install pytorch==1.3.0 torchvision一般建议虚拟环境安装# 创建pytorch36虚拟环境 pytorch-cpu可以自己设名字conda create -n pytorch-cpu python=3.6#查看创建的虚拟环境conda info --envs#激活环境activate pytorch36#升级pippython -m pip install --upg.原创 2021-03-08 10:21:55 · 3517 阅读 · 0 评论 -
pytorch 模型输出特征 保存npy
npy数据的保存与读取保存 利用这种方法,保存文件的后缀名字一定会被置为.npyx = 10numpy.save("data_x.npy",x)读取 data = numpy.load("data_x.npy")创建一个tensora = torch.arange(10)'''tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])device(type='cpu') 默认在cpu上'''1. CPU tensor转...原创 2021-02-22 20:00:22 · 6565 阅读 · 1 评论 -
python查看当前内存,清空内存方法
1.内存查看命令行及说明常用的Linux下查看内存内容的专用工具是free命令。在Linux下面,常用top命令来查看系统进程,top也能显示系统内存。Linux下内存查看命令free详解:在Linux下查看内存我们一般用free命令:$ free total used free shared buffers cachedMem: 3266180 3250004 16176...原创 2021-01-23 14:55:19 · 3532 阅读 · 0 评论 -
caffemodel修改 layer name,修改参数层
修改layer nameimport caffeimport numpy as npcaffe.set_mode_cpu()net = caffe.Net('myprototxt.prototxt', 'mycaffemodel.caffemodel', caffe.TEST)netNew = caffe.Net('myprototxt2.prototxt', 'mycaffemodel2.caffemodel', caffe.TEST)for k, v in ne...原创 2020-12-07 23:08:11 · 1269 阅读 · 1 评论 -
linux读取文件数目和大小
1、读取文件夹大小# 查看当前文件夹下所有文件的大小,list显示du -sh * 2、读取文件夹内文件数目# 查看当前文件夹下的文件数目ls -l | grep "^-" | wc -l#也可添加目录 ls -l /root/draco/ | grep "^-" | wc -l#或者是find ./ -maxdepth 1 -type f | wc -l 其中-maxdepth 1用于指定一层说明: ls -l 查看目录下文件信息 gre...原创 2020-11-30 15:54:58 · 730 阅读 · 0 评论 -
python 目标分类检测检索任务中,整理list常用函数小结
1.训练list整理判断list中是否有重复元素#!usr/bin/env python#encoding:utf-8 from collections import Counternum_list=[[1,2,3,4,4,5,6,6,6]# 直接使用set方法if len(num_list)!=len(set(num_list)): print 'have duplicates!!!'else: print 'no duplicates!!' #使用c.原创 2020-11-24 15:07:54 · 387 阅读 · 0 评论