Jpy5

Results 18 comments of Jpy5

好滴~您先忙,我肯定先自己看着啦

您好~ 我在进行一项有这1000多个label的文本分类任务,在这个特定任务上,对代码做了点修改,解决了一些可能存在的问题~想和您分享一下,哈哈 1. 我在使用smart时,在如下代码中,由于我的类别数特别多,可能会导致tf.log()内的值可能非常接近于0或者等于0,从而使得在求log以后,该值为负无穷,导致了loss为无穷值,从而在后面计算梯度的时候,梯度值为NAN,出现梯度爆炸的情况,loss也会一直为NAN; ``` per_example_loss = tf.reduce_sum( probs_breg * (tf.log(probs_breg) - tf.log(probs)), axis=-1) per_example_loss_breg = tf.reduce_sum( probs * (tf.log(probs) - tf.log(probs_breg)), axis=-1) ``` 以及 ``` per_example_loss = tf.reduce_sum( probs_prtb...

在验证的时候是有把dropout_rate设为0的,那看来就是底层可能有不一样的实现,谢谢您的解答啦~

> > 在验证的时候是有把dropout_rate设为0的,那看来就是底层可能有不一样的实现,谢谢您的解答啦~ > > tensorflow源码我没怎么读,过去以研究上层网络为主,不能解决你的问题很抱歉哈 哈哈没事没事,能够大致知道问题出在哪也就很有收获啦

> > 您好~ > > 我在进行一项有这1000多个label的文本分类任务,在这个特定任务上,对代码做了点修改,解决了一些可能存在的问题~想和您分享一下,哈哈 > > > > 1. 我在使用smart时,在如下代码中,由于我的类别数特别多,可能会导致tf.log()内的值可能非常接近于0或者等于0,从而使得在求log以后,该值为负无穷,导致了loss为无穷值,从而在后面计算梯度的时候,梯度值为NAN,出现梯度爆炸的情况,loss也会一直为NAN; > > > > ``` > > per_example_loss = tf.reduce_sum( > > probs_breg * (tf.log(probs_breg) - tf.log(probs)), axis=-1)...

> > 您好~ > > 我在进行一项有这1000多个label的文本分类任务,在这个特定任务上,对代码做了点修改,解决了一些可能存在的问题~想和您分享一下,哈哈 > > > > 1. 我在使用smart时,在如下代码中,由于我的类别数特别多,可能会导致tf.log()内的值可能非常接近于0或者等于0,从而使得在求log以后,该值为负无穷,导致了loss为无穷值,从而在后面计算梯度的时候,梯度值为NAN,出现梯度爆炸的情况,loss也会一直为NAN; > > > > ``` > > per_example_loss = tf.reduce_sum( > > probs_breg * (tf.log(probs_breg) - tf.log(probs)), axis=-1)...

完美解答了我的疑惑! 修改代码后我也成功运行了,代码逻辑很清晰,感觉是没问题的,感谢! 祝您假期愉快~

属于transformers版本问题,安装一个较低版本的即可解决,如下 pip install transformers==2.1.1