机器学习-Pytorch基础

  1. Numpy和Pytorch可以相互转换,前者CPU上,后者GPU上,都是对矩阵进行运算,Pytorch的基本单位是张量。
  2. torch 可以初始化全为0、全为1、符合正态分布的矩阵
  3. 确定性初始化
  • torch.tensor()
  • torch.arrange()
  • torch.linspace()
  • torch.logspace()
  • ones/zeros/eye/full
  1. 随机性初始化
  • torch.Tensor()
  • torch.rand()
  • torch.rand_like()
  • torch.randint()
  • torch.randn()
  1. 直接点×关闭jupyter不正确,应该再启动一个命令行,进入打开jupyter的环境,打jupyter notebook stop
  2. torch可以和python列表一样切片
  3. 神经网络输入一维,图片是三维,所以需要维度变换,view()和reshape()都可以维度变换,后者鲁棒性更强。reshape可以多层嵌套,前者不行。化成一维可以偷懒,用-1。
  4. 增加新的维度:unsqueeze(),增加一个括号
  5. 维度缩减:squeeze()维度值为1才能删,因为维度值大于1删除会丢数据,减少个括号。
  6. 维度扩展:expand(),repeat()
  7. 维度调整:transpose(),permute()前者只能调两个维度,后者可以调整多个维度。某个算法可能只能用最后一个维度,所以需要进行维度的调整,如transformer()
  8. 广播机制:相当于先进行了unsqueeze再进行expand。小维度向大维度进行广播时,得先匹配,得先小维度和大维度相同或者小维度为1才能进行广播。
  9. 根据文档进行编程的思想!不用背API,知道这个函数的功能是什么,用到的时候去查文档。
  10. 数学能力是科研能力的上限,如果是工作的话数学要求没那么高。
  11. 张量的拼接 cat()和stack(),前者只能是需要拼接的维度不同,其他得相同;后者所有维度都必须相同。
  12. 张量的拆分split()和chunk(),前者是按间隔拆分,后者是按数量拆分
  13. 取整floor(),ceil(),round()
  14. 裁数trunc(),frac()
  15. 计算mean,max,sum,prod,min
  16. a.argmax(),a.argmin()最大值索引和最小值索引
  17. eq(),equal()前者更精细,每个位置比对,后者是整体比对。

博客1
博客2
博客3

文档1

你可能感兴趣的:(机器学习,机器学习,pytorch,人工智能)