
学习笔记
Jeanshoe
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
学习笔记
2020-11-15:在运行TRADE代码过程中可能出现:RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED 解决方案,不是在训练刚开始时遇到,而是训练了若干个epoch之后,出现上述错误。通过torch.backends.cudnn.enabled = False不使用cudnn加速...原创 2020-11-15 17:46:39 · 260 阅读 · 1 评论 -
Pytorch中的backward以及optimize
loss.backward():计算loss对于模型中各个requires_grad=True的参数的梯度值optimizer.step():根据计算得到的梯度值,更新模型中的参数只有loss.backward之后,参数的grad才有值,否则为None;optimizer.zero_grad() :将模型中所有参数的梯度值清零...原创 2020-11-15 17:44:02 · 667 阅读 · 0 评论 -
RuntimeError: cuda runtime error (59) : device-side assert triggered
在跑SOM-DST模型的时候,出现了以下错误:1 block: [0,0,0], thread: [16,0,0] Assertion t >= 0 && t < n_classes failed.2 RuntimeError: cuda runtime error (59) : device-side assert triggered解决方法:每次运行时删除上次运行生成的__pycache__文件。...原创 2020-10-21 15:23:47 · 407 阅读 · 0 评论 -
训练网络交叉熵loss突然出现nan的情况
尝试在MNIST上跑AlexNet,然而发现loss一直下降的时候,在某一时刻突然出现了nan。在tensorboard上显示如下:可以看到在最后面的accuarcy突然下降。一开始百思不得其解,原因其实在于交叉熵中的 y_truth * log(y_predict)log(0) * 0的时候, 则会出现NaN,一旦出现这个情况,网络训练结果必然完蛋解决办法其实也很简单:在交叉熵的公式中加入一个比较小的数: ...转载 2020-10-05 13:45:40 · 1885 阅读 · 1 评论 -
Transformer学习记录
1. 模型结构模型结构如下图:和大多数seq2seq模型一样,transformer的结构也是由encoder和decoder组成。1.1 EncoderEncoder由N=6个相同的layer组成,layer指的就是上图左侧的单元,最左边有个“Nx”,这里是x6个。每个Layer由两个sub-layer组成,分别是multi-head self-attention mechanism和fully connected feed-forward network。其中每个sub-layer都加了resi转载 2020-09-16 22:28:35 · 197 阅读 · 0 评论 -
StanfordCoreNLP的安装,使用及各词性表示含义
环境Installationpip install stanfordcorenlpExample# Simple usagefrom stanfordcorenlp import StanfordCoreNLPnlp = StanfordCoreNLP(r'G:\JavaLibraries\stanford-corenlp-full-2018-02-27')sentence = 'Guangdong University of Foreign Studies is located in原创 2020-08-23 14:01:27 · 487 阅读 · 0 评论 -
BERT模型的使用
BERT模型的使用BERT 的具体介绍,我就略过了,一是网上可以找到很多资料,二是我也只是刚使用了下 BERT,很多细节还不清楚,就不乱说话误导人了。老实说,最开始查资料,找相关工程时,看的头大,不知从何入手。现在总结下我认为的上手BERT的合适流程。了解 BERT 的本质。简单说,BERT 提供了更好的词向量表示,是一个加强版的 Word2Vec,我们只需要在自己的数据集上针对特定任务再进行 fine-tuning 就可以取得不错的效果。至于BERT是如何训练的,以及内部各个参数的含义,我认为可以之转载 2020-07-08 12:13:24 · 2901 阅读 · 1 评论 -
深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析
在深度学习模型训练过程中,在服务器端或者本地pc端,输入nvidia-smi来观察显卡的GPU内存占用率(Memory-Usage),显卡的GPU利用率(GPU-util),然后采用top来查看CPU的线程数(PID数)和利用率(%CPU)。往往会发现很多问题,比如,GPU内存占用率低,显卡利用率低,CPU百分比低等等。接下来仔细分析这些问题和处理办法。**GPU内存占用率问题这往往是由于模型的大小以及batch size的大小,来影响这个指标。当你发下你的GPU占用率很小的时候,比如40%,70%转载 2020-06-02 14:28:41 · 6259 阅读 · 1 评论 -
[PyTorch] rnn,lstm,gru中输入输出维度
本文中的RNN泛指LSTM,GRU等等CNN中和RNN中batchSize的默认位置是不同的。**CNN中**:batchsize的位置是position 0.**RNN中**:batchsize的位置是position 1.在RNN中输入数据格式:对于最简单的RNN,我们可以使用两种方式来调用,torch.nn.RNNCell(),它只接受序列中的单步输入,必须显式的传入隐藏状态。t...转载 2020-04-13 20:58:43 · 1049 阅读 · 0 评论 -
【pytorch】关于Embedding和GRU的使用详解
1. Embedding的使用pytorch中实现了Embedding,下面是关于Embedding的使用。torch.nn包下的Embedding,作为训练的一层,随模型训练得到适合的词向量。建立词向量层embed = torch.nn.Embedding(n_vocabulary,embedding_size)找到对应的词向量放进网络:词向量的输入应该是什么样子实际上,上面通过随...转载 2020-04-12 22:17:03 · 2176 阅读 · 0 评论 -
Pytorch nn.Embedding用法(包括加载预训练模型,加载Word2vec,加载glove)
**pytorch nn.Embedding**class torch.nn.Embedding(num_embeddings,embedding_dim,padding_idx=None,max_norm=None,norm_type=2,scale_grad_by_freq=False,sparse=False)num_embeddings (int) - 嵌入字典的大小embe...转载 2020-04-12 17:48:57 · 3016 阅读 · 1 评论 -
pytorch中gather函数的理解
函数torch.gather(input, dim, index, out=None) → Tensor沿给定轴 dim ,将输入索引张量 index 指定位置的值进行聚合.对一个 3 维张量,输出可以定义为:out[i][j][k] = input[index[i][j][k]][j][k] # if dim == 0out[i][j][k] = input[i][index[i][j...转载 2020-04-08 12:21:27 · 283 阅读 · 0 评论