![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
FB1024
这个作者很懒,什么都没留下…
展开
-
ONNX 加速模型推理
1.安装onnxpip install onnx onnxruntime2. 加载模型并转存模型为onnx格式,并测试使用实例为sentence-transformers预训练模型计算相似度class Test(object): def init(self): # 加载预训练模型 self.tokenizer = AutoTokenizer.from_pretrained("../all-MiniLM-L6-v2") self..原创 2022-03-14 09:22:37 · 2305 阅读 · 5 评论 -
神经网络激活函数
1.SigmoidSigmoid散活函数是将一个实数输入转化至 0 ~ 1 之间的输出, 具体来说也就是将越大的负数转化到越靠近 0 ,越大的正数转化到越靠近1。多用于二分类。缺点:1).Sigmoid 函数会造成梯度消失。一个非常不好的特点就是 Sigmoid 函数在靠近1和0 的两端时,梯度会几乎变成 0,会导致无法更新参数, 即梯度消失。 2). Sigm...原创 2019-10-25 15:13:36 · 308 阅读 · 0 评论 -
神经网络训练时,出现NaN loss
1、梯度爆炸原因:在学习过程中,梯度变得非常大,使得学习的过程偏离了正常的轨迹症状:观察输出日志(runtime log)中每次迭代的loss值,你会发现loss随着迭代有明显的增长,最后因为loss值太大以至于不能用浮点数去表示,所以变成了NaN。可采取的方法:1.降低学习率,比如solver.prototxt中的base_lr,降低一个数量级(至少)。如果在你的模型中有多个loss...转载 2019-10-25 15:25:25 · 1249 阅读 · 0 评论 -
深度学习常见优化算法
1.梯度下降 神经网络最基本的算法是反向传播算法加上梯度下降算法。通过梯度下降算法使得网络参数不断收敛到全局(或局部)的最小值,但是由于神经网络层数太多,需要通过反向传播算法把误差一层一层地从输出传到输入,逐渐地更新网络参数。由于梯度方向是函数值变大的最快的方向,因此负梯度方向则是函数值变小的最快的方向。沿着负梯度方向一步一步迭代,便能快速收敛到函数最小值。这就是梯度下降法的基本思路...原创 2019-10-24 20:50:06 · 516 阅读 · 0 评论