小知识点
qq_30468133
这个作者很懒,什么都没留下…
展开
-
hash
Python 调用内部的散列函数,将键(Key)作为参数进行转换,得到一个唯一的地址(这也就解释了为什么给相同的键赋值会直接覆盖的原因,因为相同的键转换后的地址是一样滴),然后将值(Value)存放到该地址中。解决冲突这些后续再看...原创 2020-07-17 10:03:44 · 221 阅读 · 0 评论 -
python 装饰器 限制函数的最长运行时间,适用于爬虫超时
'''https://blog.csdn.net/dcrmg/article/details/82850457'''# coding=utf-8import signalimport timedef set_timeout(num, callback): def wrap(func): def handle(signum, frame): # 收到...原创 2019-12-19 09:51:20 · 529 阅读 · 0 评论 -
dict.get(key, default=None)
dict.get(key, default=None)Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值。原创 2019-04-09 13:31:54 · 360 阅读 · 0 评论 -
print(np.array([[1,2]*3]*2))
print(np.array([[1,2]*3]*2))[[1 2 1 2 1 2] [1 2 1 2 1 2]]原创 2019-02-27 10:16:27 · 1491 阅读 · 0 评论 -
eye()以及取一个矩阵相应的某几个维度
import numpy as npeye=np.eye(5)print("eye:\n",eye)print("index:\n",eye[[1,0,2]])取一个矩阵的相应维度时,可用matic[[i,j,k]],注意是两个中括号输出:eye: [[1. 0. 0. 0. 0.] [0. 1. 0. 0. 0.] [0. 0. 1. 0. 0.] [...原创 2019-03-02 16:44:33 · 536 阅读 · 0 评论 -
RuntimeError: dimension specified as 0 but tensor has no dimensions
错误代码:print( torch.tensor(3.1416).size(0))解决方法:前面加一个[]扩起来就有size了print( torch.tensor([3.1416]).size(0)) 1原创 2019-02-19 17:04:18 · 4857 阅读 · 1 评论 -
pytorch nn.Conv2d()中的padding以及输出大小
conv1=nn.Conv2d(1,2,kernel_size=3,padding=1)conv2=nn.Conv2d(1,2,kernel_size=3)inputs=torch.Tensor([[[[1,2,3], [4,5,6], [7,8,9]]]])print("input size...原创 2019-02-19 15:24:53 · 10011 阅读 · 0 评论 -
小技巧:X[:, 1]与X[:,[1]]
X[:, 1]与X[:,[1]]的区别import numpy as npX = np.array([[0, 1], [2, 3], [4, 5], [6, 7], [8, 9], [10, 11], [12, 13], [14, 15], [16, 17], [18, 19]])print(X.shape)print(X[:, 1])print(X[:,[1]])输出:...原创 2019-02-18 21:39:33 · 234 阅读 · 0 评论 -
TypeError: 'float' object is not callable
报错语句:loss=loss(x_val,y_val)造成这个问题的原因是loss已经是一个函数,但是又被我定义为变量,所以导致了这个问题原创 2019-02-18 17:52:00 · 1374 阅读 · 0 评论 -
seq2seq中的beam search算法过程
首先说明在sequence2sequence模型中,beam search的方法只用在测试的情况,因为在训练过程中,每一个decoder的输出是有正确答案的,也就不需要beam search去加大输出的准确率。假设现在我们用机器翻译作为例子来说明。我们的任务是翻译中文“我是中国人”--->英文“I am Chinese”假设我们的词表大小只有三个单词就是I am Chinese。...原创 2019-02-22 23:13:25 · 870 阅读 · 0 评论 -
torch.multinomial()
weights=torch.Tensor([0,1,100,0])print(torch.multinomial(weights,2))输出:tensor([2, 1])对weights这个数组进行n次采样,采样的权重也是weights,所以2,1的概率比1,2的概率大很多,多试几次返回的是下标weights = torch.Tensor([0, 10, 3, 0]) # c...原创 2019-02-22 22:12:54 · 2625 阅读 · 1 评论 -
print(a[0::2]) print(a[::2]) print(a[::-1])
这个是python的slice notation的特殊用法。a = [0,1,2,3,4,5,6,7,8,9]b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象b = a[1:3] 那么,b的内容是 [1,2]当i缺省时,默认为0,即 a[:3]相当于 a[0:3]当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]当i,j都缺省时,a...原创 2019-03-03 15:35:27 · 9907 阅读 · 3 评论 -
pytorch a.equal(b) 与a.eq(b)
a,b是两个列表a.equal(b)要求整个列表完全相同才是Truea.eq(b) 相同位置值相同则返回对应的True,返回的是一个列表原创 2019-03-19 17:18:19 · 4163 阅读 · 0 评论 -
Linux 命令
cd ~/ ~表示你的用户主目录cd / 加上斜杠表示进入到根目录cd - 返回进入此目录之前的目录cd ../ 返回上一级目录cd ../.. 返回上两级目录CUDA_VISIBLE_DEVICES = 1 main.pypip 使用清华源 pip install jeiba -i https://...原创 2019-04-08 16:48:04 · 127 阅读 · 0 评论 -
Ubuntu16.04下安装显卡驱动记录
Ubuntu16.04下安装显卡驱动记录 - lllittletree - 博客园 https://www.cnblogs.com/myblog1993/p/9284071.html安装环境及硬件信息Ubuntu16.04 LTS 内核版本:4.4.0 显卡:Nvidia GeForce GTX 1060安装过程一、首先要下载好显卡驱动程序,官方网址:http://www...转载 2019-09-21 17:40:39 · 260 阅读 · 0 评论 -
python 多线程报错An attempt has been made to start a new process before the current process has finished
报错信息:An attempt has been made to start a new process before the current process has finished its原因:多进程需要在main函数中运行,解决方法1:加main函数,在main中调用解决方法2:num_workers改为0,单进程加载...原创 2019-08-16 16:34:43 · 3570 阅读 · 0 评论 -
jsonlines库 .jsonl文件
import jsonlines#写文件,使用jsonlines.open()a={1:"a",2:"b"}b={3:"c",4:"d"}file=jsonlines.open("test.jsonl","w")jsonlines.Writer.write(file,a) # 每行写入一个dictjsonlines.Writer.write(file,b)file.close(...原创 2019-04-19 15:45:36 · 4446 阅读 · 0 评论 -
python 中的 @classmethod
官方的说法:classmethod(function)中文说明:classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实例方法,使用方法如下:class C: @classmethod def f(cls, arg1, arg2, ...): ...看后之后真是一头雾水。说的啥子东西呢???自己到国外的论坛看其他的例子和...原创 2019-04-27 15:58:43 · 201 阅读 · 0 评论 -
pycharm远程连接服务器调试-tensorflow无法加载问题,或者说是选择的cuda版本不对的问题
最近打算在win系统下使用pycharm开发程序,并远程连接服务器调试程序,其中在import tensorflow时报错如图所示(在远程服务器中执行程序正常):直观错误为:ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directoryFailed to load th...原创 2019-04-27 11:26:09 · 1192 阅读 · 2 评论 -
TensorFlow不同版本与cuda版本之间的对应关系
https://www.tensorflow.org/install/source#common_installation_problems在这个链接中可以找到对于本人而言,安装的TensorFlow是1.13.0版本,所以需要在10.0的cuda环境下才能运行起来,其他cuda版本运行会报错。切换cuda版本的方式见我的另一篇博客https://blog.csdn.net/qq_...原创 2019-04-15 16:13:48 · 44298 阅读 · 9 评论 -
switch-cuda cuda不同版本之间的切换
https://github.com/phohenecker/switch-cuda原创 2019-04-15 15:49:23 · 7430 阅读 · 0 评论 -
stack()函数
a=torch.Tensor(range(1,7)).view(2,3)b=torch.Tensor(range(7,13)).view(2,3)c=torch.Tensor(range(13,19)).view(2,3)d=torch.stack((a,b,c),dim=0)print(a)print(b)print(c)print(d)########## dim=0te...原创 2019-04-13 17:34:43 · 3826 阅读 · 0 评论 -
RuntimeError: An attempt has been made to start a new process before the current pr
pytorch 加载数据时报错:RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phase. This probably means that you ...原创 2019-02-22 20:20:35 · 400 阅读 · 0 评论 -
Python3对字典操作时遇到错误:dictionary changed size during iteration
大概是说字典在遍历时不能进行修改,建议转成列表或集合处理。a={'a':1, 'b':0, 'c':1, 'd':0}for key in a.keys(): del a[key] 解决办法:将遍历条件改为列表 a={'a':1, 'b':0, 'c':1, 'd':0}for key in list(a.keys()): del a[key] ...原创 2019-02-22 13:59:29 · 273 阅读 · 0 评论 -
python 字典修改键(key)的方法
注意:python中字典的键是不能直接修改,因为键是hash。间接修改键的key值方法第一种(推荐):dict={'a':1, 'b':2} dict["c"] = dict.pop("a")第二种方法:dict={'a':1, 'b':2} dict.update({'c':dict.pop("a")})第三种方法:dict={'a':1, 'b':...原创 2019-02-22 13:56:27 · 3400 阅读 · 0 评论 -
softmax的实现,使用 numpy
实现了一维和二维矩阵的softmaximport numpy as npdef softmax(x): orig_shape=x.shape print("orig_shape",orig_shape) if len(x.shape)>1: #矩阵 tmp=np.max(x,axis=1) x-=tmp...原创 2018-12-11 14:22:06 · 5118 阅读 · 0 评论 -
pytorch 模型的保存和加载
# 保存和加载整个模型torch.save(model_object, 'model.pkl')model = torch.load('model.pkl')# 仅保存和加载模型参数(推荐使用)torch.save(model_object.state_dict(), 'params.pkl')model_object.load_state_dict(torch.load('par...原创 2018-12-27 15:10:25 · 368 阅读 · 0 评论 -
python 中的 in is ==注意事项
在python中往往使用来判断子元素是否在另一个元素中,值得注意的是,in 的规则是根据后面元素来定的如果是"a" in "ab"则为真"a" in ["ab","c"] 则为假前者在字符串中查找,后者在列表中查找而不是在列表里的字符串中查找注意 is是完全相等才为真is 与==号也是有区别的is是完全相同,包括对象,类型==是value相同详情见https://...原创 2018-12-10 21:23:51 · 769 阅读 · 0 评论 -
将dict的keys转换为list
在python3中使用dict.keys()返回的不在是list类型了,而是dict_keys类型,也不支持索引,我们可以看一下下面这张图片解决办法就是使用list()函数,即list(dict.keys()) ...原创 2018-12-10 21:02:56 · 3419 阅读 · 0 评论 -
tmux指南
https://wdxtub.com/2016/03/30/tmux-guide/原创 2018-12-20 21:31:45 · 112 阅读 · 0 评论 -
python进度条显示
for step,batch in enumerate(tqdm(train_dataloader,desc="Iteration")): XXXIteration: 100%|██████████| 4/4 [03:25<00:00, 46.83s/it]Epoch: 100%|██████████| 3/3 [09:33<00:00, 191.19s/it] ...原创 2018-12-26 15:17:16 · 826 阅读 · 0 评论 -
conda在指定目录下创建虚拟环境
https://www.cnblogs.com/youyouzaLearn/p/8277444.html原创 2018-12-20 18:50:27 · 13553 阅读 · 1 评论 -
append()
dict在使用append()函数的时候必须是原本的dict中有相应的key,不然只能用dict[key]=XXX,即原先的dict中有这个key,才能对这个key进行append,理解为append是针对list的就对了错误:test_dict={}a="a"b="b"for i in range(2): test_dict["x"].append(a)print(te...原创 2018-12-13 22:42:53 · 263 阅读 · 0 评论 -
读取第一个dict
d = {"a":1,"b":2,"c":3,"d":4}k = d.keys()[0]print k, d[k]原创 2018-12-06 10:21:25 · 1558 阅读 · 0 评论 -
python函数传递参数方式,值传递 or 引用传递
首先说说Python中参数传递的问题,Python中有可变对象(比如列表List)和不可变对象(比如字符串),在参数传递时分为两种情况:对于不可变对象作为函数参数,相当于C系语言的值传递; 对于可变对象作为函数参数,相当于C系语言的引用传递。我们可以分析下楼主的代码,参数为不可变对象:def add(num): num = num + 10d = 2add(d)prin...原创 2018-12-11 14:57:15 · 404 阅读 · 0 评论 -
x0=argmax(f(x))
假设f(x)是一个函数,那么x0=argmax(f(x))的意思就是参数x0满足f(x0)为f(x)的最大值,即 argmax(f(x))是使得f(x)取得最大值所对应的变量x,arg即argument,意为“自变量”...原创 2018-12-11 21:27:49 · 259 阅读 · 1 评论 -
拉格朗日乘子法
https://baike.baidu.com/item/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E4%B9%98%E5%AD%90%E6%B3%95原创 2018-12-24 10:35:11 · 96 阅读 · 0 评论 -
numpy 数组维度,形状,大小
import numpy as nparray = np.array([ [1, 2, 3], [4, 5, 6]])print(array)print('number of dim:',array.ndim)print('shape:', array.shape)print('size:', array.size)结果 [[1 2 3] [4 5 ...原创 2019-01-17 21:56:18 · 1364 阅读 · 0 评论 -
convert a list of tensor into a array 为了后续操作方便
import torchimport numpy as npt1=torch.tensor([1,2])t2=torch.tensor([3,4])t3=torch.tensor([5,6])list_test=[t1,t2,t3] #a list of tensorall_list=list_testtemp=[t.numpy() for t in all_list] # co...原创 2019-01-17 21:29:16 · 230 阅读 · 0 评论 -
pytorch 中的Variable
tensor是PyTorch中的完美组件,但是构建神经网络还远远不够,我们需要能够构建计算图的tensor,这就是Variable。Variable是对tensor的封装,操作和tensor是一样的,但是每个Variable都有三个属性,Variable中的tensor本身.data,对应tensor的梯度.grad以及这个Variable是通过说明方式得到的.grad_fn # 通...原创 2019-01-04 15:26:33 · 344 阅读 · 0 评论