python
-wxrui-
这个作者很懒,什么都没留下…
展开
-
python多维list按照某行或者某列排序
import numpy as np# 随机生成数据data = np.random.rand(5, 3)print(data)# 取得第一列排序索引index = np.argsort(data, 0)[:, 1]print(index)# 根据索引取数据print(data[index, :])[[0.58094702 0.64836198 0.38836734]...原创 2018-08-01 21:39:23 · 12482 阅读 · 2 评论 -
python opencv
opencv 导入import cv2读取图片, 并返回图片大小img = cv2.imread('000004.jpg')[h, w, c] = img.shape由于opencv默认使用的时BGR格式,而我们在处理图片时通常使用RGB格式,所以经常会需要在两者之间进行切换img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)...i...原创 2018-07-13 16:18:40 · 677 阅读 · 0 评论 -
pytorch 基本运算函数
生成随机数:torch.rand()torch.randn()tensor乘法:torch.mm(tensor1, tensor2)返回tensor最大值, 前K个最大值:value, index = torch.max(input, dim)value, index = torch.topk(input, k, dim)tensor拼接:torch.cat...原创 2018-07-14 14:47:57 · 3376 阅读 · 0 评论 -
pytorch torchvision.models
pytorch 提供了torchvision.models接口, 可以轻松初始化一些常见模型, 还可以设置pretrained参数为True, 加载pytorch官方提供的预训练模型。例如初始化一个resnet18模型:model = torchvision.models.resnet18()model = torchvision.models.resnet18(pretrained=...原创 2018-07-14 15:11:52 · 3055 阅读 · 1 评论 -
pytorch register_hook 保留中间变量的导数
pytorch 的 hook 函数分为 torch.Tensor 和 torch.nn.Module 两类, 分别对应torch.Tensor.register_hooktorch.nn.Module.register_backward_hook常用的是第一种, 针对 torch.Tensor 使用import torchgrad_list = []def print_...原创 2018-07-14 15:17:35 · 4357 阅读 · 0 评论 -
python lamda 表达式
LAMDA表达式python中条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即:# 普通条件语句if 1 == 1: name = 'wupeiqi'else: name = 'alex' # 三元运算name = 'wupeiqi' if 1 == 1 else 'alex'对于简单的函数,也存在一种简便的表示方式,即:la...转载 2018-07-14 15:39:19 · 488 阅读 · 0 评论 -
pytorch 加载预训练模型
pytorch 提供了 state_dict() 和 load_state_dict() 两个参数用来保存和加载模型参数, 前者将模型参数保存为字典形式, 后者将字典形式的模型参数载入到模型当中. 但是, 使用 load_state_dict() 加载模型参数时, 要求保存的模型参数键值类型和模型完全一致, 一旦我们对模型结构做了些许修改, 就不能直接调用该函数.这时候, 可以采取用保存的...原创 2018-07-17 10:25:53 · 1427 阅读 · 1 评论 -
python readlines() 去掉'\n'
使用python打开文件file = open(path)读取数据:data = file.readlines()此时输出data, 会发现python将文件中每一行的 '\n' 也一并读入到data中使用如下方法读取, 可以忽略文件中的 '\n'data = file.read().splitlines() ...原创 2018-07-18 15:20:35 · 28304 阅读 · 6 评论 -
python json 常用函数 dumps, loads, dump, load
json.dumps() 将数据写入json文件时, 如果直接将 dict 写入, python 会报错, 需要使用此函数将 dict 转为 str 格式json_dict = {'a': '111', 'b': '222', 'c': '333', 'd': '444'}json_str = json.dumps(json_dict)print(json_dict)prin...原创 2018-07-18 16:02:18 · 314 阅读 · 0 评论 -
python PIL
PIL.Image 读取图片img = Image.open(path)获取图片大小width, height = img.size保存图片img = img.save(path, type)几何变换img = img.resize((width, height))img = img.rotate(theta) ...原创 2018-07-18 19:43:28 · 244 阅读 · 0 评论 -
python argparse模块
import argparseparser = argparse.ArgumentParser()parser.add_argument()args = parser.parse_args()关于add_argument()的参数:name or flags... - 必选,指定参数的形式,一般写两个,一个短参数,一个长参数action 表示值赋予键的方式,这里用到的...原创 2018-07-18 19:52:07 · 145 阅读 · 0 评论 -
python 分离文件名和路径 以及 分离文件名和后缀
分离路径和文件名:os.path.split()区分文件的名字和后缀:os.path.splitext() import osfile_path = "D:/test/test.py"(filepath, tempfilename) = os.path.split(file_path)(filename, extension) = os.path.splitext(t...原创 2018-07-18 19:56:25 · 57085 阅读 · 1 评论 -
pytorch 模型不同层设置不同的学习率
在目标检测的模型训练中, 我们通常都会有一个特征提取网络backbone, 例如YOLO使用的darknet SSD使用的VGG-16。为了达到比较好的训练效果, 往往会加载预训练的backbone模型参数, 然后在此基础上训练检测网络, 并对backbone进行微调, 这时候就需要为backbone设置一个较小的lr。class net(torch.nn.Module): ...原创 2018-07-13 09:16:48 · 7679 阅读 · 2 评论