七月流火

不积跬步,无已至千里; 不积小流,无以成江海。

0%

人生亦有命,安能行叹复坐愁? —— 拟行路难·其四

目前只做字节跳动、腾讯的算法和后端的高频leetcode算法题。

阅读全文 »

linux与nvidia显卡相关命令

  • 查看linux系统信息 uname -m && cat /etc/*release
  • 查看linux的kernel版本 uname -r
  • 查看nvidia显卡版本 lspci | grep -i nvidia
  • 查看nvidia显卡驱动版本 cat /proc/driver/nvidia/version 或者 nvidia-smi
  • 查看可用的显卡驱动 ubuntu-drivers devices
  • 安装推荐的显卡驱动 sudo ubuntu-drivers autoinstall # //安装推荐的显卡驱动
  • 安装指定的显卡驱动 sudo apt install nvidia-XXX #//安装制定的显卡驱动
  • 卸载显卡驱动 sudo /usr/bin/nvidia-uninstall或者sudo apt-get install autoremove --purge nvidia*

注:笔者阅读的pytorch版本为1.7.0,torchvision版本为0.6

前言

本文主要通过Pytorch中的源码来总结了深度学习中几种常用的优化器,介绍其设计原理,优缺点等。

对于最优化问题,采用深度学习进行建模,大家基本是用梯度下降 (Gradient Descent) 的方法去更新模型的参数,使通过损失函数计算出在验证集上的损失不断减小,达到优化模型的目的。为了解决梯度下降存在的一些问题,达到较优的结果,提出了SGD、Momentum、AdaGrad、RMSProp、Adam等优化器(Optimizer),以及更先进的一些算法,但基本的框架其实还是梯度下降,所以先熟悉基本框架,再在框架的基础上加一些东西,这样比较便于理解整个发展过程。

阅读全文 »