python
sunrise_ccx
生活是多么芬芳
展开
-
使用opencv+python 画出attention map
简单使用opencv+python画出attention map可视化图原创 2018-11-29 23:06:22 · 5097 阅读 · 1 评论 -
中文文本的常见编码方式
中文文本文件的常见编码方式及python读取方法原创 2022-11-19 21:09:28 · 762 阅读 · 0 评论 -
CTC方法推理阶段对未对齐字符串的快速解码代码
import res = '-h--ee---l--ll--o--'p = re.compile(r"([0-9a-zA-Z])(\1+)")out_s = re.sub('-', '', p.sub(r'\1', s)) # 'hello'原创 2020-11-18 19:53:40 · 234 阅读 · 0 评论 -
python json读写常规操作
import json# Writewith open(file_name, 'w', encoding='utf-8') as f: json.dump(var_to_be_saved, f, ensure_ascii=False) # 最后一个参数主要针对汉字# Readwith open(file_name, 'r', encoding='utf-8') as f:...原创 2019-11-29 15:08:05 · 286 阅读 · 0 评论 -
python分割字符串为列表
利用了re模块。例子:只去除句子中的空格;保留标点符号,并且与单词分开。In [44]: s = re.split('([,.])', "apple a day, keep dr away.") # 注意第一项参数有()In [45]: sOut[45]: ['apple a day', ',', ' keep dr away', '.', '']In [46]: x = [...原创 2019-06-23 23:44:59 · 7218 阅读 · 0 评论 -
pytorch MSELoss计算平均的方法
给定损失函数的输入y,pred,shape均为bxc。若设定loss_fn = torch.nn.MSELoss(reduction='mean'),最终的输出值其实是(y - pred)每个元素数字的平方之和除以(bxc),也就是在batch和特征维度上都取了平均。如果只想在batch上做平均,可以这样写:loss_fn = torch.nn.MSELoss(reduction='...原创 2019-07-16 13:46:40 · 7756 阅读 · 0 评论 -
使用torch.gather选择tensor某一维度指定的元素
使用torch.gather选择tensor某一维度指定的元素问题简化实现torch.gather用法TIPS问题简化PyTorch中,对于某个二维tensor,要求取出其每一行的指定元素,组成新的tensor。例如,对于A = torch.tensor([[1,2,3],[4,5,6],[7,8,9]])# tensor([[1, 2, 3], [4, 5, 6],...原创 2019-07-18 16:24:09 · 13572 阅读 · 0 评论 -
itertools
python迭代器工具itertools,用起来很方便!官网说的很详细了:https://docs.python.org/3/library/itertools.html在序列建模准备数据的时候,为了在一个batch里面可以包含不同长度的序列,一般需要对较短序列加padding。常用到itertools.zip_longest。torch.tensor(list(itertool...转载 2019-07-22 15:18:35 · 144 阅读 · 0 评论 -
pytorch将tensor指定维度的指定数值都移到后面
例如,将矩阵每一行的0都甩到最后面。代码的第一行和最后一行表示输入和想要的输出。x = torch.tensor([[2,3,0,2,1,0,6,],[0,0,3,9,0,1,0]])# [[2, 3, 0, 2, 1, 0, 6],# [0, 0, 3, 9, 0, 1, 0]]x_01 = (x == 0)# [[0, 0, 1, 0, 0, 1, 0],# [1, 1, ...原创 2019-08-08 17:21:08 · 2242 阅读 · 0 评论 -
pip install 使用国内清华镜像源
本文分别从windows和linux两个方面给出方法。1. Windows在'C:\Users\<usename>' 目录下新建目录 'pip',再进入此 'pip' 目录,添加 'pip.ini' 文件,文件内容为:[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple重新打开cmd。Done!...原创 2019-05-07 10:56:01 · 6897 阅读 · 1 评论 -
PyTorch BiLSTM参数及packed形式的输出的组成
先回忆一下LSTM,直接上pytorch官网的公式截图:它可以处理变长序列,每个rnn cell参数是一样的,共享,就是上面列出的那些W..。这里需要说明的是,PyTorch里面将W_{i*}统一放到了'weight_ih_l0'变量,将W_{h*}统一放到了'weight_hh_l0'变量。BiLSTM包含一个从左到右和一个从右到左的并列的的序列计算。需要注意的是,两个方向使用...原创 2019-04-22 23:40:50 · 4520 阅读 · 6 评论 -
python lmdb读写
直接上代码。import lmdbdef create(): env = lmdb.open('/home/dataset/ReCTS/tmp_lmdb', map_size=1099511627776) txn = env.begin(write=True) txn.put('a'.encode(), 'q'.encode()) # 写入 txn....原创 2019-03-23 19:15:34 · 1368 阅读 · 2 评论 -
python画混淆矩阵
对于分类问题,为了直观表示各类别分类的准确性,一般使用混淆矩阵M.混淆矩阵M的每一行代表每个真实类(GT),每一列表示预测的类。即:Mij表示GroundTruth类别为i的所有数据中被预测为类别j的数目。这里给出两种方法画混淆矩阵。方法一:这里采用画图像的办法,绘制混淆矩阵的表示图。颜色越深,值越大。# -*- coding: utf-8 -*-# By Changxu C...原创 2018-05-24 14:21:35 · 19364 阅读 · 13 评论 -
pytorch 0.4.0(一):基本tensor运算
pytorch的0.4.0版本相对0.3.0做了一些改进,总体上使用更加方便。不加初始化地构建矩阵,使用torch.empty(row, column).随机初始化矩阵,使用torch.rand(row, column).可以和numpy中定义一些矩阵一样,如x = torch.zeros(5, 3, dtype=torch.float)x = torch.tensor([5.5, 3]) #构...翻译 2018-05-30 21:22:21 · 19323 阅读 · 0 评论 -
python保存变量到文件
有些变量经过很久计算才得到,希望下次直接使用,这时候可以保存到文件,下次就可以拿来用了。(来自知乎)转载 2018-08-27 15:40:38 · 7693 阅读 · 0 评论 -
PyTorch保存中间变量的导数值
在利用autograd机制时,一般只会保存函数值对输入的导数值,而中间变量的导数值都没有保留。例如:x=torch.tensor(3., requires_grad=True)x1=x**2y=4*x1y.backward()查看导数值:x.grad # 输出24x1.grad # 没有输出这时候可以利用register_hook方法进行操作,它需要一...原创 2018-12-02 22:10:06 · 6304 阅读 · 0 评论 -
python用分隔符分隔字符串
输入字符串:word_12313.png,Latin,L'ESPACE,希望获得:img_name='word_12313.png', script='Latin', content="L'ESPACE,"。注意content中可能也含有分隔符','!a = "word_12313.png,Latin,L'ESPACE,"al = a.strip().split(',') # [...原创 2018-12-01 21:43:19 · 6128 阅读 · 0 评论 -
在字符串指定字符位置处插入新字符
有时候生成txt文件,会一不小心忘了加换行,导致所有item都在一行,但希望每个item在独立地一行。每个item的字符串都是满足一定的特点的,因而可以通过插入'\n'的方法作修改。比如,有一文件“1.txt”的内容是“word_1.png,Latinword_2.png,Latinword_3.png,Latinword_4.png,Latinword_5.png,Latin”,只有一行。那...原创 2018-12-04 01:34:02 · 1824 阅读 · 0 评论 -
python-opencv 对图像使用旋转、一般仿射变换和透视变换
https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_geometric_transformations/py_geometric_transformations.html#geometric-transformations转载 2019-01-14 15:24:19 · 658 阅读 · 0 评论 -
torch.backends.cudnn.benchmark = true 使用情形
https://www.pytorchtutorial.com/when-should-we-set-cudnn-benchmark-to-true/设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题。应该遵循以下准则:如果网络的输入数据维度或类型上变化不大,设置 torch.backends.cudnn...转载 2019-02-17 16:46:52 · 4072 阅读 · 2 评论 -
利用python函数的递归调用实现列举出从n个列表元素取出k个元素的所有组合情况
有时候,我们需要列举出所有的元素组合情况。比如从n个元素选取k个出来组合,根据数学知识可知总共组合数为Cnk。那么具体组合情况如何呢?代码实现的基本思想就是,先选取一个元素出来,接下来任务就相当于是对后面的元素选取k-1个出来组合。这样就形成了递归调用!附代码:# -*- coding: utf-8 -*-def Combinations(L, k): """List all comb...原创 2018-04-12 09:47:51 · 9920 阅读 · 4 评论