美文网首页
AI直通车 day02 笔记

AI直通车 day02 笔记

作者: 撸吗撸码 | 来源:发表于2023-05-12 14:28 被阅读0次

创建一个项目

  • 新建一个文件夹即可
  • 新建一个虚拟环境
  • 查看已有的虚拟环境命令

02 搭建环境

  • anaconda —Python
  • pycharm /vscode — IDE

03虚拟环境

  • 进入anaconda安装目录-》选择anaconda prompt 就会进入专有的命令行下面的命令都是在这里面敲的
  • 查看已有的虚拟环境命令 :
conda env list
  • 查看使用的Python版本命令(我的base 环境是3.8.2):
    python -V
  • 创建虚拟环境命令:
conda create -n py310 python=3.10
  • 激活虚拟环境命令:
conda activate py310  
  • 停止某个虚拟环境
conda deactivate

04 使用虚拟环境

1.打开pycharm 窗口右下角点击Python 3.8 会弹出一个窗口,选择interpreter setting
2.再打开的新窗口选择 add interpreter,选中你自己创建的环境即可

框架Framework

  • 避免重复造轮子
  • 偏底层
    1.三剑客
    • 科学计算:numpy
    • 二维表处理: pandas
    • 数据可视化: matplotlib
  • 偏上层的框架:
    2.机器学习
    • sklearn 实现了所有机器学习算法!!!重点学习
    • 科研,学术,工业皆可
      3.深度学习
  • TensorFlow 老牌巨头,日薄西山
  • pytorch 学术新贵,日益火爆!!!重点学习
  • paddlepaddle 国内 百度,学好上面两个,就好转这个了
  • 只提供积木,本身并没有实现任何算法

05 科学计算神器**

  • numpy
  • pytorch

06 IDE选择问题

  • 传统开发 web,GUI,游戏开发,运维开发 pycharm,vscode首选,强大的提醒和补全
  • 数据科学 加载大量的数据 算法开发或调试:首选jupyter,玉皇大帝角色
  • 线上运行时:py文件
  • import torch (不是pytorch)

07 编程要领

  • 现学现卖

  • Print 一切皆可打印

  • Type 一切皆可查看类型,因为是动态语言,

  • Dir 一切皆可查看功能

  • 查看文档

  • jupyter 快键键:

  • Tab键补全

  • shift + tab 查看方法文档

  • Ctrl+ / 注释反注释

  • Ctrl + enter

  • shift+ enter

  • 代码模式 enter

  • 命令模式 esc

  • 命令模式下 M markdown Y code模式

  • 命令模式下 b 下面加一个cell,a上面加一个cell

  • dd 删除当前cell

08 pytorch 安装

官网 https://pytorch.org/get-started/locally/

注意电脑系统不同,生成的命令是不同的。

选择 stable2.0.1 OS选Mac package 选 conda language 选 python

compute platform 选default ,如果有独立显卡可以选cuda打头的

然后复制下面的代码即可

MPS acceleration is available on MacOS 12.3+

conda install pytorch::pytorch torchvision torchaudio -c pytorch

09 科学计算

  • 看得懂公式
  • 把公式变成代码
  • 矢量计算
  • 矩阵计算

10 矢量

  • 标量 scalar 单个数 维度为0

  • 向量 矢量 : vector 一串数 一维数组 维度为1

  • 矩阵 matrix 【m,n】一个面数 二维数组 维度为2

  • 张量 tensor 【N,C,H,W】 高维数组

11 易混概念

  • 向量,矢量,一维数组
  • 向量的模,向量的长度,向量的二范数
  • 向量的内积,向量的点乘积,@

12 arr = np.array([1,2,3])

  • arr **2 即可计算每个元素的平方

  • (arr**2).sum()可以对前面的数组求和

  • np.sqrt() 求开方

  • np.linalg.norm(arr) 求数组的二范数

  • ab内积 == a 的模乘以b的模 乘以cos ab的夹角,

  • Numpy下两个向量求内积方式有3种

  • a*b 之后对结果进行遍历相加

  • 直接用 a@b求

  • 直接用a.dot(b)求

  • 元素级相乘 a*b 是一个跟ab一样长的向量。

  • 向量相乘 向量点乘积 是个数 a@b

  • 求两个向量相似度

  • cosine_similarity_a_b = a@b/np.linalg.norm(a)/np.linalg.norm(b)

  • 矩阵相乘 前提条件 矩阵a如果是M行N列,矩阵b必须是N行K列。

  • 矩阵相乘的过程其实就是矩阵a每行和b每列的内积。

  • 快速的生成一个矩阵

  • 1. 用np.array(list(range(12))) 产生一个一维数组

  • 2. 再用 arr.reshape(3,4)生成一个3行4列的二维矩阵,后面的4可以写成-1,这样计算机会自己算几列。

  • 矩阵相乘: 矩阵a @ 矩阵b即可,计算前必须验证两个矩阵是否可以相乘

  • 两个矩阵的ndim方法返回值必须是2,第一个矩阵的列必须和第二矩阵的行必须相同

  • ndim 返回数组的纬度,是一个数字

  • Shape 表示各维度的大小,返回的是一个元组

  • Dtype 数组数据类型,比如 int32

  • astype astype:转换数组的数据类型。

  • int32 --> float64 完全ok

  • float64 --> int32 会将小数部分截断

  • string --> float64 如果字符串数组表示的全是数字,也可以用astype转化为数值类型

相关文章

网友评论

      本文标题:AI直通车 day02 笔记

      本文链接:https://www.haomeiwen.com/subject/xuuesdtx.html