tensorflow+pytorch
文章平均质量分 62
用来记录tf和torch中的API和学习到的知识点
xhsun1997
这个作者很懒,什么都没留下…
展开
-
transformers的AutoTokenizer和BertTokenizer
也就是说AutoTokenizer是又一层的封装,避免了自己写attention_mask以及token_type_ids原创 2021-06-25 14:15:44 · 10327 阅读 · 0 评论 -
解读(Solving Math Word Problems with Multi-Encoders and Multi-DEcoders)的代码(模型部分)
数据处理数据处理部分见数据处理部分我们已经知道,prepare_train_batch函数返回14个变量每一个变量都是一个列表,有batch个元素id_batches[i]代表的是第i个batch中batch个问题的idinput1_batches[i]代表的是第i个batch中的batch个问题,每一个问题文本的id序列,根据这些id就可以查找对应的词向量input2_batches[i]代表的是第i个batch中的batch个问题,每一个问题文本对应的词性标注的id序列,因为要将每一个单词原创 2021-02-22 20:56:20 · 801 阅读 · 0 评论 -
pytorch中的NLLLoss和CrossEntropyLoss
NLLLossNLLLoss就是负对数似然(negative log likelihood loss)计算公式:nllloss=−∑n=1Nynlogprob(xn)nllloss=-\sum_{n=1}^{N}y_n\log prob(x_n)nllloss=−n=1∑Nynlogprob(xn)举个例子就是:x=[0.1,0.2,-0.7]y=[0,1,0]计算过程就是:对x进行softmax转换成概率,然后对每一个值取log,再乘以标签-log(softmax(x))*y原创 2021-01-28 10:48:30 · 742 阅读 · 0 评论 -
IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)
我遇到这种情况是在使用CrossEntroyLoss()出现的计算loss时有input和target两个张量input的形状是(batch_size,num_classes)target的形状是(batch_size,)这里target里面的每一个值必须是[0,num_classes-1]出现上述的错误原因很可能是你的target中的值取到了num_classes...原创 2020-11-09 10:14:54 · 6558 阅读 · 2 评论 -
Pytorch中的pack_padded_sequence与pad_packed_sequence
这两个函数主要是用在RNN中处理变长序列的我们来看下面的例子:import torchinputs=torch.LongTensor([[1,2,0,0],[7,5,4,0],[9,0,0,0],[2,5,8,7]])inputs_length=torch.LongTensor([2,3,1,4])其中inputs是我们假设的输入数据,值是0的位置代表该位置是pad的。inputs_length是输入数据的实际长度。相当于说我们输入了4个句子,第一个句子长度为2,第二个句子长度为3,第三个句子原创 2020-11-06 08:54:40 · 964 阅读 · 0 评论 -
torch.nn.LSTM()详解
输入的参数列表包括:input_size 输入数据的特征维数,通常就是embedding_dim(词向量的维度)hidden_size LSTM中隐层的维度num_layers 循环神经网络的层数bias 用不用偏置,default=Truebatch_first 这个要注意,通常我们输入的数据shape=(batch_size,seq_length,embedding_dim),而...原创 2020-02-23 11:43:53 · 85197 阅读 · 18 评论 -
python时间戳和时间字符串的各种转换
时间转时间戳import timestr_time="2010--03--24 20:47:31"timeStamp=int(time.mktime(time.strptime(str_time,"%Y--%m--%d %H:%M:%S")))print(timeStamp)结果是1269434851时间戳转时间字符串timeStamp=1269434851str_time=time.strftime("%Y--%m--%d %H:%M:%S", time.localtime(timeSt原创 2020-10-07 19:18:02 · 1030 阅读 · 0 评论 -
pytorch以及transformers各种问题总结中
RuntimeError: cuda runtime error (38) : no CUDA-capable device is detected at /pytorch/aten/src/THC/THCGeneral.cpp:50将os.environ[‘CUDA_VISIBLE_DEVICES’]赋值为’0’os.environ['CUDA_VISIBLE_DEVICES']='0'RuntimeError: Expected object of device type cuda but go原创 2020-10-06 11:26:31 · 6005 阅读 · 0 评论 -
tf1.x到tf2.x转换的各种API问题以及各种报错问题(持续总结)
AttributeError: ‘module’ object has no attribute ‘FixedLenFeature’在tf2.x中已经变为tf.io.FixedLenFeature原创 2020-10-05 10:46:15 · 2255 阅读 · 0 评论